Прежде чем перейти к пошаговой инструкции по настройке кластера VirtualCenter на основе MSCS по сценарию Cluster in a Box, приведем список основных конфигурационных файлов, VirtualCenter, которые так или иначе будут затронуты в ходе настройки кластера.
Несмотря на то, что большая часть информации о состоянии VirtualCenter хранится в базе, часть настроек все же находится на самой машине с установленным VirtualCenter. В таблице 1 указаны конфигурационные файлы и за что они отвечают.
Таблица 1 – Конфигурационные файлы VirtualCenter
Файлы
Описание
Расположение на диске на машине с VirtualCenter
Файлы лицензий
Лицензионные файлы всех поддерживаемых фичей сервера VirtualCenter
Путь ко всем конфигурационным файлам: C:\Program Files\VMware\VMware License Server\Licenses
Конфигурационный файл VirtualCenter
Хранит настройки VirtualCenter, а также его особенности взаимодействия с хостами ESX и клиентскими программами, например, такими как VI Client
C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\vpxd.cfg
SSL сертификаты
Сертификаты для корректной аутентификации с хостами ESX
Путь ко всем конфигурационным файлам: C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\SSL
Файлы обновлений
В некоторых случаях может понадобиться изменить настройки агентов, устанавливаемых на хосты ESX, по мере добавления новых ESX в виртуальное окружение
Путь ко всем конфигурационным файлам: C:\Program Files\VMware\VMware VirtualCenter 2.0\upgrade
Реестр Windows
Различные ключи реестра для настройки VirtualCenter. Имеют значение только если вручную изменяются значения установленные по умолчанию.
Имена ключей можно найти в логах VirtualCenter
Настройка кластера по сценарию Cluster in a Box
Настройка кластера включает следующие шаги:
Настройка кластера Microsoft на основе MSCS, используя одну из моделей предыдущей статьи.
Развертывание базы VirtualCenter на отдельном хосте или кластере.
Установка VirtualCenter на первом узле кластера. Данный этап включает установку сервера лицензий на том же узле, а также подключение к базе, развернутой в предыдущем пункте.
Установка VirtualCenter на втором узле кластера идентично предыдущему пункту.
Создание ресурсной группы и ресурсов VirtualCenter
Запуск кластера
Тестирование переключений при отказе VirtualCenter
Настройка кластера MSCS
Подготовка к созданию кластера:
Для создания кластера необходимо создать диск vmdk в режиме «eagerzeroedthick», данный режим специально рекомендуется для дисков виртуальных машин кластера:
По умолчанию VI Client или команда vmkfstools создают диски в формате zeroedthick. Преобразовать диск в формат eagerzeroedthick можно при импорте, клонировании или увеличении диска. Диски созданные из шаблонов также создаются в формате eagerzeroedthick.
Данный диск подключаем к заново созданной виртуальной машине, устанавливаем ОС (если создавали с нуля, а не из шаблона), устанавливаем VMware Tools и отключаем CD-ROM.
Второй узел кластера создаем путем клонирования узла созданного выше, указывая уникальные для этого узла параметры, после чего подключаем оба узла к домену.
Добавление кворум диска к узлам кластера
Кворум диск также создаем с помощью команды vmkfstools. Располагаться данный диск может как локально, так и на общем LUN:
Выключаем оба узла и с помощью VI Client подключаем новый жесткий диск, указав созданный до этого кворум диск. Так как кворум диск должен быть подключен к отдельному SCSI контроллеру, на странице Specify Advanced Options выбираем новое виртуальное устройство SCSI (Virtual Device Node), например SCSI (1:0).
Обратите внимание, что данное значение должно быть одинаково для обоих узлов!
Для вновь созданного контроллера SCSI в настройках SCSI Bus Sharing выбираем значение Virtual.
Включаем первый узел и запускаем оснастку «Управление компьютером» (Manage) и выбираем «Управление дисками» (Disk Management), после чего запустится мастер инициализации нового диска. В данном пункте необходимо только инициализировать диск, делать конвертацию не нужно. После этого кворум диск перейдет в состояние «Online».
После того как диск инициализирован, создаем новый раздел, указав метку тома Quorum или любую другую, а также, поставив флаг использовать быстрое форматирование.
После этого выключаем первый узел и выполняем предыдущие два пункта для второго узла. В моем случае мастер не запустился, а Disk Management показал уже отформатированный диск, осталось только назначить такую же букву для этого тома.
Обратите внимание, что на данном этапе, необходимо чтобы оба узла включались попеременно.
Подготовка к запуску кластерной службы Майкрософт
Настройка сетевых адаптеров
На обоих узлах необходимо добавить дополнительный сетевой адаптер, подключенный к отдельной частной (private) сети. На хосте ESX для этого добавляем порт группу для виртуальных машин Private.
Оба сетевых адаптера на виртуальных машинах должны иметь статические адреса.
Включаем первый узел и выполняем следующие шаги.
Изменяем порядок, в котором сетевые службы получают доступ к сетевым адаптерам. Для этого открываем Network Connections -> Advanced-> Advanced Settings. Необходимо чтобы сеть Private в списке была второй после сети Public, в моем случае VM Network, потому что я не менял название сети по умолчанию.
Изменяем некоторые сетевые настройки для сети Private. Для этого надо открыть свойства TCP/IP данной сети и выбрать дополнительные настройки (Advanced). На вкладке DNS необходимо убедиться, что отсутствуют доступные DNS сервера и отключены Register this connection’s address is registered и Use this connection’s DNS suffix in DNS registration. На вкладке WINS убедитесь, что отключено Enable LMHOSTS lookup и выбрано Disable NetBIOS over TCP/IP.
После выполнения вышеперечисленных действий выключаем первый узел и выполняем все действия для второго узла.
Создание пользователя для кластерной службы.
На контроллере домена запускаем оснастку Active Directory Users and Computers и создаем нового пользователя со следующими параметрами:
User Cannot Change Password
Password Never Expires
Конфигурирование кластерной службы Майкрософт
Запускаем первый узел, а далее оснастку Cluster Administrator: Start -> All Programs -> Administrative Tools -> Cluster Administrator и выбираем создание нового кластера (Create New Cluster). После этого запустится мастер по созданию кластера.
Выбираем домен из списка и назначаем имя службы кластера MSCS. В качестве имени первого узла кластера должно отобразиться имя компьютера, если по каким либо причинам этого не произойдет, выбираем нужное имя с помощью кнопки Browse. После этого будет установлена и сконфигурирована кластерная служба на первом узле.
Далее необходимо ввести IP-адрес для управления кластером, который специально под него выделяется. Данный адрес необходимо зарезервировать в DHCP, как адрес, который не может быть выдан другим хостам. У кластера существует имя и IP-адрес. Сетевое имя кластера является плавающим и в зависимости от того, к какому узлу оно сейчас привязано, на том узле и располагается IP адрес кластера для соединения с ним.
Вводим имя пользователя и логин, которые были создан ранее, и после просмотра итоговой информации, ждем, пока кластер конфигурируется. Процесс заканчивается зеленой строкой состояния.
Нажимаем кнопку Завершить (Finish) и убеждаемся, что в оснастке Cluster Administrator первый узел находится в состоянии Online:
Добавление второго узла в кластер.
Включаем второй узел и из оснастки Cluster Administrator и добавляем второй узел в кластер File-> New -> Node, используя кнопку Browse выбираем нужный узел и жмем Добавить (Add). Когда будет выдано соответствующее диалоговое окно, вводим пароль для кластерной службы и следуем далее, ничего не меняя до завершения работы мастера.
Убеждаемся, что в зоне DNS существуют записи Host (A) с IP-адресом управления кластером MSCS если их нет добавляем вручную.
Внесение изменений в реестр ОС
Компания Microsoft рекомендует изменить таймаут I/O на 60 секунд или более для ОС кластера. Используя regedit.exe измените значение следующего ключа: HLKM\System\CurrentControlSet\Services\Disk\TimeOutValue.
На данном этапе создание кластера Майкрософт можно считать завершенным.
Развертывание базы VirtualCenter на отдельном хосте или кластере
Процесс развертывания базы VirtualCenter зависит от того, какую базу вы устанавливаете. Детали по установке можно найти в главе 4 следующего документа Installation and Upgrade Guide, в разделе «Preparing the VirtualCenter Database». Для базы в идеале также необходимо сконфигурировать высокую доступность, используя кластеризацию. В нашем случае, я установил SQL Server 2005 на выделенном Windows Server 2003 MS.
Установка VirtualCenter на первом узле кластера
VirtualCenter может уже быть установленным на первом узле, либо установленным с нуля. Для установки также необходимо воспользоваться следующим документом Installation and Upgrade Guide, глава 4 "Installing the VirtualCenter Server". Во время установки обратите внимание на следующие шаги:
На этапе подключения к базе выбираем Use an existing database server, и вводим информацию для подключения к базе, развернутой в предыдущем пункте, используя соответствующее имя источника данных (DSN).
При настройке сервера лицензий указываем Install a local VMware License Server и настраиваем таким образом, чтобы VMware VirtualCenter использовал данный сервер. Далее необходимо установить лицензию VMware.
Для всех остальных опций оставляем значения по умолчанию, если не требуется настройка специфических опций для вашей инфраструктуры.
Проверяем функциональность работы VirtualCenter, это можно сделать, подключившись к нему с помощью VI Client.
По окончанию проверки работоспособности VirtualCenter, останавливаем службу VMware VirtualCenter Server на первом узле.
Установка VirtualCenter на втором узле кластера
Установка VirtualCenter на втором узле кластера, почти полностью идентична установке на первом узле. Необходимо указать те же настройки и тот же файл лицензий, что и в предыдущем пункте. Исключение составляет, что при выборе существующей базы необходимо указать не обновлять хранилище VirtualCenter.
Проверить функциональность работы можно также, попробовав подключиться к VirtualCenter с помощью VI Client.
Далее необходимо остановить службу VirtualCenter и сервера лицензий на втором узле и вновь запустить их на первом.
Отдельным пунктом стоит вынести копирование SSL сертификатов. Для восстановления после сбоев кластера необходимо, чтобы оба узда кластера имели одинаковые сертификаты. Данная настройка не вызовет конфликта т.к. VirtualCenter не позволяет двум сервисам VirtualCenter получить одновременный доступ к базе. Однако для доступа к базе они должны предоставлять одинаковые данные для аутентификации. В реализации VirtualCenter 2.5 пароль для доступа к базе хранится в зашифрованном виде, используя сертификаты. Проблема состоит в том, что для каждой новой установки VirtualCenter создаются новые сертификаты. Для решения этой задачи необходимо сбросить пароль на первом узле, скопировать сертификаты на второй узел и установить такой же пароль что и на первом узле. После выполнения данных действий на обоих узлах будут находиться сертификаты с одинаковыми паролями, и процесс восстановления пройдет без ошибок.
Для этого необходимо выполнить следующие действия:
Запустить C:\Program Files\VMware\Infrastructure\VirtualCenter Server\vpxd.exe –p и установить новый пароль для первого узла.
Остановить службу VirtualCenter на первом узле и скопировать сертификаты с первого узла на второй узел C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\SSL (если требуется дальнейшее использование сертификатов второго узла их необходимо переименовать, либо скопировать в другое место)
Для второго узла необходимо выполнить пункт 1 используя тот же пароль, запустить службу VirtualCenter и, используя, клиент VI убедиться, что подключение проходит успешно.
Остановить службу VirtualCenter на втором узле и запустить на первом узле.
Создание ресурсной группы и ресурсов VirtualCenter
Теперь необходимо создать новую кластерную группу для управления кластером VirtualCenter и службами виртуальной инфраструктуры.
Запускаем оснастку Cluster Administrator и по правой кнопкой мышки на вкладке Groups и выбираем New -> Group. Вводим имя для кластера VirtualCenter, и не добавляя узлов заканчиваем создание группы.
Выбираем вновь созданную группу и создаем в ней следующие ресурсы по нижеуказанным правилам (New ->Resource):
VirtualCenter IP address
Virtual Center network name
VirtualCenter Server
VirtualCenter Web access server
VirtualCenter license server
Подробно остановимся на создании первого ресурса VirtualCenter IP address. Остальные ресурсы создаются подобным образом, а специфические параметры указаны в таблице 2.
При создании ресурса VirtualCenter IP address необходимо указать имя ресурса, в качестве типа ресурса выбрать IP address и убедиться, что включена опция Run this resource in a separate Resource Monitor.
На этапе выбора зависимостей (Dependencies) возможность выбора ресурсов зависимых от данного ресурса отсутствует, поэтому просто пропускаем данный этап.
Указываем IP-адрес для управления доступом к кластеру VirtualCenter. Убедитесь, что в DNS присутствует запись, соответствующая Host (A)-записи. Лично я добавил данную запись вручную для доступа к кластеру, задав имя vccluster и свободный IP адрес из кластерной подсети.
На этом процедура создания первого ресурса завершается.
Как я уже отметил, процесс создания остальных ресурсов похож на указанный выше, а параметры, уникальные для каждого ресурса, указаны в таблице 2. Из параметров, которые являются одинаковыми при настройке ресурсов следует выделить:
Выбор опции Run this resource in a separate Resource Monitor.
Все узлы вашего кластера указаны как возможные владельцы (Possible Owners) данного ресурса.
Таблица 2 – Настройки ресурсов VirtualCenter
Ресурс
Тип ресурса
Зависимости
Дополнительные настройки
VirtualCenter IP
address
IP address
отсутствует
-
Virtual Center
network name
Network name
VirtualCenter
IP address
Используйте имя соответствующее IP адресу, который указан в DNS, в нашем случае это vccluster. Опции DNS Registration Must Succeed и Enable Kerberos Authentication должны быть включены.
VirtualCenter
Server
Generic service
Virtual Center
network name
Используйте имя службы vpxd. Оставьте пустым значение параметра Start Parameters. Следующая опция должна быть включена Use Network Name for computer name. Настраивайте зависимость с реестром только если VirtualCenter
Server IP адрес прописан с помощью добавления в реестр Windows
VirtualCenter Web
access server
Generic service
VirtualCenter
Server
Используйте имя службы webAccess. Следующая опция должна быть включена: Use Network Name for computer name. Не включайте зависимость с реестром.
VirtualCenter
license server
Generic service
VirtualCenter
network name
Используйте имя службы VMware License Server. Следующая опция должна быть включена Use Network Name for computer name. Не включайте зависимость с реестром.
На этом создание ресурсов завершается и остается только прописать в VirtualCenter IP-адрес, выделенный для кластера VirtualCenter. Этот пункт можно выполнить как с помощью VI Client, либо прописав вручную в реестре Windows соответствующий ключ или же внести изменения в файл vpxd.cfg:
Самым простым способом является запуск VI Client, подключение к первому узлу кластера и прописывание выделенного IP-адреса в настройках VirtualCenter Server Managed IP (Administration ->VirtualCenter Management Server Configuration -> Runtime Settings).
IP адрес можно прописать и вручную изменив следующий ключ реестра managedip, расположенный в ключе HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware VirtualCenter. В данном случае при настройке ресурса VirtualCenter Server необходимо настроить репликацию(зависимость) с реестром.
Для добавления IP-адреса в файл vpxd.cfg, нужно под тэгом добавить строчку IP address , где IP address – адрес, выделенный под кластер VirtualCenter. Данный файл необходимо скопировать на второй узел кластера.
Запуск кластера
Для запуска кластера выберите созданную ранее группу VC group и по правой кнопке мыши запустите кластер (Bring Online). После этого кластер должен запуститься и перейти в состояние Online.
Тестирование переключений при отказе VirtualCenter
Для того чтобы протестировать работу кластера достаточно правой кнопкой мыши выделить группу VC group и запустить миграцию ресурсов с одного узла кластера на другой (Move Group). Запустившаяся миграция через 120 секунд поднимет кластерные ресурсы на другом хосте.
При этом если существовало соединение с VirtualCenter клиентом VI, оно будет разорвано и потребуется восстановить соединение.
Конечно, можно протестировать и более наглядно, путем перезагрузки или выключения одного из узлов кластера.