понедельник, 10 октября 2011 г.

vSphere Virtual Storage Appliance


Итак, VSA, виртуальная система хранения для вСферы – это продукт, позволяющий взять два или три сервера ESXi, настроить зеркалирование между их локальными дисками, и эти зазеркалированные диски сделать доступными всем серверам как NFS-ресурсы. Таким образом, мы получаем программный общий сторадж, что позволяет нам использовать функции живой миграции и высокой доступности имея только 2-3 сервера и все, без аппаратной системы хранения.
На сегодняшний день это решение обладает довольно большими ограничениями, и я не верю в массовость его использования, однако штука интересная и разобраться в ней хочется.

Кстати - очень качественное демо продукта доступно тут - vSphere Storage Appliance - Offline Demo for your use.. По сути - интерактивный флеш-ролик.

Условия


2 или 3 сервера ESXi, на которых будут работать виртуальные машины VSA. Эти сервера и эти ВМ образуют  VSA-кластер. Этот кластер предоставляет NFS-ресурсы, а подключаться к ним могут как хосты-участники кластера, так и любые хосты ESXi.
Если vCenter в ВМ, то эта ВМ не должна использовать VSA-хранилище или работать на сервере ESXi, который участвует в VSA-кластере.
Для ВМ на VSA-хранилище рекомендуется выравнивание по границе 4 КБ, и размер одной операции IO равным или кратным 4 КБ.
В серверах ESXi должно быть минимум 6 ГБ ОЗУ, 4\6\8 дисков в RAID10, 4 гигабитных порта Ethernet.
Сервера должны быть с настройками сети по умолчанию, как сразу после установки.

Архитектура


Суть довольно простая – поднимаем ВМ VSA на каждом сервере VSA-кластера. VSA ВМ использует локальные диски сервера где работает, и зеркалирует эти диски с другими VSA-ВМ этого кластера. За счет зеркалирования мы имеем отказоустойчивость – наши данные не теряются при плановом или неплановом выключении одного сервера ESXi.
Конфигурация кластера VSA на двух и на трех серверах ESXi различается. В случае двухузлового кластера на сервер vCenter необходимо будет установить вспомогательную службу VSA cluster service, которая будет выступать арбитром при обработке спорных ситуаций между двумя VSA-ВМ. Когда VSA-ВМ три – они сами разберутся
Два узла:

vsa-2
Три узла:
vsa-3

Подготовка инфраструктуры

Потребуется 2 или 3 сервера ESXi (плюс еще на одном должен работать vCenter).
ESXi – по сути – должны быть свежепоставленные! В частности, конфигурация сети должна быть по умолчанию.
Потребуется по два IP адреса на VSA-ВМ, и по два IP-адреса для каждого сервера ESXi. Один IP на каждый VSA – для приватной сети, какая-нибудь отдельная подсеть, остальные – из management подсети.

Внедрение VSA


Первый шаг – установка VSA manager на vCenter.
Ничего сложного – setup.exe –> next,next,finish.
После установки в клиенте vSphere появляется вкладка VSA для объекта Datacenter.
image
На шаге Select Hosts нам потребуется выбрать два или три сервера – будущих участников кластера VSA.
Следующий шаг – настройка сети.
image
Нам потребуется указать:
VSA Cluster IP – адрес ведущего узла кластера VSA. Используется в сервисных целях.
Если узлов в кластере VSA только два, то в спорных ситуациях будет необходим VSA Cluster service на vCenter. Ему потребуется VSA Cluster Service IP.
VSA management IP – кроме названия пока ничего про него не могу сказать.
VSA Datastore IP – с этого адреса будет подключен NFS-ресурс. Указывается для каждой ВМ в кластере VSA.
VSA Featured IP – будет создан интерфейс vmkernel c этим адресом. Через этот интерфейс будет производится vMotion обычных ВМ (т.е. напрямую к работе кластера VSA этот интерфейс не относится). Указывается для каждого сервера – участника кластера VSA.
В документации указано не использовать для этих адресов диапазон 192.168.xxx.xxx Почему – хз.
Так же, я пока не до конца понял через какой интерфейс ESXi подключает NFS ресурс. Пока что получается что через свой management?
В принципе, все. Ввод VSA в эксплуатацию весьма прост. Мастер сам развернет VSA-ВМ на хосты, сам создаст дополнительный вКоммутатор и группы портов, интерфейсы VMkernel, подключит ресурсы NFS.
После завершения работы мы увидим три хранилища NFS:
image
(или два, если в VSA-кластере у вас только два сервера).
Ну и статус кластера на соответствующей вкладке.
image
Необходимые элементы сети будут созданы автоматически:
image
Через верхний вКоммутатор (Front End) идет управление и NFS трафик , через нижний (Back End) – узлы VSA кластера обмениваются сигналами пульса и реплицируют диски.

Эксплуатация

С точки зрения использования VSA – это просто два или три хранилища, на которых можно создавать ВМ.
А что с обслуживанием?
Если ломается Front End сеть одного из хостов, то одно из NFS хранилищ отваливается. ВМ, расположенные на нем, становятся недоступными. И, в общем-то, все. Пруф, видео.
А если ломается Back End – то не происходит ничего, ВМ просто продолжают работать – так как хранилища зеркалируются между VSA-ВМ, и в этому случае отрабатывает failover. Пруф, видео. Сюда же попадает ситуация когда ломается один из серверов ESXi целиком.
В случае проблем один из узлов кластера VSA можно заменить штатными средствами, из GUI.
Однако добавить в кластер их двух узлов третий узел нельзя – следует сразу создавать VSA-кластер из требуемого количества узлов. Также, добавив дисковых ресурсов на сервера ESXi, нельзя добавить их в VSA.

Размышления про применимость

VSA обладает некоторыми особенностями, многие из которых попадают, к сожалению, в разряд минусов.
Видимая вендором схема использования VSA – инфраструктура с тремя-четырьмя серверами, которую развертывают и сразу начинают использовать с VSA.
Большая головная боль –
1) vCenter необходим.
2) vCenter должен работать на отдельном сервере, где VSA компонентов нет!
Ну, или хотя бы не использовать VSA хранилище для себя – т.е. лежать на локальном хранилище какого-то их хостов – тоже не айс, и решение не поддерживаемое.
Получается, если у нас два или три сервера ESXi в кластере VSA – то требуется еще один сервер. Этот “еще один” или
  • с физическим vCenter
  • или с ESXi – на котором работает vCenter (vCenter может быть расположен на VSA хранилище). Этот сервер может использовать VSA хранилище и быть объединенным в кластер HA с остальными серверами.
VSA использует локальное хранилище серверов ESXi, однако из за зеркалирования только половина места доступно для размещения ВМ. Если учесть, что поддерживаемая конфигурация требует чтобы на серверах использовался RAID 10 – то в  итоге мы получаем доступным для ВМ только одну четвертую от общего объема дискового пространства на серверах-участниках кластера VSA.
Подобные размышления применимы и к производительности – когда одна из ВМ генерирует запрос на запись, этот один запрос пишется на 4 диска (так как он уходит на две VSA-ВМ, а затем каждая VSA-ВМ записывает его на массив RAID 10).
И да – VSA сильно не бесплатна. Если не удается выбить хорошую скидку, то купить сервера без дисков плюс аппаратное хранилище часто окажется дешевле, чем сервера с хорошими raid контроллерами и дисками на тот же объем и производительность.

Хаки

Если хочется установить VSA на сервера ESXi, где уже есть работающие ВМ - How to Install VMware VSA with Running VMs.
Если хочется установить VSA на сервера ESXi, которые сами работают в виртуальных машинах (для демостенда самое то) – How to Install VMware VSA in Nested ESXi 5 Host Using the GUI.
Для обращения в локальную консоль – svaadmin\svapass.

По материалам

Useful Links – vSphere Storage Appliance (VSA).
vSphere Storage Appliance (VSA) - Useful Links [Updated].
vSphere Storage Appliance (VSA) Resilience - Network Outage Videos
vSphere Storage Appliance (VSA) Resilience - Network Outage Scenario #1: Back End
vSphere Storage Appliance (VSA) Resilience - Network Outage Scenario #2: Front End
How to Install VMware VSA in Nested ESXi 5 Host Using the GUI
How to Install VMware VSA with Running VMs

1 комментарий:

  1. за такие деньги - туфта редкостная.. я во время анонсов думал что бесплатным будет, ну или за символическую плату

    ОтветитьУдалить