Что требуется для создания виртуального кластера?
К числу наиболее примечательных достоинств продукта Microsoft Virtual Server 2005 можно отнести его полную совместимость с серверными версиями Windows и полнофункциональные средства для формирования кластеров в виртуальных машинах. Создать кластер с помощью Virtual Server 2005 не так сложно, как может показаться. В этой статье я подробно расскажу обо всех этапах данного процесса.
Кластеры Windows Server 2003
Служба Microsoft Clustering Services (MSCS) представляет собой программное средство для создания кластеров на базе различных версий серверов Windows. Она обеспечивает согласованную работу нескольких систем, именуемых узлами, и формирует образ единого сервера, воспринимаемый клиентами как нечто целое, или кластер. Если один из узлов кластера выходит из строя, рабочая нагрузка этого узла автоматически перекладывается на сохранившие работоспособность узлы кластера. Мы воспользуемся системой Virtual Server 2005 для того, чтобы создать и настроить кластер Windows 2003, серверы которого реализованы в виде виртуальной машины и подключены к виртуальному разделяемому кластерному устройству хранения данных. Этот кластер был создан на базе системы HP ProLiant ML350, оснащенной двумя процессорами Xeon EM64T с тактовой частотой 3,2 ГГц, оперативной памятью емкостью 2 Гбайт и дисковой памятью емкостью 144 Гбайт (4 диска по 36 Гбайт каждый). Подробности этой демонстрационной кластерной конфигурации приводятся во врезке «Краткое описание конфигурации виртуальной машины».
Наш демонстрационный кластер имеет два узла. Для каждого узла необходимо иметь два IP-адреса. Один адрес используется для внутренних коммуникаций между узлами кластера. По этой внутренней сети от узла к узлу передается сигнал кластера (cluster heartbeat); это сигнал, который извещает каждый узел кластера о том, что другой сервер активен и готов к работе. Второй адрес нужен для того, чтобы к кластеру могли обращаться системы, подключенные к локальной сети.
Создание разделяемого кворумного диска
Одна из главных особенностей кластера — это наличие совместно используемого устройства хранения данных, которое называется кворумом кластера. Кворумный диск может иметь небольшую емкость — как правило, для тестирования вполне достаточно 50 Мбайт дискового пространства. Но если планируется добавлять кластерные ресурсы, есть смысл использовать более вместительный кворумный диск (от 100 до 500 Мбайт); этот показатель зависит от количества добавляемых ресурсов. Чтобы создать разделяемый кворумный диск, следует открыть Virtual Server Web Administrator; для этого нужно ввести URL http://server:1024/virtualserver/vswebapp.exe?view=1, где server — это имя вашей системы Virtual Server 2005. Теперь необходимо создать виртуальный жесткий диск, который будет использовать кворум, для этого требуется щелкнуть на значке Virtual Disks (в левой панели окна Web Administrator) и далее на значках Create и Fixed Size Virtual Hard Disk. Пункт Fixed Size Virtual Hard Disk следует выбирать потому, что Virtual Server 2005 не предусматривает использование в качестве кворумных накопителей динамически расширяющихся дисков. В результате появится окно, изображенное на экране 1.
Экран 1. Создание кворумного диска |
Затем нужно назначить имя виртуальному жесткому диску, который будет выполнять функции кластерного форума, и задать для него каталог. Как можно увидеть на экране 1, я выбрал для своего кворума имя MyClusterQuorum и создал его в подкаталоге Shared Virtual Machines, доступ к которому открыт для всех виртуальных машин. В такой конфигурации к разделяемому кворумному диску могут с легкостью обращаться оба узла кластера.
Настройка первого узла
Следующий этап — создание виртуальных машин, которые станут двумя узлами кластера. Чтобы создать виртуальную машину первого узла, нужно щелкнуть на пунктах Virtual Machines и Create. Появится страница, показанная на экране 2. В поле Virtual machine name следует ввести имя виртуальной машины (я назвал ее Node1). Теперь требуется указать, какой объем оперативной памяти следует выделить для этой виртуальной машины. Для тестовой кластерной среды вполне достаточно минимального объема (256 Мбайт), рекомендованного для тестовой серверной системы.
Экран 2. Создание виртуальной машины для Node1 |
Теперь перейдем к созданию нового, динамически расширяющегося виртуального жесткого диска, где будет установлена операционная система виртуальной машины Node1. Для него я выбрал предлагаемый по умолчанию размер 16 Гбайт. В отличие от кворумного диска, этот диск не предназначен для совместного использования.
Чтобы кластер мог взаимодействовать с внешней сетью, в разделе Virtual network adapter нужно указать настройку External Network; в результате данная виртуальная машина будет подключена к внешней сети главной системы (в нашем примере внешняя сеть доступна через адаптер HP NC7761 Gigabit). Virtual Server 2005 обеспечивает два варианта работы в сети: внутренний (Internal) и внешний (External). Внутренние сети могут обращаться только к другим виртуальным машинам; внешние сети могут обращаться к физической сети через адаптеры главных систем. В завершенной кластерной конфигурации будут присутствовать оба вида сетей, но пока следует выбрать внешний вариант и затем для создания виртуальной машины щелкнуть на элементе Create.
Подведем первые итоги: мы создали виртуальную машину с именем Node1, которая имеет оперативную память емкостью 256 Мбайт, виртуальный жесткий диск IDE емкостью 16 Гбайт, устройство IDE CD-ROM (его Virtual Server добавляет автоматически) и сетевой интерфейс, доступный через сетевую интерфейсную плату главной машины.
Добавление кворума
Теперь нам нужно добавить к виртуальной машине Node1 разделяемый кворумный накопитель. Щелкните на Master Status и укажите Node1. Необходимо убедиться, что Node1 отключена, и в контекстном меню выбрать Edit Configuration. Перед тем как добавить кворумный накопитель, следует установить адаптер SCSI. Для этого в окне свойств виртуальной машины Node1 нужно выбрать элемент SCSI Adapters, нажать на кнопку Add SCSI Adapter, и на экране появится страница свойств адаптера. Для идентификатора адаптера SCSI требуется выбрать предлагаемое по умолчанию значение 7. Выставьте флажок Share SCSI bus for clustering и нажмите OK.
Теперь добавим к адаптеру SCSI разделяемый жесткий диск, который станет кворумным накопителем кластера. Для этого на странице Web Administrator нужно выбрать Node1 и щелкнуть на пункте Edit Configuration. Выберите Hard Disks и нажмите на Add Disk. На экране Virtual Hard Disk Properties появится динамически расширяющийся жесткий диск, обозначенный как Virtual hard disk 1, и несколько пустых полей для диска Virtual hard disk 2 — именно в них предстоит вводить данные, касающиеся разделяемого кворумного накопителя. В разделе Virtual hard disk 2 нужно ввести путь к разделяемому диску (кворумному), созданному ранее в окне Fully qualified path to file. Этот файл нельзя обнаружить методом просмотра, поэтому при вводе маршрута нужно быть особенно внимательным. Я использовал маршрут C:Documents and SettingsAll UsersDocumentsShared Virtual MachinesMyClusterQuorum.vhd (он предлагается по умолчанию). Чтобы вводимые с клавиатуры маршруты не были слишком длинными, лучше всего создавать объекты в непосредственной близости от корневого каталога. Теперь для объекта Virtual hard disk 2 следует выбрать SCSI 0 ID 0 и нажать OK. На экране должна появиться заполненная страница свойств адаптера, похожая на страницу, показанную на экране 3.
Экран 3. Добавление кворумного диска к Node1 |
Добавление внутренней сети
Теперь все готово к добавлению второй виртуальной сетевой интерфейсной платы, которая свяжет два узла кластера. Следует щелкнуть на пункте Edit Configuration для узла Node1. Выберите Network Adapters и нажмите кнопку Add Network Adapter. Появится страница Node1 Network Adapter Properties, показанная на экране 4. В окне Connected to нужно выбрать элемент Internal Network и нажать OK. Настройка виртуальной машины для первого узла кластера завершена.
Экран 4. Добавление внутреннего сетевого интерфейса к Node1 |
Настройка второго узла
Отключите виртуальную машину Node1 и приступайте к настройке второго узла кластера — виртуальной машине Node2. Эта процедура подобна настройке узла Node1 — с двумя важными отличиями. Во-первых, для виртуальной машины Node2 потребуется уникальное имя. А во-вторых, виртуальному адаптеру SCSI нужно будет назначить уникальный идентификатор SCSI ID, с помощью которого он сможет обращаться к совместно используемому кворумному диску. Чтобы создать Node2, последовательно щелкните на пунктах Virtual Machines и Create. Появится страница Create Virtual Machine, показанная на экране 5.
Экран 5. Создание виртуальной машины для Node2 |
В поле VM name следует ввести имя Node2 и завершить заполнение этой страницы точно так же, как при создании узла Node1. Выберите пункт меню Create a new virtual hard disk и создайте динамически расширяющийся виртуальный жесткий диск. В поле Size нужно оставить предлагаемое по умолчанию значение 16 Гбайт. Чтобы обеспечить узлу Node2 возможность взаимодействия с внешней сетью, в разделе Virtual network adapter следует указать External Network. Итак, мы создали вторую виртуальную машину с именем Node2, оснащенную оперативной памятью 256 Мбайт, виртуальным жестким диском IDE на 16 Гбайт, устройством IDE CD-ROM и одной сетевой интерфейсной платой, которая обеспечивает взаимодействие с внешней сетью.
Добавление кворумного диска к Node2
Отключите узел Node2. Чтобы добавить к узлу Node2 совместно используемый кворумный накопитель, нужно прежде всего добавить к этой виртуальной машине виртуальный адаптер SCSI и затем уже добавить к адаптеру разделяемый кворумный накопитель. Итак, начинаем с добавления адаптера SCSI. Необходимо выбрать пункт Node2, затем щелкнуть на Edit Configuration. Выбираем SCSI Adapters и нажимаем на Add SCSI Adapter. На странице Node2 SCSI Adapter Properties следует выставить флажок Share SCSI bus for clustering. В списке SCSI adapter ID выберите цифру 6 (т. е. значение, отличное от избранного для Node1). Указав эти значения, нажмите OK.
Теперь приступим к добавлению к адаптеру SCSI виртуального накопителя, который будет играть роль совместно используемого кворумного диска. В меню следует выбрать пункт Edit Configuration для узла Node2 и активизировать ссылку Hard Disks. В разделе Virtual hard disk 1 будет виден виртуальный жесткий диск, созданный для данной виртуальной машины. Чтобы добавить соответствующий разделяемый виртуальный диск, нужно нажать кнопку Add Disk и далее в окне Virtual hard disk 2 ввести сведения о жестком диске. В поле Fully qualified path to file окна Virtual hard disk 2 введите путь доступа к разделяемому кворумному диску — это тот же самый путь, который использовался при настройке узла Node1. Теперь в окне Attachment требуется выбрать значение SCSI 0 ID 0. В завершенном виде настройки конфигурации виртуального диска будут выглядеть так, как показано на экране 3.
Добавление внутренней сети к Node2
Следующий этап — оснащение узла Node2 второй виртуальной сетевой интерфейсной платой. Она создаст внутреннюю сеть, соединяющую два узла кластера. На странице Web Administrator следует модифицировать конфигурацию узла Node2. Выберите Network Adapters и нажмите кнопку Add Network Adapter >>. В окне Connected to страницы Virtual network adapter 2 выберите элемент Internal Network и нажмите OK. Настройки конфигурации внутренней сети узла Node2 будут выглядеть точно так же, как те, что были указаны для узла Node1 (см. экран 4). На экране 6 представлена завершенная конфигурация узла Node2. Выполнив настройку виртуальной машины Node2, следует обязательно отключить машину; это нужно для того, чтобы она не мешала при последующей настройке кворумного накопителя Node1.
Экран 6. Добавление внутреннего сетевого интерфейса к Node1 |
Настройка Windows 2003 на узле Node1
По завершении настройки виртуальных машин «аппаратная» часть нашего виртуального кластера готова к работе. Следующий этап — установка и настройка Windows 2003 на каждом узле кластера. Windows 2003 можно установить либо с установочного компакт-диска, либо с образа ISO установочного компакт-диска. Чтобы установить операционную систему с компакт-диска Windows 2003, достаточно просто установить этот диск в накопитель CD-ROM/DVD физической системы и запустить виртуальную машину Node1. По умолчанию виртуальная машина получает доступ к этому накопителю. Во избежание возможного повреждения разделяемого кворумного диска следует позаботиться о том, чтобы в данный момент узел Node2 был отключен, и продолжить установку Windows 2003. Используйте стандартные настройки и присвойте системе имя Node1. Обязательно включите Node1 в состав существующего домена. В любой момент после установки операционной системы вы сможете по своему усмотрению установить компонент Virtual Machine Additions, который содержит усовершенствованный видеодрайвер.
Следующие этапы — настройка конфигурации сети и разделяемого кворумного накопителя, который будет использоваться кластером. Для настройки сети потребуется изменить настройки сетевой конфигурации Windows для внутреннего и внешнего сетевых адаптеров виртуальной машины Node1. Чтобы выполнить настройку адаптеров Windows, нужно открыть окно Network Connections. Для этого в меню Start следует выбрать пункты Programs, Accessories, Communications и Network Connections. Сначала нужно перенастроить адаптер внутренней сети, чтобы два узла кластера могли взаимодействовать друг с другом. Однако оказывается, что обнаружить сетевую интерфейсную плату, связанную с внутренней сетью, не так-то просто. Трудность заключается в том, что в окне Network Connections свойства внутреннего и внешнего виртуальных сетевых адаптеров совершенно неотличимы друг от друга. По своему опыту могу сказать, что лучший способ обнаружить внутреннюю сеть — открыть страницу Web Administrator и выбрать пункт Edit Configuration для узла Node1. Затем нужно выбрать Network Adapters и выписать MAC-адрес, назначенный адаптеру внутренней сети. В моем случае внутренний виртуальный сетевой адаптер имеет MAC-адрес 00-03-FF-32-91-07. Чтобы найти соответствующий адрес в разделе Local area connection, отображаемом в диалоговом окне Network Connections, я открываю окно командной строки, ввожу команду
ipconfig /all
и ищу соответствующее значение в списке под заголовком Physical address.
Выяснив, какое локальное соединение связано с внутренней и внешней сетью, я изменяю имена соединений на более понятные. Чтобы изменить имена соединений, следует открыть папку Network Connections, выбрать нужное соединение, нажать клавишу F2 и ввести новое имя. Если мне нужно точно знать, какой адаптер используется для соединения с внутренней сетью кластера, а какой — для связи с внешней сетью, я назначаю им имена Internal Network и External Network. Затем я указываю настройки конфигурации для каждого соединения. Правой клавишей мыши я щелкаю на соответствующем соединении и в контекстном меню выбираю пункт Properties. Для внешних соединений я выбираю фиксированный IP-адрес 192.168.100.191 и маску подсети 255.255.255.0. Затем я вручную назначаю IP-адреса для службы DNS своей сети и для применяемого по умолчанию шлюза. Для внутренней сети я выбираю фиксированный IP-адрес 192.168.200.1 и маску подсети 255.255.255.0, а поля настроек для шлюза и DNS оставляю незаполненными.
Следующий шаг — настройка кворумного диска для узла Node1. Открываем меню Start. Правой клавишей мыши нужно щелкнуть на пункте My Computer, затем щелкнуть на пункте Manage и выполнить двойной щелчок на пункте Disk Management. Появится окно, подобное изображенному на экране 7. В нем будут отображены два диска: Disk 0 — системный диск узла Node1 и Disk 1 — разделяемый диск SCSI, который станет кворумным накопителем кластера. Правой клавишей мыши щелкните на 47 Мбайт нераспределенного дискового пространства рядом с диском Disk 1, а затем — на элементе New Partition. Откроется окно мастера New Partition Wizard. Для параметров Partition Type и Partition Size следует использовать предлагаемые значения. Что же касается буквенного обозначения накопителя, то я обычно выбираю букву Q (quorum drive). По завершении работы мастера у нас получится два накопителя: C и Q.
Экран 7. Назначение кворумного диска для Node2 |
Следующий шаг: с помощью оснастки Active Directory Users and Computers консоли Microsoft Management Console (MMC) нужно создать доменную учетную запись, которую будет использовать MSCS. Учетная запись пользователя, которую мы будем создавать, необязательно должна быть наделена правами администратора; можно с успехом обойтись стандартной учетной записью пользователя. При этом полезно дать учетной записи имя, отражающее смысл, — к примеру, SVC-MyCluster (вместо MyCluster введите имя своего кластера).
А теперь пришло время создавать кластер на узле Node1. Зарегистрируйтесь в системе в качестве администратора. Теперь для того, чтобы настроить первый узел кластера, в меню Administrative Tools нужно выбрать пункт Cluster Administrator. Откроется диалоговое окно Open Connection to Cluster. Из списка следует выбрать пункт Create new cluster, в результате чего будет запущен мастер New Server Cluster Wizard. Выберите имя домена, частью которого будет новый кластер. Я назвал свой кластер MyCluster и включил его в существующий домен teca.local. Домен teca.local я создал ранее; он размещается на системе Windows Server 2003 Small Business Server.
В данный момент на экране должно быть открыто диалоговое окно Select Computer. В него следует ввести имя системы, которая будет первым узлом кластера. По умолчанию предлагается имя локальной системы (в данном случае это Node1). Нажимаем Next. Появится диалоговое окно Analyzing Configuration, где осуществляется проверка выполнения процедуры настройки. В этом диалоговом окне нужно будет указать имя кворумного накопителя. Делается это так. Нажимаем на кнопку Quorum, затем выбираем имя кворумного накопителя — Disk Q. Появляется экран Proposed Cluster Configuration, подобный тому, что изображен на экране 8. Проверьте правильность отображенных данных и подтвердите предложенную конфигурацию. Нажмите кнопку Next для создания кластера.
Экран 8. Детали предлагаемой конфигурации кластера |
Настройка Windows 2003 на Node2
Windows 2003 устанавливается на узле Node2 в соответствии с процедурой, которой мы следовали при работе на узле Node1. Присвойте системе имя Node2. Аналогичная процедура выполняется и при идентификации внутренней сети, а также при настройке сетевых адаптеров Windows для работы с внутренней и внешней сетями. Необходимо проследить, чтобы внешняя и внутренняя сети имели уникальные IP-адреса. В качестве внешнего IP-адреса следует использовать адрес 192.168.100.192, а в качестве внутреннего — адрес 192.168.200.2. Затем требуется запустить утилиту Disk Management и убедиться в том, что узел Node2 «видит» кворумный накопитель.
По завершении настройки сетевых средств узла Node2 можно приступать к добавлению этого узла к кластеру. Перейдите на узел Node1 и в меню Administrative Tools выберите пункт Cluster Administrator. После запуска программы Cluster Administrator вы должны увидеть созданный ранее кластер. Чтобы ввести в состав кластера узел Node2, нужно выбрать пункты меню File и New Node. Откроется окно мастера Add Node Wizard. Выполняйте команды мастера. Узел Node2 войдет в состав кластера так же, как раньше в него вошел узел Node1.
Вот и все!
После запуска виртуального кластера, вероятно, нелишним будет оснастить его дополнительными разделяемыми средствами хранения данных и добавить кластерные ресурсы, такие как служба совместного использования файлов. Кроме того, можно проверить различные сценарии аварийного переключения, когда кластер соединяется с системой, после чего происходит аварийное переключение в результате отключения той или другой виртуальной машины или обеих сразу (но не в одно и то же время). На своем тестовом кластере я установил систему Microsoft SQL Server 2005, которая комплектуется пригодной для работы в кластерной конфигурации программой установки. В результате к списку кластерных ресурсов MyCluster был автоматически добавлен SQL Server. Чтобы прикладная программа была защищена в случае аварийного сбоя, ее нужно включить в ресурс кластера. Однако не все приложения устанавливаются одинаково; данный процесс имеет те или иные особенности в зависимости от того, о какой программе идет речь.
В этой статье я описал основные этапы установки виртуального кластера Windows 2003. Работу с виртуальными системами целесообразно начинать с создания и тестирования кластера из нескольких серверов или с испытания приложений в кластерной среде. Взяв на вооружение продукт, реализующий технологию виртуализации, такой как Virtual Server 2005, можно смело приступать к использованию кластерных решений на существующей аппаратной базе, не вкладывая дополнительных средств в дорогостоящее оборудование.
Майкл Оти - Старший технический редактор Windows IT Pro и президент компании TECA. С ним можно связаться по адресу: mikeo@teca.com
Краткое описание конфигурации ВМ
Спецификации виртуальной машины Node1
Один контроллер SCSI, сконфигурированный для работы в режиме с разделяемой шиной, SCSI ID 7.
Динамически расширяющийся виртуальный жесткий диск для «гостевой» операционной системы, присоединенный к контроллеру IDE в качестве загрузочного диска.
Совместно используемый виртуальный жесткий диск фиксированной емкости в формате NTFS для кворумного накопителя кластера, присоединенный к SCSI-контроллеру как SCSI ID 0.
Одна виртуальная сетевая интерфейсная плата, подключенная к общей виртуальной сети.
Одна виртуальная сетевая интерфейсная плата, подключенная к частной виртуальной сети.
Спецификации виртуальной машины Node2
Один контроллер SCSI, сконфигурированный для работы в режиме с разделяемой шиной, SCSI ID 6.
Динамически расширяющийся виртуальный жесткий диск для «гостевой» операционной системы, присоединенный к контроллеру IDE в качестве загрузочного диска.
Совместно используемый виртуальный жесткий диск фиксированной емкости в формате NTFS для кворумного накопителя кластера, присоединенный к SCSI-контроллеру как SCSI ID 0.
Одна виртуальная сетевая интерфейсная плата, подключенная к общей виртуальной сети.
Одна виртуальная сетевая интерфейсная плата, подключенная к частной виртуальной сети.