Технология VMware Fault Tolerance позволяет защитить виртуальные машины с помощью кластеров непрерывной доступности, позволяющих в случае отказа хоста с основной виртуальной машиной мгновенно переключиться на ее "теневую" работющую копию на другом сервере ESX.
Однако эта технология имеет существенные ограничения, приведенные ниже.
Хосты и кластеры VMware vSphere:
Primary и secondary хосты ESX (исполняющие primary и secondary ВМ) должны иметь одинаковый номер билда (build number) и одинаковые установленные патчи
Виртуальные машины с включенной Fault Tolerance должны быть в кластере VMware HA. Это позволяет убедиться в том, что виртуальная машина не будет испытывать проблем доступности в случае сбоя хоста с Primary VM (то есть эта ВМ в случае отказа перезапустится и станет Secondary)
Primary и secondary хосты ESX должны иметь одно и то же семейство моделей CPU. Для лучшей производительности и совместимости рекомендуется иметь CPU с одинаковым степпингом.
VMware FT использует правила VMware DRS anti-affinity rules по умолчанию, чтобы убедиться, что Primary и Secondary ВМ исполняются на разных хостах ESX.
Проверка сертификатов (Host certificate checking) должна быть включена на всех хостах.
Технология аппаратной виртуализации (Intel VT или AMD-V) должна быть включена на всех хостах ESX в BIOS.
DPM не будет выключать хосты, которые исполняют FT-машины, пока DRS не будет отключен. Таким образом, DRS не сможет сделать VMotion FT-машин с хоста.
Только vSphere 4.1 и выше: механизм VMware FT теперь полностью интегрирован с VMware DRS, что позволяет балансировать нагрузку на хосты VMware ESX 4.1 для Primary и Secondary виртуальных машин. Также поддерживается и балансировка по первоначальному размещению FT-машин в кластере. Для корректного функционирования данного режима необходим включенный режим EVC в кластере.
Только vSphere 4.1 и выше: для хостов, поддерживающих FT-машины, отсутствует требование по полному соответствию номеров билдов серверов ESX.
Только vSphere 4.1 и выше: VMware HA может быть выключен в кластере без необходимости выключения VMware FT для виртуальных машин.
Система хранения (Storage):
FT-машины должны располагаться на общем хранилище. Поддерживаются хранилища FC / iSCSI / NFS. Если используется хранилище NFS, то, возможно, потребуется увеличение storage timeouts.
Виртуальные диски FT-машин должны быть в формате eagerzeroedthick (pre-allocated, все данные блоков очищаются при создании). Диски остальных форматов (thin, 2gbsparse, zeroedthick, thick) могут быть конвертированы в данный формат.
Диски RDM поддерживаются только в режиме виртуальной совместимости (virtual compatibility mode).
Сетевое взаимодействие (Networking):
Для корректной работы VMware Fault Tolerance требуется как минимум 2 выделенных гигабитных адаптера помимо сети виртуальных машин (1 - для FT logging, 2 - для VMotion).
Лучшая практика - введение избыточности в сетях для FT logging и VMotion.
Лучшая практика - использовать 10 Gigabit NICs с включенными Jumbo Frames.
Задержки (latency) в канале FT logging должны быть меньше миллисекунды (для проверки этого можно использовать команду vmkping - делающую ping между портами VMkernel).
Настройки виртуальных коммутаторов, куда подключены виртуальные машины должны быть унифицированы. Рекомендуется использование распределенного коммутатора VMware Distributed Switch (vDS).
Виртуальные машины:
Только один vCPU (без использования многопроцессорных ВМ, Virtual SMP).
Не должны иметь снапшотов.
Не могут быть кластеризованы с использованием MSCS.
Не могут использовать паравиртуализованные ядра гостевых ОС.
Не могут находиться на хостах в режимах maintenance mode или standby mode.
Не могут находится в режиме record/play.
Не могут иметь устройств VMDirectPath I/O.
Не могут использовать ПО для резервного копирования с использованием снапшотов (VMware Data Recovery или Veeam Backup).
Какие процессоры и операционные системы поддерживаются VMware FT?
Свежий ответ всегда может быть найден в KB 1008027.
Лучшие практики использования VMware Fault Tolerance:
Не запускайте более 4-8 FT-машин на одном хосте ESX (с учетом primary и secondary).
Поместите ISO-образы, которые используют FT-машины на общее хранилище, чтобы primary и secondary ВМ могли иметь доступ к этим данным.
Отключите power management в BIOS хостов ESX / ESXi. Если они войдут в power-saving mode, то может не хватить ресурсов CPU на Secondary VM на выполнение задач синхронно с первичной ВМ.
Используйте коммутатор vDS - это позволит держать настройки унифицированными.
Равномерно распределяйте именно Primary VMs - так как именно они генерируют траффик.
Какие ограничения имеет виртуальная машина с включенной VMware Fault Tolerance:
Не работает Hot-plug для виртуальных устройств, CPU и RAM.
Нельзя использовать Storage VMotion.
Не может быть использована виртуализация N_Port ID Virtualization (NPIV).
Не могут быть использованы VMDirectPath I/O для networking I/O devices (NIC passthrough).
Не могут быть использованы виртуальные USB устройства
Не могут быть использованы Virtual floppy, примонтированные к физическим устройствам.
Не может быть использован устаревший адаптер Vlance.
Нельзя использовать снапшоты.
Для виртуальной машины автоматически отключаются Nested Page Tables (NPT) для AMD и Extended Page Tables (EPT) для Intel.
Когда рекомендуется включать VMware FT
ВМ с приложением с требованием постоянной доступности.
Когда нельзя настроить кластер MSCS, а VMware HA не дает желаемый уровень доступности.
Когда кластер MSCS стоит дорого для приложения, которому нужен высокий уровень доступности.