3 June 2014

Как развернуть отказоустойчивый кластер MS SQL Server 2012 на Windows Server 2012R2 для новичков

Microsoft SQL Server
Sandbox
Tutorial
Данный топик будет интересен новичкам. Бывалые гуру и все, кто уже знаком с этим вопросом, вряд ли найдут что-то новое и полезное. Всех остальных милости прошу под кат.

Задача, которая стоит перед нами, – обеспечить бесперебойную работу и высокую доступность базы данных в клиент-серверном варианте развертывания.
Тип конфигурации — active/passive.

P.S. Вопросы резервирования узлов не относящихся к MSSQL не рассмотрены.

Этап 1 — Подготовка


Основные требования к аппаратному и программному обеспечению:
  • Наличие минимум 2-х узлов(физических/виртуальных), СХД
  • MS Windows Server, MS SQL ServerСХД
  • СХД
    1. Доступный iSCSI диск для баз данных
    2. Доступный iSCSI диск для MSDTC
    3. Quorum диск


Тестовый стенд:
  • Windows Server 2012R2 с ролями AD DS, DNS, DHCP(WS2012R2AD)
  • Хранилище iSCSI*
  • 2xWindows Server 2012R2(для кластера WS2012R2C1 и WS2012R2C2)
  • Windows Server 2012R2 с поднятой службой сервера 1С (WS2012R2AC)

*как вариант можно использовать Роль хранилища на Windows Server 2012R2, софтверное решение от StarWind или реальное сетевое устройство iSCSI

Технически можно обойтись 3 серверами совместив все необходимые роли на домен контроллере, но в полевых условиях так поступать не рекомендуется.

Вначале вводим в домен сервера WS2012R2C1 и WS2012R2C2; на каждом из них устанавливаем роль «Отказоустойчивая кластеризация».
После установки роли, запускаем оснастку «Диспетчер отказоустойчивости кластеров» и переходим в Мастер создания кластеров, где конфигурируем наш отказоустойчивый кластер: создаем Quorum (общий ресурс) и MSDTC(iSCSI).

Этап 2 – Установка MS SQL Server


Важно: все действия необходимо выполнять от имени пользователя с правом заведения новых машин в домен. (Спасибоminamoto за дополнение)
Для установки нам понадобится установочный дистрибутив MS SQL Server. Запусткаем мастер установки и выбераем вариант установки нового экземпляра кластера:



Далее вводим данные вашего лицензионного ключа:



Внимательно читаем и принимаем лицензионное соглашение:



Получаем доступные обновления:



Проходим проверку конфигурации (Warning MSCS пропускаем):



Выбираем вариант целевого назначения установки:



Выбираем компоненты, которые нам необходимы (для поставленной задачи достаточно основных):



Еще одна проверка установочной конфигурации:



Далее — важный этап, выбор сетевого имени для кластера MSSQL (instance ID – оставляем):



Проверка доступного пространства:



После чего — список доступных хранилищ, данных (сконфигурировано на этапе подготовки):



Выбираем диск для расположения баз данных кластера:



Конфигурацию сетевого интерфейса кластера рекомендуется указать адрес вручную:



Указываем данные администратора (можно завести отдельного пользователя для MSSQL):



Еще один важный этап – выбор порядка сортировки (Collation). После инсталляции изменить крайне проблематично:



Параметры аутентификации на сервере (в нашем случае выбран смешанный вариант, хотя безопаснее использовать только доменную аутентификацию):



Выбор директорий хранения общих файлов кластера (в версиях MS SQL Server 2012 и старше TempDB можно хранить на каждой ноде и не выносить в общее хранилище):



Еще пару проверок:




Наконец приступаем к установке (процесс может занять длительное время):



Настройка и установка базовой ноды закончена, о чем нам сообщает «зеленый» рапорт



Этап 3 – добавление второй ноды в кластер MSSQL


Дальше необходимо добавить в кластер вторую ноду, т.к. без нее об отказоустойчивости говорить не приходится.
Настройка и установка намного проще. На втором сервере (ВМ) запускаем мастер установки MS SQL Server:



  • Проходим стартовый тест
  • Вводим лицензионный ключ:
  • Читаем и принимаем лицензионное соглашение:
  • Получаем обновления:
  • Проходим тесты по выполнению требований для установки ноды (MSCS warning – пропускаем):


Выбираем: в какой кластер добавлять ноду:



Просматриваем и принимаем сетевые настройки экземпляра кластера:



Указываем пользователя и пароль (те же, что и на первом этапе):



Снова тесты и процесс установки:

По завершению мы должны получить следующую картину:



Поздравляю, установка закончена.

Этап 4 – проверка работоспособности


Удостоверимся, что все работает как надо. Для этого перейдем в оснастку «Диспетчер отказоустойчивого кластера»:



На данный момент у нас используется вторая нода(WS2012R2C2) в случае сбоя произойдет переключение на первую ноду(WS2012R2C1).
Попробуем подключиться непосредственно к кластеру сервера MSSQL, для этого нам понадобится любой компьютер в доменной сети с установленной Management Studio MSSQL. При запуске указываем имя нашего кластера и пользователя (либо оставляем доменную авторизацию).



После подключения видим базы которые крутятся в кластере (на скриншоте присутствует отдельно добавленная база, после инсталляции присутствуют только системные).



Данный экземпляр отказоустойчивого кластера полностью готов к использованию с любыми базами данных, например, 1С(для нас ставилась задача развернуть такую конфигурацию для работы именно 1С-ки). Работа с ним ничем не отличается от обычной, но основная особенность — в надежности такого решения.

В тестовых целях рекомендую поиграть с отключением нод и посмотреть как происходит миграция базы между ними; проконтролировать важные для вас параметры, например, сколько по времени будет длиться переключение.
У нас при отказе одной из нод – происходит разрыв соединения с базой и переключение на вторую (время восстановления работоспособности: до минуты).
В полевых условиях для обеспечения надежности всей инфраструктуры необходимо обработать точки отказа: СХД, AD и DNS.

P.S. Удачи в построении отказоустойчивых решений.
Tags:mssqlserver
Hubs: Microsoft SQL Server
+2
90.1k 153
Comments 17
MS SQL Server Developer
March 10, 202135,000 ₽OTUS
Введение в SQL
December 7, 202017,100 ₽Luxoft Training
Профессия iOS-разработчик
November 30, 202075,000 ₽SkillFactory
Основы HTML и CSS
November 30, 2020FreeНетология
Курс по аналитике данных
November 30, 202053,500 ₽SkillFactory