Углядел интересные размышления о поддержке кластеризации в vSphere у Matt Liebowitz.
Мэтт делится картинкой о различных вариантах поддержки кластеров и объясняет плюсы/минусы таких реализаций.
Итак, что мы имеем с поддержкой:
Статья в базе знаний про кластеризацию приложений от MS находится тут, подробная статья только про MSCS (кластерные службы) на всех версиях ESX/ESXi – тут.
Споры о том, является ли отказоустойчивость на уровне виртуальной машины достаточным механизмом, ходили с момента появления технологии VMware HA. Выводы были сделаны следующие:
- VMware HA налагает меньше требований, чем MCSC;
- время на перезапуск приложения – несколько минут (в отличие от нескольких секунд или более у MSCS);
- VMware HA съедает меньше ресурсов с точки зрения обеспечения отказоустойчивости (так как мешать различные кластерные службы на одной железке – плохо);
- MSCS позволяет обновлять операционную систему и приложение в рабочее время с небольшими промежутками простоя при переключении ресурсов;
Как видите, плюсы есть и там, и там.
С другой стороны, у служб кластеров Microsoft есть много ограничений под VMware. Это:
- Хранилище FC либо iSCSI, подключенный внутри виртуальной машины;
- Не поддерживается автоматический vMotion (через DRS);
- Размер кластера до двух узлов;
- Есть определенные допущения при использовании RDM и VMFS. Например, для узлов кластера, находящихся на разных хостах, режим RDM – только physical;
- Не поддерживается встроенная политика балансировки Round Robin.
Если кластер не требует общего хранилища, картина куда более радужная – на картинке ограничений почти нет. Конечно, есть нюансы, но условностей становится куда меньше.
Стоит отметить, что сам Microsoft постепенно отказывается от идеологии общего диска для обеспечения отказоустойчивости приложений. В Exchange 2010 мы видим Database Availability Group, в SQL 2005+ – Mirroring Database, а в SQL 2012 появится аналог Exchange DAG.
Имея двухконтроллерное хранилище с интерфейсом CIFS/SMB можно будет задуматься над отказом от кластера файловых служб (хотя и не весь функционал файл-сервера можно реализовать).
Все ли так хорошо? 🙂
Пару лет назад Алексей Кибкало написал пост, разоблачающий слово “VMware support” в данном контексте. Суть дела в том, что VMware поддерживает существование кластера на своем продукте, но не решает внутренние проблемы этого кластера. То есть, для решения проблем кластера вам придется идти в Microsoft, а те скажут, что с поддержкой кластера на VMware есть некоторые проблемы. К примеру, кластера NT/2000 вообще не поддерживаются в виртуальной среде, Windows 2003 – только на паре серверов Dell и хранилище EMC под vSphere 4.0. Windows 2008/2008R2 поддерживаются, но с вышеуказанными ограничениями. Как там говорится – нюанс 🙂
Вот такая вот поддержка.
Тут важно понимать, что одно не заменяет другое.
HA – это больше защита от сбоев физических серверов, а любые кластеры на уровне ОС помогают защититься от сбоев на уровне приложений.
Я например, использую кластеризацию в он-лайн системах и за прошедшие 5 лет, трижды оно меня спасало.
Про различия средств организации высокой доступности мы уже писали
https://vmind.ru/2009/11/01/takaya-raznaya-dostupnost/