четверг, 5 августа 2010 г.

Отказоустойчивое хранилище для vSphere на базе StarWind iSCSI

Ранее я уже писал о том, как сделать дешевое разделяемое хранилище для vSphere на базе Linux. Но что если вы хотите избавиться от единой точки отказа и сделать разделяемое хранилище отказоустойчивым? Можно поднять второй узел с Linux и прикручивать различные пакеты для отказоустойчивости, как например drbd и heartbeat. А можно обратить внимание на коммерческую разработку компании StarWind, и получить решение Enterprise класса.

Кстати, в марте при помощи StarWind iSCSI SAN был поставлен рекорд в 1 000 000 (!) IOPS.

StarWind iSCSI имеет функцию отказоустойчивости, сетевой зеркальный диск, уже давно. Но в этой конфигурации все работает только с главным узлом, и если с ним что-то случится, то простой и переключение вручную неизбежны.

Чтобы такого не случалось, появилась функция HA - непрерывная синхронная репликация данных между узлами и поддержка multipathing.

Итак, вы скачали StarWind iSCSI и что теперь с ним делать? Я расскажу.

Для начала пару слов о железе - я рекомендую использовать серверы с не менее чем 2мя интерфейсами по гигабиту. Один интерфейс будет использоваться для отдачи данных наружу, второй для синхронизации. Причем нужно отметить, что в случае объединения интерфейсов в один толстый виртуальный для отдачи наружу, интерфейс для синхронизации должен быть расширен в равной мере, чтобы избежать тормозов из-за низкой скорости синхронизации. Кроме того, интерфейсы синхронизации должны иметь как можно меньше промежуточных коммутаторов между собой, в идеале всего один или даже прямое соединение.

В моем стенде два узла: starwind-node1 (10.xx.xx.228, 10.xx.xx.230) и starwind-node2 (10.xx.xx.229, 10.xx.xx.231). Первый интерфейс - наружу, второй соотв. для синхронизации. Стоит отметить, что со второго интерфейса необходимо снять галочку "Зарегистрировать в DNS" во избежание проблем с разрешением имен.

Установим StarWind iSCSI на оба узла. Установка простая, дополнительной конфигурации пока не требуется.



Зайдем на Node1. Консоль управления пока пуста и девственно чиста. Добавим оба узла.




Оба узла появились в консоли, можно посмотреть базовую информацию, как DNS имя и IP адрес.



Залогинимся на Node1 (двойным щелчком). Логин/пароль по умолчанию root/starwind.



Создаем виртуальный диск с высокой доступностью для VMFS хранилища.







Мастер создания потребует указать ему узел-партнер, на котором будет располагаться копия диска. В данном случае необходимо указывать управляющий интерфейс (тот же, что используется для отдачи данных наружу).




Тип диска выбран, партнер указан, переходим к созданию. Создаем 10ГБ диск.



В диалоге виден диск writeback, оставшийся от моих прошлых экспериментов. Для создания просто добавляем в адресной строке имя нового файла без расширения. В данном случае vmware1.

Для второго узла повторяем процесс.




Выбираем интерфейсы, которые будут использоваться синхронизации.



Поскольку мы создаем новый диск, то выбираем вариант быстрой синхронизации, простую очистку обоих виртуальных дисков-половинок зеркала.



Выбираем режим кэширования и размер кэша. В версии 5.4 к этому надо отнестись серьезно, поскольку пока нельзя сменить режим кэширования в процессе эксплуатации, он задается один раз при создании. Writethrough - кэш используется только для операций чтения, а запись идет сразу на диск. Writeback - кэш используется также и для операций записи.
StarWind iSCSI использует технологию когерентного кэша, т.е. кэш будет одинаковым на обоих узлах и при смерти одного из них, данные не будут потеряны. Однако необходимо иметь в виду, что есть вероятность смерти обоих узлов сразу - и тогда данные в кэше потеряны будут.



Прекрасно, диск создан. Теперь устанавливаем правила доступа, по умолчанию всем разрешено все. Не будем особо заморачиваться, ограничимся правами доступа на уровне IQN (iSCSI идентификатором узла).



IQN ESX(i) сервера можно узнать (и скопировать) здесь:



И запретим всем все.



Добавим оба узла StarWind на ESX (выделены красным).



Рескан адаптера...



И вуаля! Диск увиделся. Не пугайтесь слова ROCKET - компания StarWind ранее была подразделением Rocket Division.



Удостоверимся, что multipathing работает и видно оба узла.





Отлично. Переходим к созданию VMFS датастора.








Отказоустйчивое хранилище создано, счастье наступило :)

7 комментариев:

  1. цена на это "добро" приемлемая, вот только если бы не нужно было еще и винду покупать... в результате выходит не так уж и дешево ))

    ОтветитьУдалить
  2. а если взять в качестве хоста windows foundation ?

    ОтветитьУдалить
  3. или же Hyper-V Server - в корне бесплатный.

    ОтветитьУдалить
  4. Hyper-V по условиям лицензии нельзя использовать иначе как для хостинга ВМ.

    ОтветитьУдалить
  5. дак а что, на foundation можно его крутить?

    ОтветитьУдалить
  6. Не вижу никакой проблемы как с Foundation, так и с Web Edition.

    ОтветитьУдалить
  7. Кто ни будь мерил производительность данного решения по сравнению с таким же старвиндом но без НА? Может я что-то неправильно делаю но при включении НА начинаются тормоза

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