Поставил перед собой задачу развернуть VmWare vCenter 4.1 в Windows кластере для управления двумя хостами ESX4.
В моём распоряжении оказался дистрибутив VMware-VIMSetup-all-4.1.0-345042
Перед началом работ имеется:
Географически распределенный кластер Windows 2008 (на мой взгляд с Windows 2008 R2 было бы то же самое) с двумя узлами. Кластер единой копии, но с оговоркой (в данном случае это но важно) на самом деле Single Copy достигается за счет EMC Cluster Enabler, который управляет репликой между двумя независимыми хранилищами CLARiiON CX4-120 на которых реплицируются луны(Logical Unit Number) между хранилищами, и в каждый момент времени активная нода видит необходимый том на луне со своей (расположенной рядом - на том же сайте) системы хранения.
Тип кластера - набор узлов большинства (Majority node set) c file whitness share (файловым свидетелем - специальная сетевая папка) на третьем сервере, не входящем в кластер.
Шаги установки.
1.Подготавливаем SQL базу.
На SQL сервере создал пустую базу, а также создал пользователя с SQL авторизацией и предоставил ему право db_owner.
2.Настройка ODBC.
На обоих нодах кластера в ODBC( «start»->«control panel»->«administrative tools»->«Data Sources (ODBC)»->tab(«Systerm DSN») ) создаем источник данных с использованием SQL Native Client (его необходимо установить если не установлен) и проверяем подключение из под SQL пользователя к созданной базе на 1-м шаге.
3.Подготовка общего диска для кластерной группы VCenter-а.Рассмотрим на примере SAN+EMC Cluster Enabler
3.1.На данном этапе на обоих системах хранения необходимо создать одинаковые LUN-ы (одинаковый размер и одинаковый владелец Storage Processor - на обоих системах хранения должен быть либо A-процессор, либо B-процессор).
3.2.Далее необходимо включить зеркалирование этих LUNов с начальной инициализацией или без неё - решать Вам, но в любом случае нам придется LUN-источник отформатировать, что автоматически прозеркалируется на 2-й системе хранения на зеркальном луне.
3.3.Презентовать обоим узлам кластера Windows LUN с одной системы хранения (первой или 2-й не важно -главное потом следить от какой системы мы будем де-презентовать(отнимать) LUN) через обе SAN-фабрики, если таковые имеются. Этот шаг очень важен так как он нам позволит "обмануть" Windows кластер и позволит добавить новый общий диск в пул дисков Windows-кластера, а в дальнейшем мы его добавим в группу ресурсов кластера vCenter.
3.4.На активном узле Windows кластера, а точнее на том узле кластера Windows, который держит диск доступным в настоящий момент отформатировать его, задать букву и т.п. Здесь необходимо сделать так, что бы узел кластера, который является текущим владельцем диска был от узел, который находиться на одном сайте (рядом) с той же системой хранения на которой расположен этот LUN, это легко проверить, убедившись, что этот LUN-источник находиться на том же сайте что и текущий узел - держатель раздела диска Windows кластера.
3.5.В оснастке «Failover Cluster Management» на разделе «Storage» кластера Windows выбрать «Add disk» и добавить новый диск в ресурсы кластера Windows.
4.Создание кластерного ресурса.
На данном шаге через оснастку «Failover Cluster Management» необходимо создать имя (пусть в нашем случае это будет «virtualcenter.mydomain.ru») и IP-адрес виртуального узла «virtualcenter.mydomain.ru» для этого идем в «Services and Applications» - хлопаем правой кнопкой мыши и выбираем «Configure Service or Application...» далее выбираем «Generic Service» далее выбор служб для кластерного ресурса (пока можно выбрать любой сервис - потом удалим его) и указание IP-адреса кластерной группы ресурсов. Далее добавляем сюда же диск подготовленный в п.3
5.Дальнейшая подготовка кластерного диска
5.1.Отключить или деперезентовать LUN от той ноды кластера, которая находиться на другом сайте (удалена) по сравнению с сайтом активного LUNa-источника (CLARiiON-а). Нода в это время должна быть пассивной
5.2.Подключить или презентовать на другом сайте (отличном от сайта LUNа-источника) узлу кластера, от которого отключили LUN-источник на шаге 5.1, LUN-приемник зеркальной пары LUN-ов на разных CLARiiON-ах.
5.3.В оснастке EMC MirrorView/Cluster Enabler (не нужно говорить что «EMC MirrorView/CE»+«EMC Solution Enabler» с опцией EMC Base Demon» или что то в этом роде точно не помню»+«EMC Power Path»+«Navisphere Agent»+«Navisphere CLI» должны быть установлены на обоих узлах кластера Windows, а через symlmf добавлены лицензии Solution enabler-а и прописаны учетные данные со сторадж процессорами обоих CLARRiiON-ов командой вида
symcfg auth add -hostname clariion-main-spa -username administrator -password password
что в итоге должно проверятся
symcfg auth list
) запускаем «Configure» и если у нас не было ранее сконфигурированных групп для EMC конфигурируем весь windows кластер, если жы были, то на нашей кластерной группе vCenter-а говорим «Configure CE». После чего можно проверять перебегание подготовленной кластерной группы с диска между нодами кластера Windows.
6.Установка VmWare vCenter на активный узел кластера.
Там где в настоящее время доступен подготовленный общий диск кластера vCenter. Пусть этот диск будет иметь букву N. Из шагов установки здесь нужно обратить внимание на то, что необходимо точно указывать имя ODBC источника данных, подготовленного на шаге 2 и установку производим на общий диск N.
7.Редактирование реестра.
Запускаем regedit переходим в ветку реестра «[HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware VirtualCenter]» и:
7.1.Находим параметр с именем «VCInstanceId» в значение которого вносим имя кластерной группы vCenter, в нашем случае это будет имя «virtualcenter.mydomain.ru»
7.2.Создаем параметр типа с именем «managedip», куда вносим IP-адрес кластерного ресурса «virtualcenter.mydomain.ru», подготовленного на 4-м шаге
8.Правка LDAP VmWare.
Для этого понадобиться оснастка ADSIEdit.msc, подключаемся к узлу кластера, указав имя узла кластера Windows, куда установили на 6-м шаге VmWare(служба «VMwareVCMSDS» должна быть на нем запущена) и подключаемся к контексту «dc=vitrualcenter,dc=vmware,dc=int», надо заметить что имя контекста «dc=vitrualcenter» не имеет никакого отношения к имени кластерной группы ресурсов «virtualcenter.mydomain.ru», это просто встроенное имя контекста LDAP каталога VmWare.
Здесь необходимо поправить во всех обведенных корневых и вложенных ветках рисунка:
во всех значениях атрибутов «vmw-vc-HealthComponentName» и «vmw-vc-URL» имя узла кластера на имя виртуального центра - «virtualcenter.mydomain.ru», если же указан localhost, то ничего менять не нужно.
9.Правка конфигурационных файлов VmWare, расположенных в «C:\Users\All Users\VMware\VMware VirtualCenter».
9.1.Файл «vpxd.cfg» открываем и внутри секции
сразу после её открытия вставляем:
XXX.XXX.XXX.XXX
где XXX.XXX.XXX.XXX - это IP-адрес для «virtualcenter.mydomain.ru», сконфигурированный на шаге 4.
9.2.Файл «proxy.xml» где необходимо поправиться имя узла кластера на имя «virtualcenter.mydomain.ru», также я поправил IP-адрес в одной из секций на IP-адрес от «virtualcenter.mydomain.ru», вообще если там есть ещё другие IP-адреса то можно их удалять целиком секцией с тегом, только при этом поправить нумерацию с нуля id="0" до нужного числа в секциях и выставить правильное число секций в начальном теге _length
10.Добавление служб VmWare в кластерную группу ресурсов virtualcenter, сюда добавляем службы:
10.1.«VMwareVCMSDS» - с зависимостью от диска кластерной группы, имени virtualcenter и IP=адреса - куда установили vCenter на шаге 6.
10.2.«VMware VirtualCenter Server» - с зависимостью от службы «VMwareVCMSDS».
10.3.«VMware VirtualCenter Management Webservices» - с зависимостью от службы "VMware VirtualCenter Server».
11.На 2-м и последующих узлах кластера необходимо проделать следующее:
11.1.Установить VmWare на тот же общий диск кластера по тому же пути, остановив кластерные службы VmWare, но не весь кластер virtualcenter. Я так сделал предварительно переименовав имевшуюся уже там папку, а потом удалил новую - установленную и переименовал обратно старую.
11.2.Импортировать с первого узла всю ветку реестра «[HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.]», возможно что достаточно только ключа
[HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware VirtualCenter\volatile]
"UUIDHost"="34 38 37 33 36 32 47 42-38 39 33 38 34 30 4d 52"
Но я не заморачивался с этим
11.3.Скопировать весь каталог «C:\Users\All Users\VMware\VMware VirtualCenter» с первого узла Windows кластера в соответствующий каталог (можно предварительно сделать резервную копию) второго и последующих узлов Windows кластера, предварительно удалив там всё. На самом деле достаточно только файлы «vpxd.cfg и «proxy.xml», а также каталог SSL, но надо учитывать что без замены каталога «SSL» и реестра узлы будут работать как два независимых виртуальных центра и ESX-хосты будут теряться при перебегании vCenter-а.
12.Проверяем перебегание - всё должно работать.
Ссылки по теме
vpxd.cfg Advanced Configuration
Установка VMware Infractructure
Enabling server-certificate verification for Virtual Infrastructure Clients
Альтернативное решение от VMware vCenter Server Heartbeat
Установка vCenter на Windows 2008 R2
Supported vCenter Server high availability options
Increase the availability of vCenter Server
Trusted SSL certificates - request for peer review
Установка VMware vCenter Server 4.0 на кластер под управлением Windows Server 2008 R2
Использование MSCS для кластеризации VirtualCenter и виртуальных машин на VMware ESX.
Changing the Name of the vCenter Server