May 2008

You are currently browsing the monthly archive for May 2008.

По материалам статьи Рандай Диесс (Randy Dyess): How to Guide: SQL Server 2005 Clustering


Введение


Этот документ, опубликованный в журнале «SQL Server Magazine», предназначен для технических специалистов, которые хотят разобраться с тем, как работает отказоустойчивый кластер, как SQL Server 2005 работает в кластере, как осуществляется установка и настройка SQL Server 2005 в отказоустойчивом кластере, какая практика считается лучшей для обеспечения работоспособности SQL Server 2005 в кластере.
Давно уже наметился переход от использования SQL Server 2005 для небольших решений к решениям корпоративного масштаба, критичным для бизнеса, а также возросла необходимость обеспечения высокой доступности обслуживаемых СУБД данных. В SQL Server 2005 встроены несколько механизмов, позволяющих обеспечить высокую доступность, но ни одно из стандартных средств и распространённых методов не позволяют обеспечить такой уровень доступности данных, который часто называемый «missioncritical». Это достигается только включением SQL Server 2005 в кластер.


Основы кластеризации SQL Server: Что это такое?


Отказоустойчивые кластеры (Failover clusters) – это решение для операционной системы Windows, которое позволяет администраторам создавать функциональные группы серверов, которые для приложений могут быть видимы, как суррогатные хосты, работающие на одном или более сервере, и в случае отказа этого сервера работа переносится на другой сервер группы, согласованно с прикладным уровнем. Проще говоря, кластеры обеспечивают высокую доступность приложений, работающих на серверах. Эта высокая доступность не гарантирует безостановочность работы, потому что существует некоторое время простоя, вызванное отработкой отказа; кроме того, после отказа не гарантируется тот же самый уровень работоспособности, как в штатном режиме. Включение в кластер гарантирует, что приложения кластера будут им контролироваться, и, в случае разного рода отказов, работоспособность таких приложений будет автоматически восстановлена, а они, вместе со своими ресурсами, будут запущены на другом сервере.


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


Существует несколько типов ресурсов, используемых службой кластера Windows, но наиболее проблематичным из них для администраторов, устанавливающих SQL Server 2005, является группа дисковых ресурсов. Эта группа ресурсов (Рисунок 1) представляет собой один или несколько дисков, которые сгруппированы в один функциональный модуль. Группу дисковых ресурсов рассматривают, как модуль отказа кластера, и наличие такой группы ресурсов необходимо для каждого экземпляра SQL Server 2005, работающего в одном кластере.


Каждая группа ресурсов одновременно может принадлежать только одному узлу кластера, и именно перемещение группы для монопольного использования на другой узел называется отработкой отказа (failover). Когда мы имеем дело с работающим в кластере SQL Server 2005, мы говорим о группе ресурсов, которая представляет собой цельный модуль отказа. Поскольку группа ресурсов определяет модуль отказа, каждый индивидуальный экземпляр SQL Server 2005 должен иметь свою собственную группу ресурсов. Можно использовать и несколько групп ресурсов для одной инсталляции, но в таком случае нужно установить зависимости ресурсов в разных группах, так чтобы все такие группы вели себя как единый модуль отказа.


Связанные с дисковой группой ресурсы образуют зависимости, вовлеченные в отработку отказа в кластере. Такие зависимости включают и сетевые имена, и IP – адреса каждого из ресурсов, и будут отрабатывать отказ вместе с дисковой группой ресурсов.


Примечание: Экземпляры, которые размещают базы данных или файлы баз данных на нескольких дисковых массивах (для балансировки ввода-вывода между несколькими массивам), могут связать эти массивы с помощью зависимостей ресурсов. Зависимости ресурсов позволяют нескольким группам ресурсов выступать как единый модуль отказа, и они переносятся на другой узел вместе.


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



Какие встречаются типы кластеров?


Служба кластера Windows предлагает несколько различных типов и режимов работы кластера: кластер с одним узлом, несколько узлов в кластере, мажоритарная группа узлов (Majority NodeSet) кластера и кластер с географически разнесёнными узлами. Каждый из этих типов кластера имеет своё предназначение, а большинство кластеров, используемых для обеспечения высокой доступности SQL Server 2005, имеют один или несколько узлов, поэтому, этот документ посвящён соответствующим двум типам кластера. Для получения информации о других типах кластера обратитесь к справочной документации по Windows Server 2003.


Кластер одного узла


Кластер из одного узла (Рисунок 2) – это такая кластерная конфигурация, в которой активен только один сервер, а ещё один или несколько серверов “не активны”. Неактивный сервер – это такой сервер, на котором нет активных (выполняющихся) приложений, но операционная система запущена. Неактивный сервер “поджидает”, когда активный сервер попадёт в такое состояние, которое обычно вызвано выходом оборудования или программного обеспечения из строя, и начинает сам обслуживать приложение, которое в обычных условиях обслуживается активным сервером. В случае обнаружения состояния отказа, неактивный сервер становится активным сервером, и все необходимые приложениям ресурсы передаются для монопольного управления новому активному серверу, в то время как все подключения, которые существовали на старом активном сервере, повторно переустанавливаются с новым активным сервером.



Кластер нескольких узлов


Такой кластер может включать от двух до восьми активных серверов (Рисунок 3), которые работают в одной кластерной группе. Все эти активные серверы обслуживают свои приложения и каждый занят своей работой. Каждый активный сервер может быть настроен хостом приложений для одного или нескольких других активных серверов, в случае их отказа, или каждый активный сервер можно настроить так, чтобы он использовал один активный или неактивный сервер в качестве хоста приложений, если произойдёт отказ (Рисунок 4).



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



Три наиболее значимые проблемы кластеров


При выборе типа кластера для ваших приложений баз данных SQL Server 2005, особое внимание стоит обратить на использование ресурсов каждого отдельного узла кластера. Утилизации ресурсов СУБД нужно уделить особое внимание, а если на сервере несколько кластерных систем, то в случае отказа в модели кластера с несколькими узлами при распределении и использовании ресурсов нужно быть особенно осторожным.


Процессор


Планирование использования процессорных ресурсов – одно из трех основных направлений при создании кластера. Используемая в не кластерных системах практика выбора такой процессорной конфигурации, чтобы процессоры использовались на 60 – 80 процентов все еще приемлема, но эта норма использования теперь должна учитывать и случаи отказа.


Это означает, что если оставить каждому узлу нагрузку процессоров в 60 – 80 процентов, они не смогут обслужить рабочую нагрузку после отработки отказа и перемещения к ним отказавшего экземпляра. Что нужно предпринять? Чтобы правильно оценить величину нагрузки на процессоре после добавление ресурсов с отказавшего узла, нужно обеспечить такой резерв, чтобы суммарная утилизация процессоров вместе с ресурсами отказавшего узла, в самом плохом варианте развития событий, никогда не превышала 80 процентов утилизации процессоров, даже если нормальная утилизация на сервере держится ниже 40 процентов. Это позволит учесть практически все возможные последствия отказов.


Память


В кластере, как и в случае с процессорными ресурсами, для обеспечения его работы в случае отказа очень важно грамотное планирование ресурсов памяти. Администратор должен чётко понимать как память узла будет использоваться приложениями в случае отработки отказа. Интенсивно использующие память прикладные программы, такие как SQL Server 2005, при отказе используют столько памяти, сколько смогут получить, и потому после перемещения отказавший экземпляр SQL Server 2005 будет запущен и начнёт работу с таким количеством памяти, который ему достанется от других экземпляров. Если памяти мало, могут возникнуть проблемы с производительностью приложений.


Примечание: Одним из новшеств SQL Server 2005 является то, что начиная с этой версии появилась возможность использования динамической памяти в кластерной конфигурации.


При настройке SQL Server 2005 в кластере с несколькими узлами, администраторам базы данных советуют установить значение параметра глобальной конфигурации сервера «max server memory» таким, чтобы оставался запас для сервера, который будет запущен на этом узле в случае отказа его оборудования. Также рекомендуется задать значение для «min server memory», чтобы не позволить экземпляру с отказавшего узла захватить всю доступную память и, тем самым, повлиять на производительность уже работающих на узле приложений.


Диски


Часто, при создании кластеров нескольких узлов, администраторы сталкиваются с проблемой недостатка букв алфавита для дисковых устройств. В операционной системе Windows группам ресурсов дают разные имена дисков на разных узлах кластера. Поскольку число групп ресурсов увеличивается вместе с увеличением числа установленных экземпляров SQL Server 2005 или из-за применения дизайна с использованием для базы данных нескольких файловых групп, при увеличения числа узлов в кластере, ограничение в 26 буквенных имен дисков может стать проблемой. Администратор баз данных совместно с системным администратором, который часто устанавливает Windows – кластер до установки туда SQL Server 2005, должны убедиться, что буквенных имен дисков достаточно много, они доступны и размеры этих дисков достаточно велики, чтобы вместить файлы баз данных.


Почему нужен кластер?


Основная цель использования кластера – обеспечение высокой доступности базы данных. Сегодня для приложений всё чаще выдвигаются такие бизнес – требования, чтобы был обеспечен доступ к данным в режиме 24/7, и недоступность базы данных из-за выхода из строя оборудования или из-за необходимости выполнения операций по обслуживанию сервера часто просто недопустима. Использование кластера серверов баз данных может помочь предотвратить недоступность данных из-за выхода из строя сервера, вызванного сбоем в программном обеспечении, необходимостью выполнения операций по обслуживанию сервера или из-за потери сетевого соединения с сервером.


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


Выгоды от кластера – Top 3


Кластер даёт довольно много преимуществ администраторам сервера и баз данных, но главными преимуществами, часто цитируемыми в контексте использования кластера серверов с SQL Server 2005, являются возможность без остановки приложений инсталлировать сервисные пакеты SQL Server 2005 или Windows, а также защита от сбоев операционной системы.


Сервисные пакеты SQL Server 2005


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


Сервисные пакеты Windows


Как и при установке сервисных пакетов SQL Server 2005, сервисные пакеты операционной системы Windows становятся причиной простоя приложений, который может возникнуть во время установки и перезагрузки сервера после инсталляции такого пакета. Возможность инициации отказа базы данных, который переместит её ресурсы на другой узел, позволяет избежать простоя в работе с базой данных, пока операционная система Windows будет обслуживаться администратором.


Сбои Windows


Главным преимуществом от установки ваших серверов баз данных в кластер является исключение длительного простоя в работе приложений, вызванного всевозможными не фатальными отказами аппаратных средств, которые весьма вероятны для современных серверов, сложность которых постоянно растёт. Часто совсем маленькая проблема в состоянии вывести операционную систему из строя на длительный срок, причём, подобные отказы не нуждаются в тщательном расследовании или переустановке компонент или даже всего сервера, но они бывают достаточно серьезны, чтобы приложение оказалось неработоспособным на недопустимое время. Кластер может помочь в предотвращении многих подобных проблем в работе приложений, поскольку ресурсы приложения могут быть быстро переброшены на другой узел кластера, и часто сделать это можно даже без потери клиентских подключений.


Как устроен кластер?


Для связи между узлами кластер использует локальную сеть, и по ней же посылаются сигналы «жизни» от сервера к серверу. Такие сигналы нужны для проверки работоспособности узлов и способности их к обслуживанию приложений на уровне операционной системы и на прикладном уровне (SQL Server 2005). На уровне операционной системы этот сигнал служит для постоянного поддержания связи между узлами кластера и проверки правильности их работы.


После установки SQL Server 2005 в кластере, входящий в комплект программного обеспечения кластера Service Control Manager начинает посылать каждые пять секунд сигнал каждому активному экземпляру SQL Server 2005 (Рисунок 5). Этот сигнал, называемый “LooksAlive”, практически не требует ресурсов для обработки и не выполняет других действий кроме проверки существования и работоспособности экземпляров SQL Server 2005. В задачу обмена сигналами жизни не входит проверка того, может ли экземпляр исполнять какие – либо более сложные операции. Для определения фактической работоспособности экземпляра SQL Server 2005 и его способности исполнять операции, каждые 60 секунд выполняется более глубокая проверка “IsAlive”, которая включает в себя запрос SELECT @SERVERNAME, и проверку возвращаемого значения. Если ответа нет, проверка IsAlive повторяется еще пять раз, прежде чем кластер попытается запустить ресурс на другом узле.


При отработке состояния отказа, кластер передаёт все необходимые ресурсы в монопольное владение другому экземпляру SQL Server 2005. Каждому экземпляру SQL Server 2005 принадлежит собственный набор дисков, называемый группой ресурсов (resource group), и именно эта группа ресурсов передаётся в монопольное владение другому узлу. После того, как группа ресурсов будет передана, экземпляр SQL Server 2005 инициирует процедуру стартовой регенерации (recovery), после исполнения recovery для системных баз данных, SQL Server 2005 переходит в состояние готовности к работе и обслуживанию запросов пользователей. Служба сервера баз данных должна быть запущена, а это значит, что должна быть доступна и база данных master. После обеспечения доступности базы данных master, служба сервера баз данных начинает запуск и регенерацию пользовательских баз данных.


Клиентские приложения должны будут выполнить повторное подключение, взяв за основу нового подключение конфигурацию приложения. Когда приложение соединяется с экземпляром SQL Server 2005, они используют виртуальный, а не физический IP – адрес. Фактическая принадлежность виртуального IP – адреса управляется кластером, так что приложения никогда не будут знать, на каком узле фактически находится адресуемый экземпляр. Чтобы подключится к службе SQL Server 2005 можно использовать её физический IP – адрес, но если так сделать, к ней невозможно будет подключиться в случае аппаратного отказа, т.е. если узел, являющийся основным для службы SQL Server 2005, откажет по какой – либо причине.



Как установить SQL Server 2005 в кластере


При установке SQL Server 2005 без кластера всё происходит просто и понятно, а установка SQL Server 2005 в кластер добавляет только несколько специфических шагов. Поддержка отказоустойчивого кластера осуществляется в SQL Server 2005 Enterprise Edition (поддержка до 8 узлов кластера), Developer Edition (поддержка до 8 узлов кластера) или Standard Edition (поддержка до 2 узлов кластера), а также необходима поддержка кластеризации операционной системой Windows, это следующие редакции: Windows Server 2003 Enterprise Edition, Windows 2003 Datacenter Edition, Windows 2000 Advanced Server или Windows 2000 Datacenter Edition.


Администратор, устанавливающий SQL Server 2005 в кластер, должен координировать свою работу с администраторами сервера, чтобы задать правильные номера групп ресурсов, имена дисков, размеры дисков и IP – адреса, необходимые для подключения к экземпляру SQL Server 2005. Администратор баз данных должен определиться с набором компонент, которые он должен будет установить, и понять, как эти компоненты поведут себя в кластере.


Установка ядра базы данных


Администраторам баз данных, которые только готовятся приступить к установке SQL Server 2005 в отказоустойчивом кластере, будет приятно узнать, что программа установки SQL Server 2005 умеет определять наличие кластера и автоматически устанавливать экземпляр SQL Server 2005 на обоих узлах кластера и правильно всё для этого настраивать.


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


Примечание: допускается существование в кластере только одного экземпляра по умолчанию, это означает, что в кластере вы должны устанавливать именованные экземпляры на всех узлах, кроме одного.


Примечание: Пожалуйста, перед установкой экземпляра ядра баз данных SQL Server 2005 в кластер, изучите следующую статью SQL Server 2005 Books Online: «Как создать новый отказоустойчивый кластер SQL Server 2005 (программа установки)».


Установка Analysis Services


Как и с ядром баз данных, мастер установки SQL Server 2005 устанавливает экземпляр Analysis Services на обоих узлах кластера. Пожалуйста, предварительно ознакомьтесь с материалами, опубликованными в статье SQL Server 2005 Books Online: «Как установить службы Analysis Services на отказоустойчивом кластере».


Установка Reporting Services


К сожалению, Reporting Services не поддерживается кластером и его нужно устанавливать как автономный компонент на всех узлах. Reporting Services сможет использовать базы данных кластера, но когда случится отказ узла, к которому подключается служба Reporting Services, экземпляры отказавшего узла не будут автоматически переподключаться. Для восстановления подключения нужно соединяться с новым узлом, используя новый IP – адрес.


Установка SQL Server Integration Services


Чтобы установить SSIS, нужно установить SSIS на всех активных узлах, а затем сделать службу SSIS кластерным ресурсом. Чтобы сделать SSIS кластерным ресурсом, нужно выполнить несколько шагов:


  1. Открыть Cluster Administrator.
  2. В меню File выбрать пункт New, а затем щелкнуть по Resource
  3. На странице New Resource мастера ресурсов (Resource Wizard), введите имя нового ресурса и выберите в качестве типа службы “Generic Service”. Измените группу на группу SQL Server. Нажмите Next.
  4. На странице Possible Owners, добавьте или удалите узлы кластера, которые возможно будут владельцами нового ресурса. Нажмите Next.
  5. Добавить зависимость можно на странице Dependencies, выбрав из списка Available resources новый ресурс, а затем нажав кнопку Add. В случае отказа, SQL Server 2005 и общий диск, на котором хранятся пакеты SSIS, должны стать доступны до того, как станет активен SSIS. После настройки зависимостей, нажмите кнопку Next.
  6. На странице Generic Service Parameters, введите в качестве имени службы MsDtsServer, и нажмите кнопку Next.
  7. На странице Registry Replication нажмите Add, чтобы добавить ключ реестра, который идентифицирует файл конфигурации SSIS.
    1. Этот файл должен быть расположен на общем диске, который принадлежит той же группе, что и SSIS, и при отказе будет перенесён на тот же узел, что и SSIS.
    2. В диалоговом окне Registry Key, введите SOFTWARE\Microsoft\MSDTS\ServiceConfigFile. Нажмите OK, а затем нажмите кнопку Finish. Служба SSIS должна добавиться под управление кластера.
  8. Найдите файл конфигурации по пути %ProgramFiles%\Microsoft SQL Server 2005\90\DTS\Binn\MsDtsSrvr.ini.xml, и скопируйте его на общий диск.
  9. На общем диске создайте новую папку с именем Packages и дайте на неё права List Folders и Write встроенной группе Users.
  10. Откройте в текстовом или XML – редакторе файл конфигурации на общем диске и замените значение элемента ServerName на имя виртуального SQL Server 2005, который находится в этой же группе.
  11. Замените значение элемента StorePath на полностью-квалифицированный путь к созданной ранее папке Packages на общем диске.
  12. Откорректируйте значение ключа системного реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTS\ServiceConfigFile, записав там полностью квалифицированное имя и путь к файлу конфигурации сервиса на общем диске.
  13. В приложении Cluster Administrator, выберите службу SSIS, нажмите не ней правую кнопку мыши, и выберите в выпадающем меню пункт Bring Online. Служба SSIS должна стать активной, как и служба кластера.

Установка инструментария и электронной документации


Программа установки SQL Server 2005 не устанавливает компоненты инструментов и документацию по SQL Server 2005 на все узлы кластера. Мастер устанавливает эти компоненты только на том узле, на котором была инициализирована подпрограмма установки. Если инструменты и документация нужны и на других узлах, там их нужно установить вручную после успешного окончания установки SQL Server в кластере.


Установка MSDTC


Microsoft Distributed Transaction Coordinator часто используется SQL Server 2005 для задач поддержки распределенных транзакций. Администраторы баз данных и системные администраторы должны чётко понимать, что MSDTC не будет установлен на кластере без исполнения нескольких дополнительных шагов, которые они должны правильно выполнить. В случае с кластерами серверов Windows 2003, MSDTC может быть установлен на всех серверах кластера. В прежних версиях операционных систем, MSDTC нужно было устанавливать на каждом сервере отдельно. Windows 2003 предоставляет два варианта установки MSDTC: использование для установки MSDTC в кластере программы Cluster Administrator или программы Cluster.exe, с помощью которой тоже можно установить MSDTC в кластере.


Обратите внимание: перед началом установки MSDTC в кластере Windows 2000 или Windows 2003, ознакомьтесь со следующими статьями Microsoft:



Хорошая практика


Операционная система Windows Server 2003


  • Лучше потратьте больше времени на разработку и планирование кластера, чем на само создание кластера.
  • Все аппаратные средства, используемые в кластере, должен входить в лист совместимости (HCL) кластера Windows 2003, причём, в качестве модулей, а не только в качестве самостоятельных частей.
  • Каждый узел кластера должен использовать одинаковые аппаратные средства.
  • При создании кластера более двух узлов, Вы должны предусмотреть один пассивный узел и настроить его в качестве первичного узла при отказе.
  • Придумайте все виртуальные имена и зарезервируйте IP-адреса ещё на стадии планирования.
  • Убедитесь, что дискового пространства будет достаточно, и букв дисков хватит для обозначений дисков в кластере во время процесса его настройки.
  • Используйте стандартные имена для локальных дисков и дисков кворума на всех узлах кластера.
  • Рекомендуется использовать для кластера две независимые (виртуальные или физические) сети. Одна публичная сеть, и одна частная сеть кластера. Убедитесь, что используются разные сетевые платы для публичной и частной сети, и не используются для этого сетевые платы с несколькими разъёмами.
  • Используйте статические IP-адреса для публичной и частной сети, для частной сети используйте подсети класса A, B или C.
  • Перед установкой кластера убедитесь, что дисковый массив кластера настроен правильно, работоспособен, и доступен всем узлам.
  • Убедитесь, что диск кворума защищён от отказа.
  • Придумайте виртуальному серверу уникальное имя не более 15 символов.
  • Убедитесь, что запрещён автоматический возврат после сбоя (fail-back), это позволит предотвратить эффект “пинг-понга”, когда один узел постоянно отказывает и снова возвращается в строй.

SQL Server 2005


  • Microsoft рекомендует устанавливать Analysis Services в кластере в отдельную группу, со своими ресурсами дисков и IP, а не в группу ресурсов, которые используются ядром баз данных.
  • SQL Server 2005 Enterprise Edition поддерживает установку 25 экземпляров на узле кластера, а Standard Edition поддерживает только 16 экземпляров. Нужно помнить, что каждый экземпляр должен иметь собственную группу ресурсов, и для кластеризации большого числа экземпляров нужно использовать модель мажоритарного кворума узлов (Majority Node Set). Обычно, не считается хорошей практикой устанавливать много экземпляров на одном узле, это мешает обеспечивать производительность и масштабируемость.
  • Для работы SQL Server 2005 требуется установка .NET Framework на всех узлах кластера, и программа инсталляции в состоянии установить .NET Framework на всех узлах. Распространённой рекомендацией является установка .NET Framework на всех узлах до запуска программы установки сервера баз данных, это позволяет ускорить процесс установки.
  • Обычно рекомендуется при создании кластера создавать четыре разных доменных группы. По одной для каждой службы: SQL Server 2005, SQL Server 2005 Agent, Full-Text Search и Analysis Services.
  • На узлы кластера с SQL Server 2005 нежелательно устанавливать другие приложения.
  • Поскольку в кластере допустимо иметь только один экземпляр по умолчанию, лучше использовать простые имена экземпляров, кроме того, это поможет стандартизировать процесс именования.
  • Не удаляйте и не переименовывайте используемую по умолчанию группу кластера, и не удаляйте ресурсы из группы, а также не удаляйте для переименования какие – либо ресурсы из группы ресурсов SQL Server 2005.
  • При использовании в кластере репликации, разместите папку моментальных снимков на сетевом файловом ресурсе, который будет доступен всем узлам для чтения и записи.
  • Убедитесь в том, что все узлы выдержали испытание на отказ, и только после такой проверке вводите кластер в промышленную эксплуатацию.

Как управлять кластером после установки?


Для администратора базы данных управление кластером SQL Server 2005 не подразумевает каких – то отличий от управления обычными серверами. Отличия в администрировании кластера SQL Server 2005 проявляются главным образом во время инсталляции, а не в ежедневной практике управления SQL Server 2005. Если в кластере несколько узлов, необходимо продумать что должно произойти, если обозначенные группы ресурсов должны будут перемещаться по отказу, а также хорошо понимать, как повлияет на производительность запуск нескольких экземпляров на одном узле.


Стоит уделять достаточное внимание тому, что произойдёт с мониторингом производительности, особенно в случае кластера с одним активным узлом. Убедитесь, что система мониторинга умеет правильно реагировать на отказ узла и продолжит обеспечивать контроль уже после того, как будет отработан отказ. Многие системы не переключают мониторинг на запасной узел после отказа и продолжат мониторить тот узел, на котором произошёл отказ SQL Server 2005, а предоставляемые ими данные могут ввести администратора в заблуждение.


Резюме


После того, как кластер будет готов к установке на нём SQL Server 2005, останется только запустить стандартный процесс инсталляции. После установки ядра баз данных и служб Analysis Services, можно доустановить SSIS (если он нужен) на обоих узлах и настроить его как кластерный ресурс. Также можно доустановить на все узлы службу Reporting Services, инструментарий и документацию, чтобы они были доступны после отказа. После этого, удостоверьтесь, что клиентские приложения используют виртуальные IP – адреса и имена, и запасные узлы готовы принять рабочую нагрузку основного. Убедитесь в том, что администраторы сервера включены в список оповещения в случае отказа узла, это поможет вовремя принять меры по предотвращению проблем с производительностью после отработки отказа.


Управление экземпляром в кластере практически не отличается от управления обычным сервером, главное, чтобы средства администрирования использовали виртуальный IP – адрес и имена, и тогда работа администратора ничем не будет отличаться от привычной, ежедневной рутины.


История из жизни


Эрон Бертран ( Aaron Bertrand: Using System Restore for Cumulative Update Rollback?)


Лично я рекомендовал бы проверять работоспособность кумулятивных обновлений в тестовой среде (например, на виртуальных серверах, собранных в кластер), и по возможности избегать ситуаций, когда может понадобиться удалить установленное на кластер кумулятивное обновление, например, не следует немедленно устанавливать обновления на кластер, сразу после их выхода. Мне доводилось успешно удалять кумулятивные обновления на одном из кластеров, но я уверен, что это не является достаточно безопасным сценарием. Вместе с Джефом Хитеном, я разбирал как-то случай, когда попытка установки SP или CU на кластер обновляла только один узел, а второй оставался необновлённым, и это приводило к тому, что невозможно было откатить установку обновления, чтобы накатить следующий SP или CU. Джеф корпел над этим довольно долго, а я, так и не получив в течение нескольких месяцев необходимого решения от поддержки MS, принял решение о переустановке кластера с нуля.


Бонус


Вашему вниманию предлагается выдержка из поставляемого в составе сервисного пакета SP2 файла sqlhotfix.chm, в котором представлено описание установки обновлений. Документ называется: «Пакет обновления 2 (SP2) для Microsoft SQL Server 2005». Точно такой же текст включён в аналогичные файлы кумулятивных обновлений, вышедших после SP2.


В разделе документа под названием «Установка пакета обновления (исправление)» содержатся главы, посвящённые особенностям установки обновлений в кластере. Приведём тут текст из этих глав:


Установка пакета обновления 2 (SP2) для SQL Server 2005 на экземпляре отказоустойчивого кластера


Перед установкой пакета обновления 2 (SP2) на экземпляре отказоустойчивого кластера следует обратить внимание на следующие моменты:


  • Не останавливайте службу кластера перед запуском или во время работы программы установки пакета обновления 2 (SP2).
  • Не завершайте работу никаких процессов перед запуском программы установки пакета обновления 2 (SP2).
  • Не отключайте службу SQL Server перед запуском программы установки пакета обновления 2 (SP2). Программа установки пакета обновления 2 (SP2) самостоятельно остановит и запустит службу SQL Server.
  • Запускайте программу установки пакета обновления 2 (SP2) на основном узле экземпляра отказоустойчивого кластера.
  • После завершения установки пакета обновления 2 (SP2) необходимо перезагрузить все узлы отказоустойчивого кластера.
  • Пакет обновления 2 (SP2) не поддерживает пошаговое обновление.

Установка отказоустойчивого кластера


Следующие сведения относятся только к компонентам SQL Server 2005, которые являются частью отказоустойчивого кластера.


Чтобы установить пакет обновления на отказоустойчивом кластере, выполните следующие действия.


  1. Чтобы обеспечить установку пакета обновления 2 (SP2) для SQL Server 2005 на всех узлах экземпляра отказоустойчивого кластера, убедитесь в том, что планировщик задач запущен на всех пассивных узлах экземпляра отказоустойчивого кластера.
  2. Если были добавлены какие-либо ресурсы, зависящие от ресурсов SQL Server, то эти зависимости должны быть удалены или переведены в автономный режим перед установкой пакета обновления 2 (SP2) для SQL Server 2005. Если не удалить зависимости, то в процессе установки пакета обновления 2 (SP2) такие ресурсы перейдут в автономный режим.
    Примечание: Если кластерный ресурс переведен в автономный режим, то все зависимые ресурсы также переводятся в автономный режим службой кластеров.
  3. Запустите исполняемый файл пакета обновления 2 (SP2) для SQL Server 2005 на активном узле, которому принадлежит группа, содержащая обновляемый экземпляр отказоустойчивого кластера. В результате файлы пакета обновления будут установлены на всех узлах в отказоустойчивом кластере. Нельзя установить пакет обновления 2 (SP2) с какого-либо пассивного узла в отказоустойчивом кластере.
  4. На странице «Выбор функций» мастера установки пакета обновления 2 (SP2) для SQL Server 2005 выберите обновляемый экземпляр отказоустойчивого кластера. Программа установки предложит ввести учетные данные, используемые для соединения с другими узлами кластера.
    Примечание: Во время установки все узлы кластера должны находиться в оперативном режиме. Это гарантирует, что будет выполнено обновление каждого узла кластера.
  5. Если на этапе 1 были удалены зависимости, или ресурсы были переведены в автономный режим, то следует восстановить зависимости или перевести ресурсы в оперативный режим.
    Примечание: Для программы установки может потребоваться перезапустить узлы отказоустойчивого кластера. В результате перезапуска заменяются файлы, которые использовались в ходе установки.

Перестроение узла отказоустойчивого кластера SQL Server 2005 с пакетом обновления 2 (SP2)


Если необходимо перестроить узел в отказоустойчивом кластере после установки пакета обновления 2 (SP2), выполните следующие действия:


  1. Перестройте узел в отказоустойчивом кластере. Дополнительные сведения о перестроении узла см. в разделе «Как восстановить после сбоя отказоустойчивый кластер в сценарии 1» электронной документации по SQL Server.
  2. Запустите исходную программу установки SQL Server 2005, чтобы восстановить узел в отказоустойчивом кластере.
  3. Запустите программу установки пакета обновления 2 (SP2) для SQL Server 2005 на добавленном узле.

Обновление аппаратной платформы кластера


Сейчас многий организации обновляют свой парк серверов, устанавливая более производительное и потребляющее меньше энергии оборудование. Наиболее распространённым решением является переход с платформы х86 на х64. Как вариант методики перевода кластера на новую платформу можно рассматривать добавление в кластер новых узлов или поочерёдный вывод старых узлов и добавление новых. Вариант кластера, когда узлы относятся к разным платформам, называется mixed mode cluster. Планируя такую схему обновления платформы нужно учитывать тот факт, что кластер со смешанными платформами не может сочетать процессоры от AMD и Intel. Если вы попробуете включить новый узел в кластер с процессорами от другого производителя, вам будет выдано сообщение, что добавление нового сервера с иными процессорами невозможно. Другие ограничения и политики обустройства кластера для SQL Server изложены в документе: The Microsoft SQL Server support policy for Microsoft Clustering. Заведомо проверить на соответствие новой аппаратной платформы требованиям вендора можно с помощью этой утилиты: Microsoft Cluster Configuration Validation Wizard (ClusPrep)


Полезные ссылки