Previous Entry Share Next Entry
Подключение хостов ESXi к СХД и работа в мультисерверной среде.
at_it
Для начала, я хочу описать имеющуюся у нас сеть хранения данных. Сразу надо сказать, что подключение к СХД конкретного производителя может включать в себя разные нюансы, необходимо почитать о конкретном вендоре или конкретной железке документацию на сайте vmware. Но чем железка проще, тем проще ее подключить и использовать. :)

Общие принципы построения СХД гласят: управление - отдельно, СХД - отдельно. Использование СХД и сети управления по одному интерфейсу допустимо лишь в случае возможности аппаратного разграничения полосы пропускания для каждой из сетей, т.е. построения поверх физической сети виртуальной.

На текущий момент у нас подключены два устройства хранения данных: сервер NFS и дисковый массив HP MSA P2000 G3. nfs используется сугубо для хранения вспомогательных данных, а именно - бекапов. На MSA хранятся продуктовые данные.

Nfs сервер сконфигурирован просто: по пути /mnt/nfs/ отдается r/w каталог под данные. Можно складывать туда все, что хочешь: хоть ВМы, хоть образы дисков, хоть копии каталогов ВМ (offline backups). Пользоваться nfs-ом под VMWare чрезвычайно просто, некоторые, из-за этой простоты, предпочитают его iScsi, несмотря на 5% потерь в производительности (не на всех, понятно, задачах).

Подключить NFS-сервер просто: в закладке Configuration / Storage жмем Add storage, затем указываем имя или адрес сервера и путь, также можно включить режим read only, здесь же нужно указать имя Datastore. Есть только один важный нюанс: на всех серверах ESXi, использующих конкретный nfs-сервер, имя сервера нужно указывать одинаково: либо на всех серверах - через Ip-адрес, либо везде - через одинаковое dns-имя. С этим именем vmWare создает lock-файл для запущенной виртуальной машины.

Конфигурация MSA, конечно, будет посложнее.

Наша MSA имеет два контроллера, каждый содержат по 2 порта FC, 2 порта iSCSI, 1 порт SAS для полок расширения и 1 порт Ethernet под управление. MSA содержит в себе 24 диска 6G SAS DualPort 10k по 300Гб, что дает нам 7.2 Тб нераспределенного пространства. Диски разбиты на два массива, Raid-6 и Raid-10, на каждом из которых создано по одному виртуальному диску. Также присутствуют два диска в качестве Global spare.

Подключение к сети выполняется так: первый порт каждого контроллера цепляется к одному коммутатору, второй порт - к другому коммутатору. Это позволяет надеяться на работоспособность iSCSI-сети в случае выхода из строя любого коммутатора, патч-корда или контроллера MSA. Если сервер имеет два физических порта под iSCSI, то выход одного из них из строя также позволит конфигурации оставаться работоспособной.

"Сеть" FC, по причине отсутствия FC-коммутатора, настроена так: FC-порты MSA переведены в режим "точка-точка", серверный адаптер FC воткнут стандартным FC-патчем напрямую в MSA. У MSA есть одна неприятная особенность: она не понимает, если один и тот же хост к одному и тому же луну пытается получить доступ по разным протоколам (FC и iSCSI). Поэтому об идее fallback'а с FC на iScsi в автоматическом режиме в случае аварии придется забыть.

Итак, попробуем подключить наш свежеподнятый хост к iScsi. Не будем пока задействовать аппаратные возможности встроенных iScsi HBA.

Шаг1: заходим в Configuration / Networking и создаем там новый объект кнопкой Add networking, тип: VMKernel, выбираем порт для iScsi, зовем его понятным образом (я зову vmk-s), даем ip-адрес и vlan (если есть).

Шаг2: идем в Configuration/Storage Adapters и ищем там iScsi software adapter. Встаем на него и жмем кнопку Properties. По умолчанию он отключен, нажимаем кнопку Configure и говорим ему Enabled. Затем в закладке Dynamic discovery нажимаем кнопку add и добавляем туда адреса всех портов iScsi нашей MSA. Жмем Ok. VMWare предлагает пересканировать адаптеры, соглашаемся. Через какое-то время в списке устройств, подключенным через iScsi software Adapter, появятся два наших тома. Можно нажать кнопку paths и посмотреть, что все пути доступа к этим дискам живы-здоровы (зеленый ромбик). Также в пункте Storage появятся Datastores, заведенные на этих дисках.

Теперь про FC. Так как в моем сервере FC-адаптера сейчас нет (он лежит на столе в кулечке), я пойду его выключать. А вы никуда не уходите!

Прим.: Не забываем перед переключением на другой тип подключения убрать из Inventory все ВМ'ы, и отключить iSCSI подключение в iScsi adapter / configure / disable, причины изложены выше.

Итак, после установки FC-адаптера в сервер, включения его кабелем напрямую в MSA и перезагрузки ничего больше настраивать не надо - все просто работает, существующие диски VMFS сразу видны в пункте Storage и в качестве Datastores.

Теперь проделаем то, ради чего всё это затевалось: создадим ВМ так, чтобы видеть ее с двух серверов. Создавать ВМ мы уже умеем, так что выполним только вторую часть задачи - увидим ее на втором сервере. Чтобы ВМ нормально прописалась на второй (третий, четвертый и т.п.) сервер, нужно, чтобы она была выключена.

На закладке Summary в окне Datastores из меню по правой кнопке на нужном Datastore вызовем Datastore browser. Зайдем в каталог с нужной нам ВМ и найдем файл <имя ВМ>.vmx. Из меню по правой кнопке выберем Add to inventory, оставим имя по умолчанию - и ВМ появляется в списке доступных машин.

Есть только один нюанс: при запуске этой ВМ вылезет окно с вопросом "Вы эту машину переместили или скопировали?" Так как физически машина никуда не переезжала, а сменился только управляющий ей хост, я отвечаю "I moved it".

Теперь при поломке любого сервера ESXi нам достаточно импортировать все ВМ'ы с СХД и последовательно запустить их. В принципе, можно накатать простенький скрипт, который будет отслеживать существование ESXi серверов, и, если один из них упадет, давать команды на подъем виртуальных машин на других серверах. vmWare vCenter примерно этим и занимается :) Но т.к. отладка этого скрипта - дело долгое и муторное, а риск ошибки достаточно велик, я предпочитаю написать понятную инструкцию, и в случае падения железки сделать все руками.

?

Log in