Nutanix ABS: как у нас работает failover/failback?

Интересное видео, показывающее, как отрабатывает Failover и Failback на нашем ABS — Acropolis Block Storage — сервисе, который отдает внешним серверам хранилище Nutanix как блочные LUNы. Это (по крайней мере изначально) было придумано для возможности подключить к кластеру Nutanix какой-то внешний сервер, например Oracle, который нельзя, или лицензионно дорого перетаскивать под гипервизор.
Но как при этом работает failover? Что произойдет если, например, одна из нод кластера упадет?

Вот на этот вопрос отвечает видео. На нем 4-нодовый кластер Nutanix отдает LUN-ы с тестовой базой внешнему серверу Oracle DB. На Nutanix также запущен в отдельной VM swingbench, эмулирующий нагрузку к этой базе данных и показывающий графики параметров работы теста.

На первом видео мы видим, как все четыре CVM обслуживают внешний сервер, самобалансируя ввод-вывод с него между собой. Обратите внимание, что мы НЕ ИСПОЛЬЗУЕМ MPIO или ALUA, для нашей архитектуры доступа к данным они не нужны на хост-сервере! iSCSI Initiator на физическом хост-сервере обращается на общий «кластерный IP» таргета, который передается какому-то из CVM, и им обслуживается. В версии 4.7 используется равномерная «рассортировка» по CVM, начиная с версии 5.0 для выбора целевого CVM используется сравнительный уровень его загрузки. Добавляемые в кластер ноды автоматически начинают обслуживать операции ввода-вывода, без дополнительного вмешательства и перенастройки админом.

Затем мы физически отключаем одну ноду, используя команду poweroff на IPMI из консоли. (страничка по адресу CVM с портом 2009 это одна из наших служебный вебстраниц интерфейса, в данном случае — iSCSI Target Adapter-а).
Мы видим, что iSCSI target переехал на одну из нод, которая подхватила операции упавшей, с минимальной задержкой операций, в пределах таймаута. Нагрузка на CVM, подхвативший операции вышедшего из строя выросла. Операции swingbench не прерывались.

Затем, мы включаем ноду назад, и, вскоре, видим, как она включилась, и iSCSI Target самостоятельно вернулся на включенную ноду, так что нагрузка снова автоматически сбалансировалась по всем четырем CVM-«контроллерам СХД».

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *