Сценарии высокой доступности серверов System Center 2012

С приближающимся выходом System Center 2012 многие заказчики задают мне вопросы по его кластеризации. Как правильно спланировать высокую доступность серверов System Center? Как совершить миграцию с существующих инсталляций? Сегодня мы поговорим о теории, как правильно планировать дизайн и миграцию. Немного после я напишу серию статей, на практике показывающих пошаговую установку высокодоступной конфигурации. Здесь и далее я буду описывать серверы System Center на примере Virtual Machine Manager 2012, порядочный опыт промышленного внедрения которого у меня уже накопился.

Кластеризация – высокая доступность встроенными средствами

Одной из новых возможностей всех серверных продуктов System Center 2012 является поддержка создания высокодоступных кластерных конфигураций. Что для этого требуется? Возможна ли кластеризация в виртуальной среде?

Для начала сразу скажу, что кластеризация серверов System Center не имеет ничего общего с размещением этих продуктов в кластеризованных виртуальных машинах. Забегая вперёд, скажу, что ничто не мешает комбинировать эти сценарии. Мы будем рассматривать именно высокодоступные кластеры серверов System Center, в типовой модели active/passive. В данной модели серверное ПО установлено на двух серверах, лишь одном из которых является активным, и отзывается на некое общее кластерное имя и кластерный IP адрес. При отказе активного сервера происходит переход по отказу, экземпляр ПО стартует на втором узле под тем же именем и IP адресом. Все стандартные рекомендации по кластеризации применимы в этом случае. Если вы строите кластер из чётного количества серверов, то озаботьтесь наличием голосующего арбитра, решающего конфликты: вам потребуется кворум диск или общий сетевой ресурс.

Кластеризация в виртуальной среде. Планирование и дизайн

Прекрасно понимаю всех, кто не захочет отдавать по два физических сервера каждому продукту System Center, а запросит возможности построить кластер из виртуальных машин. К счастью для всех нас, для кластеризации VMM не требуется иметь общего диска. На каждом члене кластера мы проведём инсталляцию на локальный диск. Вся конфигурация хранится в базе данных SQL, очевидно, что в случае виртуальных машин мы рекомендуем иметь внешнюю инсталляцию SQL, хотя об этом более подробно ниже. Некоторые продукты System Center требуют размещения данных на файловых ресурсах. Примером является Библиотека VMM или точки дистрибуции SCCM. Очевидно, что для построения истинно высокодоступной конфигурации следует данные ресурсы также делать высокодоступными: размещайте их на существующих кластерах файловых серверов. Если кластеров файловых серверов у вас нет, то для виртуализации Microsoft вывод напрашивается сам собой. Ресурс файлового сервера для задач VMM, который к тому же будет являться кластерным арбитром, можно создать на самих серверах виртуализации, выделив для этой цели отдельный LUN. Библиотека и арбитр могут являться двумя общими папками на одном диске в одном кластерном ресурсе типа файловый сервер. Microsoft официально поддерживает совмещение нескольких ролей на одном сервере. Если вы услышите обратное от какого-то евангелиста, запросите его ссылку на официальный ресурс, утверждающий обратное.

База данных для высокодоступных инсталляций System Center

Создавая кластер VMM было бы нелогично размещать базу данных, хранящую всю информацию в не высокодоступной конфигурации. Идеальным вариантом является использование существующего кластера SQL Server. Что делать, если такого кластера нет? Возможны варианты. На момент выхода System Center официально поддерживает лишь кластеры SQL Server для высокодоступных сценариев SQL. К сожалению, Log Shipping не прозрачен для приложений и в случае его использования могут возникнуть проблемы. SQL Mirroring таких проблем не имеет, однако в случае отказа основного сервера SQL вам потребуется на узле VMM в реестре поправить имя SQL сервера. Увы, System Center 2012 всё еще не использует SQL Native Client, который умеет автоматически переключать запросы на зеркалируемый сервер SQL. Однако, есть и хорошие новости. Целых две. В первом пакете обновления VMM2012, который выйдет в течение 30 дней после выхода следующей версии ОС, будет поддержка технологии SQL Mirroring, а также официальная поддержка SQL Server 2012. Финальная версия VMM 2012 была собрана почти за три месяца до финальной версии SQL Server 2012, так что очевидно, что сценарии с SQL 2012 в VMM 2012 не тестировались. Одной из наиболее приятных для инфраструктурных задач новых функций SQL Server 2012 является возможность создания кластера без наличия общего дискового хранилища. Вы сможете иметь две виртуальных машины, возможно даже в разных ЦОД, работающих как кластер SQL Server 2012. VMM 2012 станет поддерживать SQL Server 2012 с первого пакета обновлений, работа над которым ведётся уже три месяца.

Требования к инфраструктуре, планирование миграции

Серверы System Center 2012 требуют в качестве ОС Windows Server 2008 R2 SP1. Также требуется наличие Active Directory уровня не ниже 2003. Для ряда задач вам потребуется инфраструктура PKI и возможность выдавать сертификаты.

Серверы VMM 2008 R2 установлены уже на Windows Server 2008 R2, однако для других продуктов System Center, как правило, картина противоположная. Если вы захотите выполнить обновление, например, SCOM 2007 R2 до 2012, сначала вам потребуется обновить ОС до Windows Server 2008 R2 SP1, или сделать чистую установку, подключившись к существующей базе данных. Далее вы сможете выполнить in-place обновление до 2012. Задача вполне тривиальная, единственный совет, который я бы вам сделал – сразу сохраните ключи шифрования в DKM контейнер Active Directory, даже если пока не планируете делать кластера. Ключи шифрования – новая функция, используются продуктами System Center 2012 для шифрования конфиденциальных данных в SQL – паролей, серийных номеров и так далее. Если в будущем вы переустановите VMM (SCOM, SCMM,..) на другой сервер, не сохранив при первоначальной установке ключи в Active Directory, вы потеряете данные, сохранённые в зашифрованных столбцах. Если вы планируете создавать кластер, публикация DKM в Active Directory является обязательным шагом при установке первого узла.

Я думаю, что для введения информации хватит. Скоро опишу процесс кластерной установки VMM 2012, наверное сразу с SQL Server 2012, ибо описание установки SQL 2008 и SQL 2008 R2 я уже делал в циклах по VMM 2008 и 2008 R2 соответственно.