Создание кластера SQL

Мы хотим обеспечить отказоустойчивость нашего SQL Server 2008 с применением технологии кластера высокой доступности (High Availability Cluster). Для этого мы должны иметь два сервера (желательно одинаковой конфигурации и, обязательно, с одинаковыми операционными системами и версиями SQL), а также хранилище данных (внешний дисковый массив). Предлагаю вам свой Step-to-step Guide, в котором я буду разворачивать 2 инстанса SQL – под одному на каждую ноду. В случае сбоя с одним из физических серверов оба инстанса будут работать на втором сервере.

1. Устанавливаем одинаковые операционные системы на оба сервера (в моем случае это будет Windows Server 2008 SP2)

2. Устанавливаем все необходимые обновления на оба сервера

3. Настраиваем хранилище (создаем разделы и виртуальные диски LUN). Надо учесть, что для нашей конфигурации с двумя инстансами необходимо наличие как минимум трех LUN’ов – один небольшого размера (как правило не больше 10Гб) под кворум, второй под инстанс первого SQL сервера и третий под инстанс второго сервера.

4. Если в результате настройки хранилища каждый из серверов «задваивает» его диски (каждый LUN присутствует в двух экземплярах) необходимо установить компонент Windows – MPIO (Multi-Path Input-Output). Дальше заходим в панель управления и в разделе «Администрирование» ищем MPIO.

Заходим в закладку Discover Multi-Paths и видим там наше хранилище. Жмем кнопку «Add». Перезагружаем компьютер. После перезагрузки в диспетчере управления дисками мы уже будем видеть каждый LUN только один раз.

5. На любом из серверов кластера заходим в диспетчер управления дисками и переводим все диски хранилища в режим Online. Инициализируем все диски, создаем разделы, задаем наглядные имена для каждого раздела и присваиваем уникальные буквы. Если тот или иной том хранилища будет иметь емкость более 2 Тбайт, то этот диск необходимо преобразовать в таблицу разделов GPT. Для этого, создав резервные копии данных диска, удалите с него все тома. Затем откройте оснастку Disk Management, щелкните правой кнопкой запись диска (не раздела) и выберите команду Convert to GPT Disk (преобразовать в GPT-диск).

6. Создаем Кластер. Для этого на первом сервере заходим в менеджер Failover Cluster Management и жмем ссылку «Validate a configuration». В Мастере конфигурации указываем оба наших сервера, для которых надо настроить кластеризацию, и выбираем задачи для тестирования. После выполнения всех тестов мастер представит отчет, позволяющий определить возможные проблемы, которые требуется устранить до построения кластера.

7. Если результаты тестов вас удовлетворили, то переходим к созданию кластера. Для этого в менеджере Failover Cluster Management жмем ссылку «Create a Cluster…». Добавляем наши два сервера, задаем имя кластера, его IP-адрес и жмем «Finish». Заходим в раздел Storage на левой панели менеджера Failover Cluster Management и видим, что система сама выбрала диск наименьшего размера в качестве Witness Disk in Quorum. По умолчанию все диски «отданы» одной из нод кластера.

8. Устанавливаем SQL Server 2008 на первую ноду кластера. В данном случае требуется кластерная установка, поэтому следует выбрать New SQL Server Failover Installation. Будет запущена программа установки SQL Server 2008 Clustered Server. После выбора функций, которые требуется установить, последует экран настройки экземпляра Instance Configuration.

В поле SQL Server Network Name надо вписать имя первого кластеризованного сервера баз данных SQL. Именно на это имя SQL Server будет отзываться. Поле Instance ID менять не будем.

На следующей странице можем задать имя для кластерного ресурса SQL.

На странице Cluster Disk Selection укажем том или тома хранилища, к которым кластеризованный SQL сервер должен обращаться.

На странице Cluster Network Configuration назначим IP адрес для создаваемого первого кластеризованного сервера. DHCP использовать не рекомендую! По этому адресу будет отзываться первый SQL сервер.

Все остальные настройки производятся так же, как и в штатном режиме установки сервера за исключением того, что все службы SQL должны запускаться от имени конкретных доменных учетных записей.

9. Настраиваем MSDTC. В менеджере Failover Cluster Management подключаемся к кластеру и в левой панели позиционируемся на только что созданной ресурсной группе первой ноды. Дальше добавляем новый ресурс, для чего жмем ссылку «Add a resource» — «More resources…» — «Add distributed transaction coordinator». Заходим в свойства появившегося координатора Microsoft Distributed Transaction Coordinator и в списке зависимостей указываем поочередно имя ноды и том хранилища, после чего жмем «OK». Теперь мы можем перевести MSDTC в оперативный режим – статус поменяется на Online.

10. Добавляем в ресурсную группу первой ноды SQL Server Agent. Для этого на первой ноде выполняем следующие действия:

  • В командной строке запускаем cluster restype «SQL Server Agent» /create /DLL:sqagtres.dll
  • В ветке реестра «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\ConfigurationState» меняем все значения переменных с «2» на «1»
  • В менеджере Failover Cluster Management подключаемся к кластеру и в левой панели позиционируемся на первую и пока что единственную ресурсную группу. Дальше добавляем новый ресурс, для чего жмем ссылку «Add a resource» — «More resources…» — «Add SQL Server Agent». Заходим в свойства появившегося агента New SQL Server Agent и в списке зависимостей указываем имя агента – SQL Server Agent, зависимости – SQL Server, в свойствах указываем Имя виртуального сервера и название инстанса – MSSQLSERVER, после чего жмем «OK». Теперь мы можем перевести SQL Server Agent в оперативный режим – статус поменяется на Online.

11. Переходим к установке SQL Server на вторую ноду кластера. В начале процесса установки необходимо отметить вариант Add Node to a SQL Server failover cluster. Ко всем остальным узлам кластера предъявляются те же требования, и программа установки выполняет проверку и установку всех компонентов. Надо заметить, что до запуска установки SQL Server на вторую ноду необходимо открыть файл defaultsetup.ini (находится в папке с дистрибутивом SQL Server 2008\x64) и скопировать в буфер обмена ключ PID, после чего перенести файл в другое место (например, на рабочий стол). При установке SQL вставить этот ключ в поле «Enter the product key». Когда установка SQL сервера закончится, вы сможете обратно перенести файл defaultsetup.ini. Если этой процедуры не сделать, установщик будет вылетать с ошибкой «The current SKU is invalid».

12. Если мы хотим установить второй инстанс в нашу кластерную модель, то необходимо на второй кластерной ноде запустить установку SQL и в начале процесса установки также как и в первом случае выбрать New SQL Server Failover Installation.

На странице Feature Selection выбираем нужные нам приложения SQL сервера:

На странице Instance Configuration задаем имя второго виртуального кластеризованного сервера SQL Server и название второго инстанса.

На странице Cluster Resource Group задаем имя для кластерного ресурса SQL второй ноды. Пусть для наглядности оно будет соответствовать имени нашего второго кластеризованного сервера SQL.

Остальные настройки необходимо провести по аналогии с установкой первого инстанса (первой ноды кластера). По окончании установки мы можем увидеть, что появилась вторая ресурсная группа. Добавим в неё Microsoft Distributed Transaction Coordinator, как мы делали это раньше на первой ноде. Обратим внимание, что ресурс SQL Server Agent второго инстанса создался автоматически.

Теперь нужно на первой ноде кластера запустить процедуру установки SQL сервера и выбрать Add Node to a SQL Server failover cluster. Далее делаем всё аналогично пункту 11.

13. Устанавливаем последние обновления на SQL сервера и приступаем к работе!

Источник: http://www.kovanev.net/faq/sql-server/187-sql

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*

code