Испытательная лаборатория проекта МВС.
А. О. Лацис
Руководство по установке МВС-900.
Краткая справка об устройстве МВС-900
МВС-900 – это параллельная вычислительная система кластерной архитектуры, состоящая из одного хоста (управляющей машины) и нескольких (до 254) узлов. Хост и узлы – это виртуальные машины, каждая из которых выполняется на отдельной физической машине.
Общая структура виртуального кластера МВС-900.
Для реализации виртуальной машины в рамках физической используется монитор виртуальных машин VMware.
Конкретную конфигурацию виртуальной машины, которую требуется реализовать, VMware узнает из конфигурационного файла виртуальной машины. В этом файле указывается объем оперативной памяти, количество и объем виртуальных дисков, MAC- адреса виртуальных сетевых карт и прочие подобные сведения. Конфигурационный файл – текстовый, его можно редактировать обычным порядком. Конечно, программное обеспечение МВС-900 рассчитано на совершенно конкретную конфигурацию узлов и хоста.
Несколько слов о том, как именно VMware моделирует внешние устройства виртуальных машин на физическом оборудовании.
Проще всего обстоит дело с дисками. Каждая из виртуальных машин имеет хотя бы один виртуальный диск, которому в Windows физической машины соответствует один или несколько файлов, называемых файлами с образом диска. В состав дистрибутива входят файлы с образами дисков хоста и узла, на которых уже установлено все необходимое программное обеспечение кластера МВС-900.
Также каждая виртуальная машина оснащена несколькими виртуальными сетевыми картами. Отображение виртуальных сетевых карт на физическую сеть VMware выполняет следующим образом.
Физическая сетевая карта и все отображаемые на нее виртуальные сетевые карты логически просто объединяются виртуальным hub’ом, который и выходит на физический сетевой кабель.
Таким образом, на уровне MAC- адресов виртуальные сетевые карты оказываются в том же сегменте локальной сети, что и моделирующие их физические карты. Возможность сетевого взаимодействия виртуальных и физических сетевых карт, тем самым, не содержит никакой «виртуальной специфики», и зависит только от настройки ip- адресов. Все работает в точности так, как если бы упомянутый выше «виртуальный hub» существовал в действительности, а виртуальные сетевые карты были физическими и принадлежали отдельно стоящим физическим машинам. В частности, нет никакой разницы во взаимодействии виртуальной машины с той физической, на которой она установлена, и с любой другой физической или виртуальной машиной этого сегмента. Если ОС виртуальной машины настроит виртуальную сетевую карту на ip- адрес и маску из той же подсети, к которой относятся физические сетевые карты, все они смогут «разговаривать» друг с другом. Если же ОС нескольких виртуальных машин настроят свои сетевые карты на ip- адреса и маску другой подсети, эта подсеть будет существовать независимо от физической, отображаясь на то же оборудование. Виртуальные машины будут «разговаривать» друг с другом, не мешая физическим, и наоборот.
В МВС-900 используются оба варианта настройки ip- адресов. Так, хост и узлы связаны между собой двумя внутренними сетями, изолированными от внешнего мира, и, кроме того, хост имеет внешний сетевой интерфейс, позволяющий ему общаться с внешним миром, то есть с физическими машинами, а также с любым другим компьютером в Интернет, с которым связана локальная сеть физических машин.
На следующем рисунке изображена структура внутренних сетей МВС-900 (выход хоста во внешнюю сеть не показан):
|
|
| | |
|
|
|
Схема внутренних сетей МВС-900.
Конфигурирование МВС-900 при установке сводится, в основном, к конфигурированию сетевых интерфейсов узлов и хоста. Конфигурирование внешнего сетевого интерфейса хоста производится в последнюю очередь, с локальной консоли хоста, средствами Linux. Об этом см. ниже. Конфигурирование внутренних сетевых интерфейсов как хоста, так и узлов происходит по единой схеме, разработанной специально для МВС-900.
Схема состоит в следующем. Обычно результатом конфигурирования сети является запись на диск конфигурируемой машины заданной при конфигурировании информации (ip- адреса, сетевой маски, имени машины и т. п.). В МВС-900 так поступать было бы крайне неудобно – это означало бы, что при установке каждого узла с единого образа диска в этот образ диска приходилось бы вносить изменения, и потом сохранять не просто образ диска узла, а образ диска узла №1, №2 и так далее. Чтобы этого избежать, в МВС-900 ip- адреса во внутренних сетях и все сопутствующие настройки генерируются автоматически, по значениям MAC- адресов внутренних интерфейсов. MAC- адрес виртуальной сетевой карты задается в конфигурационном файле виртуальной машины. Как мы уже знаем, это совсем небольшой текстовый файл, поправить в котором «по месту» одну – две цифры много проще, чем вносить изменения в файл образа диска и затем хранить измененный образ.
Конкретная схема адресации во внутренних сетях устроена так.
VMware позволяет задавать в качестве MAC- адресов значения вида
00:50:56:00:X:Y
где X и Y выбираются произвольно. Именно эти поля в МВС-900 используются для задания полей ip- адресов.
В свою очередь, ip- адреса внутренних сетей МВС-900 имеют вид:
10.X.C.N для одной сети, и
10.X.C+32.N для второй, маски в обеих сетях – 255.255.224.0
Значения X и C выбираются системным администратором по его усмотрению, и должны быть одинаковыми для хоста и всех узлов. По умолчанию, X==100, C==5, и менять эти значения без особых на то оснований смысла нет.
Значение N – это номер узла. Для хоста N равно 1, для узлов лежит в диапазоне от 2 до 254 (не обязательно подряд).
В заданных в конфигурационном файле виртуальной машины MAC- адресах значения X, C и N кодируются следующим образом:
ethernet0.address = 00:50:56:00:X:N
ethernet1.address = 00:50:56:00:C:N
Следует учитывать, что MAC- адреса задаются в шестнадцатиричном виде.
Таким образом, в конфигурационном файле виртуальной машины хоста строки, задающие MAC- адреса, по умолчанию имеют вид:
ethernet0.address = 00:50:56:00:64:1
ethernet1.address = 00:50:56:00:05:1
и менять их нет оснований, если у Вас нет специальных претензий к выбранным значениям C и X.
В свою очередь, в конфигурационном файле виртуальной машины узла строки, задающие MAC- адреса, по умолчанию имеют вид:
ethernet0.address = 00:50:56:00:64:fe
ethernet1.address = 00:50:56:00:05:fe
то есть дистрибутивный узел имеет номер 254. Чтобы сделать узел, например, третьим, надо написать:
ethernet0.address = 00:50:56:00:64:3
ethernet1.address = 00:50:56:00:05:3
Если значения X и C (0x64 и 0x5) менялись для хоста, их надо поменять соответственно для всех узлов кластера.
Теперь мы знаем, что для установки комплекса МВС-900 требуется:
- установить на каждой из выбранных физических машин VMware,
- записать на каждую из машин файлы с образами дисков виртуальной машины, и соответствующие конфигурационные файлы,
- поправить в конфигурационных файлах несколько символов, чтобы машины получили правильные адреса во внутренних сетях,
- запустить каждую из виртуальных машин.
Пока мы, так или иначе, рассмотрели все пункты, кроме последнего. В самом деле, запускать хост и каждый из узлов вручную, физически обходя все физические машины и щелкая мышкой по соответствующим иконкам, причем всякий раз, когда требуется поработать на МВС-900, было бы довольно неудобно. Поэтому в МВС-900 используется, по мере возможности, автоматический запуск виртуальных машин в фоновом режиме.
Так, для узлов виртуальная машина запускается в фоновом режиме автоматически, при загрузке Windows, и работает, пока работает Windows. Никаких специальных действий по выключению узла МВС-900 не требуется – для выключения узла достаточно завершить работу Windows обычным порядком. При этом не гарантируется сохранность данных, записываемых на диск узла по мере его работы, но это и не требуется. МВС-900 устроена так, что все данные, которые должны сохраняться при выключении машин, хранятся на хосте. От узла лишь требуется сохранять на виртуальном диске данные в процессе его работы, от включения до выключения. При каждом включении узла его виртуальный диск имеет некоторый первоначальный вид – ровно такой, какой зафиксирован в дистрибутивном образе диска узла.
Чтобы обеспечить автоматический запуск узла при старте Windows, запуск виртуальной машины оформляется как сервис. Это делается однократно, при установке комплекса.
В случае хоста обеспечить полностью автоматические запуск и завершение работы виртуальной машины не представляется возможным, поскольку записываемые на виртуальный диск хоста во время работы данные должны сохраняться корректным образом в файле с образом диска при выключении хоста. Для этого требуется, как и в случае физической, «железной» машины, аккуратно завершить работу операционной системы, и, кроме того, аккуратно выключить виртуальное питание, а также аккуратно завершить работу самого приложения VMware. Словом, для завершения работы хоста требуются некоторые явно выполняемые вручную действия, поэтому хост все равно «нуждается в присмотре», и автоматический запуск его не слишком актуален. В общем случае, рекомендуется запускать его вручную, щелкнув дважды по иконке приложения VMware, выбрав соответствующую виртуальную машину и щелкнув “Poweron”.