Провести модернизацию кластеризованного экземпляра SQL Server 2008 R2 до уровня SQL Server 2012 ничуть не сложнее, чем обновить SQL Server 2005 до уровня SQL Server 2008. Однако при модернизации кластера SQL Server 2008 R2 (или более ранней версии) до уровня SQL Server 2012 вам предстоит предварительно принять одно дополнительное решение — если вы планируете использовать новое средство SQL Server 2012, а именно группы доступности AlwaysOn. Если вы собираетесь работать с этими группами, следует определиться, будут ли экземпляры, которые станут репликами внутри группы доступности AlwaysOn, кластеризованными. Организовав в кластер экземпляры, которые станут репликами, вы сможете сохранять работоспособность системы в случае дополнительных сбоев физических серверов, не теряя доступа к реплике базы данных. В итоге вы получите дополнительный уровень доступности внутри развернутой группы доступности AlwaysOn.

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

Обновление до уровня кластеризованного экземпляра

Процесс обновления кластеризованного экземпляра SQL Server 2008 R2 до уровня SQL Server 2012 достаточно прост. Он во многом напоминает процедуру модернизации кластеризованного экземпляра SQL Server 2005 до уровня SQL Server 2008. Различие состоит лишь в том, что вместо средств установки, реализованных в версии SQL Server 2008, следует использовать средства установки версии SQL Server 2012.

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

Завершив тестирование кластера и отправив его в производственную сеть, вы можете приступать к созданию групп доступности AlwaysOn.

Обновление до уровня некластеризованного экземпляра

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

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

Отметим, что хотя подобный подход к процессу модернизации может дать экономию финансовых средств, он чреват определенными рисками. Установка систем SQL Server 2012 на существующие узлы кластеров SQL Server 2008 R2 может повлечь за собой проблемы с эксплуатацией существующих кластеризованных систем SQL Server. Кроме того, трудности могут возникнуть и в процессе перенастройки хранилищ сетей SAN.

При установке систем SQL Server 2012 на существующих узлах SQL Server 2008 R2 кластера Windows действуйте в соответствии со следующими инструкциями.

  1. Измените настройки массива устройств памяти в соответствии с требованиями конфигурации запоминающих устройств так, чтобы средства хранения данных были предоставлены независимым узлам и в то же время кластерные средства хранения предоставлялись существующим узлам.
  2. Обеспечьте предоставление независимых средств хранения каждому узлу кластера, на котором будет установлен продукт SQL Server 2012. Проследите за тем, чтобы на каждом узле использовались одни и те же буквенные обозначения накопителей и те же маршруты.
  3. Установите системы SQL Server 2012 на соответствующих узлах.

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

Привести узлы SQL Server 2012 в рабочее состояние можно следующим образом.

  1. Установите на новых узлах систему Windows 2008 R2 Enterprise Edition. Используйте тот же уровень обновления, что и на существующем кластере Windows.
  2. Настройте массив устройств хранения таким образом, чтобы независимые средства хранения данных были предоставлены каждому новому узлу. Проследите за тем, чтобы на каждом новом узле использовались одни и те же буквенные обозначения накопителей и те же маршруты.
  3. Добавьте новые узлы к существующим кластерам Windows.
  4. Установите пакет SQL Server 2012 на новых узлах в формате независимых экземпляров.

Возможно, вы установили узлы SQL Server 2012 на новых аппаратных компонентах, а может быть?— на существующих; в любом случае следующий этап процесса будет состоять в тестировании этих узлов. Убедитесь в том, что они функционируют корректно и что подключенные к ним средства хранения данных обеспечивают необходимую производительность.

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

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

На данном этапе экземпляр SQL Server 2008 R2 может быть удален с использованием традиционного процесса удаления продукта SQL Server 2008 R2 на обоих узлах кластера. Здесь требуется внимательность, поскольку удалять нужно только компоненты SQL Server 2008 R2, но не компоненты SQL Server 2012.

Кластеры на основе системы Windows Server 2008

Пакеты SQL Server 2012 обычно устанавливаются на серверах, на которых выполняются системы Windows Server 2008. Однако эти кластеры необходимо модернизировать по меньшей мере до уровня Windows Server 2008 SP2, а также выполнить обновления, описанные в статье Microsoft «An update is available for the. NET Framework 3.5 Service Pack 1 in Windows Vista and in Windows Server 2008» (http://support.microsoft.com/? kbid=956250). Это обновление требуется для установки компонентов Visual Studio, которые используются продуктом SQL Server 2012.

Перед установкой на кластере Windows Server 2008 пакета SQL Server 2012 весьма желательно модернизировать такой кластер до уровня Windows Server 2008 R2; дело в том, что в компонент Failover Clustering версии SQL Server 2008 R2 были внесены изменения, специально предназначенные для групп доступности AlwaysOn и для прослушивателей этих групп доступности. Для осуществления указанной модернизации необходимо заменить существующий кластер новым кластером Windows ввиду отсутствия метода модернизации систем, существующих внутри кластера. Если в процессе создания нового кластера Windows будут использоваться те же физические серверы, их можно удалить из кластера (по одному узлу за раз), отформатировать, установить в новый кластер и подготовить к установке пакета SQL Server 2012.

Кластеры на основе систем Windows Server 2003 или Windows Server 2003 R2

Перед тем как приступать к модернизации до уровня SQL Server 2012 кластеров SQL Server, построенных на базе систем Windows Server 2003 или Windows Server 2003 R2, их необходимо обновить до более современной версии Windows. К сожалению, сделать это не так просто, как может показаться, поскольку кластеризованные системы Windows не допускают эксплуатации различных версий Windows на разных узлах одного и того же кластера. В сущности, это означает, что, перед тем как приступать к установке системы SQL Server 2012, вам предстоит создать абсолютно новый кластер Windows Server 2008 R2 с новым сетевым именем кластера и новым IP-адресом.

Сложно ли это на самом деле?

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

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

Денни Черри (dcherry@awarenesstech.com)?— старший администратор баз данных и архитектор в компании Awareness Technologies, более 10 лет занимается управлением системами SQL Server. Имеет несколько сертификатов Microsoft и звание Microsoft MVP