Виртуализация, при всех своих несомненных плюсах, имеет один очевидный недостаток - единая точка отказа в виде системы хранения, где размещены все виртуальные машины. Ситуацию во многом спасает наличие средств по резервному копированию или репликации данных (например, Veeam Backup), однако, эти средства не могут обеспечить полностью непрерывную работу виртуальной инфраструктуры. StarWind Enteprise HA позволяет решить эту проблему.
Продукт Starwind Enterprise HA позволяет построить отказоустойчивый кластер active-active СХД для VMware vSphere / ESX на базе двух серверов под управлением ОС Windows. Режим работы кластера active-active обеспечивается за счет синхронного зеркалирования данных в режиме реального времени. Эта технология работы позволяет осуществлять операции ввода-вывода одновременно с обоими узлами кластера Starwind HA.
На рисунке 1 представлен пример построения отказоустойчивой СХД для инфраструктуры VMware vSphere.
В качестве узлов кластера Starwind HA используются стандартные серверы x86 или x64 архитектуры.
На обоих узлах установлены ОС Windows 2008 и ПО StarWind iSCSI SAN.
На каждом узле кластера 2 канала Ethernet объединены в группу (IP 192.168.1.156 для первого узла и 192.168.1.157 для второго) и используются для трафика iSCSI.
На каждом узле кластера 2 канала Ethernet объединены в группу (IP 192.168.50.100 для первого узла и 192.168.50.200 для второго) и используются для синхронизации узлов кластера.
Принцип работы:
На оба узла кластера устанавливается ПО StarWind, включающее службу Starwind iSCSI SAN Software и консоль управления Starwind Management Console. Из консоли управления на одном из узлов создается виртуальное устройство типа «High Availability device», для которого указываются параметры узла-партнера (IP-адрес, пару логин-пароль для подключения), размер и местоположение файла виртуального устройства и IP-адреса каналов синхронизации для каждого из узлов.
После создания High Availability device из консоли Starwind Management Console и указания IP-адресов для поиска iSCSI таргетов в свойствах iSCSI Software Adapter на серверах ESX (в рассматриваемом примере, 192.168.1.156 и 192.168.1.157, как показано на рисунке 2), cерверы ESX после сканирования HBA-адаптера обнаружат одно устройство, но с двумя путями доступа, как показано на рисунке 3 (один iSCSI target с IP 192.168.1.156, другой - c 192.168.1.157).
Рисунок 2 - iSCSI таргеты в настройках инициатора VMware ESX
Рисунок 3 - Пути к хранилищам StarWind
Далее, в зависимости от выбора политики выбора пути (Path Selection), ESX будет отправлять iSCSI-команды на один из таргетов (в случае фиксированного пути), либо на оба одновременно (например, в случае выбора «Round Robin»).
Каждый из узлов кластера Starwind HA одновременно с обработкой iSCSI-команды пересылает ее по каналу синхронизации своему партнеру. Это технология позволяет поддерживать в режиме реального времени идентичные копии данных на обоих узлах кластера. При этом деление на «primary» и «secondary» узлов кластера Starwind HA является весьма условным, т.к. оба узла внутри кластера являются равнозначными и активными для чтения-записи.
Реализация кластера с двумя активными узлами позволяет не только существенно повысить отказоустойчивость СХД, но и более равномерно распределить сетевую нагрузку на узлы СХД.
Следует помнить, что необходимо обеспечить максимальную защиту канала синхронизации, т.к. обрыв данного канала приведет к рассинхронизации данных на узлах кластера, однако, в виду того, что это событие для каждого узла кластера интерпретируется как сбой в работе партнера, получается ситуация, когда каждый из узлов считает, что его партнер не синхронизирован (т.е. данные партнера не актуальны). При этом, для конечного клиента (сервера ESX) оба пути активны для чтения-записи, что в случае переключение с одного пути на другой немедленно вызовет ошибки чтения-записи в виду отсутствия/неактуальности запрашиваемых данных на узле-партнере и дальнейший сбой работы всех виртуальных машин на сервере. Поэтому, настоятельно рекомендуется использовать избыточность подключения (Nic Teaming) для канала синхронизации.
Отработка отказов (failover)
В случае отказа одного из узлов кластера Starwind HA, ESX-сервер детектирует это событие как отказ одного из путей и происходит переключение на резервный путь как показано на рисунке 4.
Рисунок 4 - Переключение на резервный путь iSCSI для сервера ESX.
На работоспособном узле кластера в консоли управления Starwind Management Console также отображается отказ узла-партнера в виде пиктограммы-предупреждения и указании статуса партнера как показано на рисунке 5.
Рисунок 5 - обработка ситуации отказа узла-партнера
Автоматический обход отказа (failback)
После того, как работоспособность отказавшего узла была восстановлена, на нем автоматически запускается процесс синхронизации с оставшимся работоспособным узлом. После запуска службы Starwind iSCSI SAN Software, ESX-сервер детектирует это событие как восстановление работоспособности отказавшего пути. До момента окончания синхронизации, все iSCSI-команды, приходящие от серверов ESX на синхронизируемый узел, без обработки пересылаются узлу-партнеру с актуальными данными.
Рисунок 6 - синхронизация узлов в StarWind
Выводы
Минимизация затрат на хранение данных и одновременное повышение отказоустойчивости долгое время были весьма взаимоисключающими понятиями. Дорогие СХД на базе технологии Fibre channel и ПО для репликации обеспечивают очень высокий уровень надежности хранения данных, однако, могут быть использованы только как для т.н. решений «enterprise class» и недоступны для небольших компаний. При этом, серверная виртуализация все чаще используется в сегменте SMB и обостряет вопрос о надежности хранения данных (большинство технологий и механизмов отказоустойчивости виртуальной инфраструктуры базируются на необходимости размещать ВМ на общем хранилище).
С появлением на рынке решений по хранению данных на базе технологии iSCSI (как аппаратных, так и программных реализаций) существенно снизилась стоимость организации общего хранилища (в сравнении с тем же FC), однако, надежность таких систем была относительно невысокой и не всегда соответствовала потребностям компаний. Но, как говориться, «свято место пусто не бывает». Компания Starwind, присутствующая на рынке программных решений iSCSI довольно продолжительное время, доработала свой продукт StarWind iSCSI SAN и реализовала возможность построения кластера СХД, что позволило значительно увеличить отказоустойчивость решения по хранению данных при минимальных затратах.
Решение StarWind Enterprise HA вы можете приобрести у компании VMC, партнера StarWind Software.