Отказоустойчивые кластеры в Windows Server 2008 R2

Если вы незнакомы с отказоустойчивыми кластерами, не спешите бежать за новой книгой по этой теме — в разделе приведены общие сведения об этой технологии. Многих читателей может удивить тот факт, что поддержка отказоустойчивой кластеризации в SQL Server существовала с версии Microsoft SQL Server 7.0. Тогда настроить отказоустойчивый кластер было не так-то просто. Требовалось установить целый ряд продуктов Майкрософт для формирования кластерной среды: Internet Information Services (IIS), Cluster Server, SQL Server 7 0 Enterprise Edition, Microsoft Distributed Transaction Coordinator (MSDTC) 2 0 и (иногда) Windows NT 4.0 Option Pack. Кроме того, поддержка оборудования и драйверов, а также документация находились отнюдь не на сегодняшнем уровне. Многие ИТ-организации считали, что отказоустойчивую кластеризацию трудно настраивать и обслуживать. Благодаря совместным усилиям групп Майкрософт, работающих над SQL Server и отказоустойчивой кластеризацией, положение изменилось. Сегодня создание кластера SQL Server 2008 R2 в Windows Server 2008 R2 — простое дело. Кроме того, сочетание этих технологий обеспечивает максимальную доступность в сравнении с предыдущими версиями, в особенности при виртуализации рабочей нагрузки SQL Server.

Получив представление об истории отказоустойчивой кластеризации, можно поближе рассмотреть ее суть и пользу, которую она приносит организациям и администраторам. Отказоустойчивый кластер SQL Server строится на основе отказоустойчивого кластера Windows, обеспечивая высокую доступность и защиту экземпляра SQL Server в случае сбоя сервера. Отказоустойчивая кластеризация помогает организациям соблюдать требования по высокому уровню доступности за счет избыточности инфраструктуры SQL Server путем устранения «узких мест» в кластерном приложении. Сервер, используемый для формирования кластера, может быть физическим или виртуальным. В следующем разделе описаны разные виды отказоустойчивых кластеров, реализуемых с помощью SQL Server 2008 R2 и Windows Server 2008 R2, которые тем не менее прекрасно сочетаются.

Обычная отказоустойчивая кластеризация

Обычные отказоустойчивые кластеры SQL Server существуют уже несколько лет. Обычный кластер объединяет несколько узлов (серверов) и общее хранилище. Между всеми узлами отказоустойчивого кластера формируется кворум, который и определяет число сбоев, которые может преодолеть кластер. Для работы кластера между узлами должна поддерживаться связь, реализуемая несколькими независимыми сетями, соединяющими узлы кластера во избежание формирования узких мест. SQL Server 2008 R2 устанавливается на всех узлах отказоустойчивого кластера. При сбое узла в кластере экземпляр SQL Server автоматически переносится на оставшийся узел кластера. Обратите внимание, что с точки зрения пользователя или приложения отработка отказа ведется прозрачным образом. Как и предыдущие версии, SQL Server 2008 R2 поддерживает одно- и многоэкземплярные конфигурации отказоустойчивых кластеров. Кроме того, SQL Server 2008 R2 в Windows Server 2008 R2 поддерживает до 16 узлов и 23 экземпляров в отказоустойчивом кластере. Ограничение вызвано число букв в именах дисков.

Внимание! При настройке кластера следует соединить узлы через несколько сетей, так как другие реализации не обслуживаются службой технической поддержки Майкрософт. Кроме того, всегда рекомендуется использовать несколько сетей. 

На рис. 4-1 приведен отказоустойчивый кластер с двумя узлами и одним экземпляром SQL Server на базе Windows Server 2008 R2.

Рисунок 4-1. Отказоустойчивый кластер с двумя узлами и одним экземпляром.

На рис. 4-2 приведен отказоустойчивый кластер с несколькими экземплярами SQL Server в Windows Server 2008 R2.

Рисунок 4-2. Отказоустойчивый кластер с двумя узлами и несколькими экземплярами.

Отказоустойчивая кластеризация в гостевой операционной системе

В прошлом с узлами в отказоустойчивом кластере обычно связывали физические серверы. Современные технологии виртуализации позволяют создать кластер с узлами, размещенными в гостевых операционных системах на виртуальных серверах. Это называется кластеризацией в гостевых ОС, или гостевой кластеризацией. Для создания кластера в гостевых ОС требуется кворум, открытая сеть, закрытая сеть и общее хранилище. Тем не менее вместо физических серверов в качестве узлов кластера SQL Server используются виртуализованные с помощью Hyper-V узлы. Организации, использующие гостевую кластеризацию SQL Server 2008 R2, должны использовать на физических узлах Hyper-V и Windows Server 2008 R2, а конфигурация должна быть сертифицирована в рамках программы Server Virtualization Validation Program (SVVP). Аналогично, в качестве гостевой ОС следует использовать Windows Server 2008 R2, и среда виртуализации должна отвечать требованиям отказоустойчивого кластера Windows Server 2008 R2, в том числе проходить проверку конфигурации.

Примечание При реализации отказоустойчивых кластеров можно сочетать физические и виртуальные узлы в едином решении.

На рис. 4-3 приведен гостевой кластер с несколькими экземплярами SQL Server 2008 R2 в Windows Server 2008 R2. SQLNode1 — это виртуальная машина на сервере Hyper-V01, где работает Hyper-V, а SQLNode2 — это виртуальная машина на узле Hyper-V Hyper-V02.

Рисунок 4-3. Гостевой отказоустойчивый кластер с двумя узлами.

Примечание Гостевая кластеризация также поддерживается при использовании Hyper-V в Windows Server 2008. Тем не менее Windows Server 2008 R2 поддерживает динамическую миграцию виртуальных машин между физическими узлами. Это существенное преимущество для виртуальной среды SQL Server 2008 R2.

В РЕАЛЬНОСТИ

При использовании гостевой кластеризации виртуализованные гостевые ОС, используемые в качестве узлов в кластере, не должны размещаться на одном физическом узле Hyper-V. Наличие подобной ситуации означает, что в системе есть узкое место. Например, если единственный физический узел, где работают все гостевые ОС, подвергнется сбою, то все узлы гостевого отказоустойчивого кластера станут недоступны, что приведет к сбою кластерного экземпляра SQL Server в отказоустойчивом кластере. Это может иметь критические последствия в важных рабочих нагрузках. Проблемы можно избежать путем использования нескольких узлов Hyper-V и динамической миграции с разнесением гостевых ОС по разным узлам Hyper-V.

Усовершенствования мастера проверки конфигурации

Как упоминалось ранее в этой главе, в прошлом организации сталкивались с трудностями при реализации отказоустойчивого кластера SQL Server. Очевидной была потребность в интуитивно понятном средстве, проверяющем, отвечает ли конфигурация организации предварительным требованиям отказоустойчивого кластера. Эта проблема была решена в Windows Server 2008, где появился так называемый мастер проверки конфигурации.

Администраторы баз данных и администраторы Windows используют этот мастер для проведения проверочных тестов, позволяющих определить правильность настройки серверов, параметров, сетей и хранилища, связанных с отказоустойчивым кластером. Мастер также проверяет, соблюдены ли предварительные условия, и поддерживает ли оборудование создание кластера.

Мастер проверки конфигурации в Windows Server 2008 R2 также проводит тесты конфигурации активов, сети, хранилища и систем. Кроме того, в мастере проверки конфигурации сделан ряд усовершенствований, расширяющих его возможности в части отказоустойчивой кластеризации. Вот некоторые из них:

  • Конфигурация кластера
    • перечисление групп ядра кластера;
    • перечисление сведений о сетях кластера;
    • перечисление ресурсов кластера;
    • перечисление томов кластера;
    • перечисление служб и приложений в кластере;
    • проверка конфигурации кворума;
    • проверка состояния ресурсов;
    • проверка имен участников-служб;
    • проверка целостности томов.
  • Сеть
    • перечисление порядка привязки сетей;
    • проверка свойств нескольких подсетей.
  • Конфигурация системы
    • проверка параметров службы кластера и драйверов;
    • проверка параметров дампа памяти;
    • проверка переменных системных дисков.

Примечание Мастер проверяет конфигурацию и перечисляет различные сведения. См. статью базы знаний «Пошаговое руководство по отказоустойчивым кластерам: проверка оборудования для отказоустойчивого кластера» с описанием всех тестов по адресу https://technet.microsoft.com/ru-ru/library/cc732035(WS.10).aspx.

Запуск мастера проверки конфигурации

Перед установкой отказоустойчивого кластера SQL Server 2008 R2 в системе Windows Server 2008 R2 запустите мастер проверки конфигурации и выполните следующие действия:

1. Проверьте, установлены ли компоненты отказоустойчивого кластера на всех узлах проверяемого кластера.

2. Откройте оснастку управления отказоустойчивым кластером на одном из узлов кластера.

3. Проверьте сведения на начальной странице и нажмите кнопку «Далее». Можно скрыть эту страницу мастера при последующих запусках.

4. На странице «Выберите серверы или кластер» в поле «Введите имя» введите имя узла или полное доменное имя узла кластера. Также можно нажать кнопку «Обзор» и выбрать несколько узлов кластера. Нажмите кнопку «Далее».

5. На странице «Параметры тестирования» выберите вариант «Выполнять все тесты» или «Выполнять только выбранные тесты», а затем нажмите кнопку «Далее». При первом запуске мастера рекомендуется выполнять все тесты. Тесты поделены на соответствующие категории.

6. На странице подтверждения просмотрите сведения о тестах и нажмите кнопку «Далее», чтобы начать проверку. В ходе проверки на странице появляются новые сведения о состоянии, пока не завершатся все тесты. После завершения тестов появится страница сводки, показанная на рис. 4-4. Здесь приведены результаты проверочных тестов и различные сведения, собранные в ходе тестов. Все ошибки и предупреждения в результатах проверки следует проанализировать и как можно быстрее устранить. Также можно продолжить работу, не устраняя ошибки, но такой отказоустойчивый кластер не поддерживается корпорацией Майкрософт.

Рисунок 4-4. Отчет о проверке отказоустойчивого кластера.

7. Нажмите кнопку «Просмотреть отчет», чтобы открыть отчет в веб-браузере. Отчет отображается в формате MHT. Чтобы закрыть мастер, нажмите кнопку «Готово».

Примечание Мастер проверки конфигурации помогает при диагностике сбойного кластера. Администраторы, запускающие тесты для выявления отдельных проблем, с которыми они сталкиваются, получают важные сведения и рекомендации по устранению проблем. Так, при возникновении проблем с MPIO, отдельным драйвером или общим хранилищем после успешного развертывания кластера мастер поможет найти и быстро устранить проблему.

Анализатор соответствия рекомендациям Windows Server 2008 R2

Еще одно средство, появившееся в Windows Server 2008 R2, — это анализатор соответствия рекомендациям (BPA), предназначенный для управления сервером. BPA определяет степень соблюдения требований в роли сервера, сравнивая ее с рекомендациям в восьми категориях: безопасность, производительность, конфигурация, политики, рабочий режим, ситуация до и после развертывания, а также собственные рекомендации BPA. В каждой категории оценивается эффективность, надежность и добросовестность роли. Все роли, проверяемые с помощью BPA, получают один из трех уровней безопасности: «несоответствие», «соответствие» или «предупреждение». Роль сервера, не отвечающая рекомендациям, будет помечена как не соответствующая, и наоборот. Роли сервера в состоянии «предупреждение» возникают, если проверка BPA сообщает о соответствии, но при этом выявляет риск несоответствия в будущем.

Администраторы баз данных могут пользоваться этим средством для настройки отказоустойчивого кластера. Во-первых, BPA в Windows Server 2008 R2 помогает администраторам сократить число нарушений рекомендаций путем проверки ролей на сервере под управлением Windows Server 2008 R2. После проверки BPA создает отчет с перечнем всех нарушений, от самых серьезных до наименее серьезных. Отчет BPA также можно настроить. Так, администратор может пропустить маловажные или ненужные результаты. Наконец, администраторы могут работать с BPA через диспетчер сервера или с помощью командлетов Windows PowerShell.

Запуск анализатора соответствия рекомендациям

По умолчанию BPA устанавливается во всех выпусках Windows Server 2008 R2, за исключением Server Core. При наличии BPA его можно запустить через диспетчер сервера. Выполните следующие действия.

  1. Нажмите кнопку «Пуск», укажите пункт «Администрирование» и щелкните «Диспетчер сервера».
  2. Откройте в области навигации раздел «Роли». Затем выберите роль, проверяемую в BPA.
  3. Откройте раздел «Сводка» в области сведений. Затем откройте раздел анализатора соответствия рекомендациям.
  4. Нажмите кнопку «Проверить эту роль», чтобы начать проверку.
  5. После завершения проверки просмотрите результаты в окне анализатора соответствия рекомендациям.