Cluster SQL Server Express (Кластеризация SQL Server Express)

Cluster SQL Server Express

Cluster SQL Server Express не только возможен, но и уже активно работает в продуктивной среде наших заказчиков.

Недавно закончили тестирование конфигурации Cluster SQL Server Express (Кластеризация SQL Server Express) в одной из больших сетей питания. Обратите внимание, что данная конфигурация не поддерживается Microsoft и по мимо того, что необходимо будет выполнять дополнительные действия для установки,  всегда могут появиться непредвиденные ошибки. Наш заказчик готов был пойти на риск и только по этой причине мы готовы были установить данное решение.

За время тестирования и эксплуатации боев в работе решения не обнаружено, но есть особенности, которые необходимо понимать (о них я скажу немного позже).

В интернете есть несколько вариантов реализации данного решения, но ни один из них нам не показался интересным, поэтому мы их немного изменили под наши нужды.

Нам понадобится:

  1. Windows Cluster.
  2. Требуемое число серверов, которые будут нодами кластера. В нашем случае будет 2 ноды
  3. Диск/ки, которые будут отданы кластеру для обеспечения отказоустойчивости. Учите, что диски должны быть отданы всем нодам кластера, но в один и тот же момент времени такой диск может быть активен только на одной из них.
  4. Дистрибутив установки SQL Server Express.

Cluster SQL Server Express по пунктам:

  1. Как известно SQL Server Cluster устанавливается на готовый Windows Cluster, который может состоять из различного числа Node. По этой причине первым шагом будет установка Windows Cluster
  2. После установки Windows Cluster необходимо добавить в него требуемое число Node (серверов). Ни в коем случае не подключайте требуемый диск к кластеру на данном этапе. Если вы это сделаете, то stand-alone установка не даст вам установить экземпляр на данный диск.
  3. Переводим нужный диск на 1 ноде в online режим. Будем подразумевать что данный диск имеет букву E:\
  4. Теперь приступаем к установке SQL Server Express. Для этого запускаем установку stand-alone экземпляра на 1 ноде. Устанавливаем бинарные данные на диск C:\…, то есть по-умолчанию, а сам экземпляр устанавливаем на диск E:\. Предположим что имя экземпляра мы выбрали SQLEXPRESS.
  5. Так как это SQL Server Express, то изначально отключен протокол TCP\IP и не выдан порт для экземпляра, необходимо добавить эти опции. Система протестирована на порте по-умолчанию (1433)
  6. Раз мы хотим добавить зкемпляр в кластер, то параметры запуска службы должны быть установлены в значение manual, чтобы служба не могла запуститься самостоятельно (В оснастке SQL Server Configuration Manager > правая кнопка мышки на экземпляре > Properties > Service > Start mode = Manual)
  7. Проверяем что экземпляр работает исправно и выключаем его
  8. Далее переводим диск E:\ в offline на 1 ноде и в online на 2 ноде
  9. Перед установкой удаляем все системные БД с диака E:\ (master, msdb, model, tempdb), чтобы экземпляр на 2 ноде смог записать туда свои
  10. Производим stand-alone установку на 2 ноде. Обязательно указать те же пути, что и на 1 ноде (E:\) и тот же инстанс (SQLEXPRESS).
  11. Так же производим настройку TCP\IP, порта 1433 и режим запуска Manual
  12. Проверяем что после перезагрузки экземпляр доступен
  13. Отключаем экземпляр на 2 ноде, переводим диск E:\ в offline
  14. Пришла пора заняться кластером. Создаём пустую роль
  15. Добавляем к пустой роли «Cliend Access Point» (правая кнопка мышки на роли > Add Resouce > Cliend Access Point0). Указываем имя, через которое будут подключаться пользователи и ip-адрес
  16. Далее добавляем диск в кластер, а после в нашу пустую роль
  17. Теперь пришла пора добавить службу SQL Server Express в нашу роль (правая кнопка мышки на роли > Add Resouce > Generic Service > выбираем нашу службу SQL Server Express)
  18. Сейчас нужно добавить зависимости для службы SQL Server Express, чтобы в момент переезда ноды служба не запускалась раньше необходимых ресурсов и как следствие не было ошибки запуска. Это делается путём захода в Properties > Dependencies и добавление туда диска, имени и ip
  19. Так же настройки failover (поведения при сбое) пустой роли по-умолчанию нам показались не жизнеспособными (1 переезд за 6 часов). Рекомендуем выставить другое значение (правая кнопка мышки на роли > Properties > Failvover > выставляем значение в первых двух окошках)
  20. С настройками закончили, теперь переводим в online все ресурсы кластера. У нас не все ресурсы смогли запустить с первого раза, так как у учётной записи не хватало прав для регистрации имени кластерного ресурса, но после предоставление прав, службы исправно заработали
  21. Тестируем кластер на возможности переезда с ноды на ноду

Вернёмся к особенностям работы данного решения:

  1. Для SQL Server вы работаете не в режиме кластера, а в обычном stand-alone режиме. Поэтому если вы изменили какие-то ключи реестра или настройки в SQL Server Configuration Manager на одной ноде, то не забудьте поменять их и на второй)
  2. Так же могут быть нюансы с именем сервера, которое записано в @@SERVERNAME, в нашем случае здесь будет прописана 2 нода. Пока мы не столкнулись с проблемами с этим параметром
  3. Объём памяти и скорость процессора так же стоит учесть

***   ***   ***   ***   ***   ***   ***   ***   ***   ***   ***   ***
Полезные Скрипты

Рубрика Проверь себя

Ссылка на наш канал YouTube

Запись опубликована в рубрике Cluster с метками , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Войти с помощью: