Если вы только планируете попробовать решение для создания отказоустойчивых кластеров хранилищ VMware vSAN на базе хостов ESXi, то для вас может оказаться полезной вот эта заметка. Приведем ее суть вкратце.
Когда вы планируете кластер vSAN, вам нужно определиться с политикой FTT (Failures to Tolerate) - она определяет, какое количество отказов хостов может пережить кластер хранилищ. Если установлено значение 1 (по умолчанию), то реплика одного VMDK будет размещена на дисках еще одного из хостов кластера.
Также при создании SPBM-политики хранилищ vSAN вы определяете уровень RAID (1, 5 или 6), в который виртуально будут собираться хосты ESXi на уровне дисковых объектов:
Иногда этот уровень RAID также называется FTM (Failure Tolerance Method).
vSAN - это объектное хранилище, где объекты состоят из компонентов. В состав компонентов входят реплики (Replicas - они содержат данные) и Witness (там находятся метаданные, чтобы избежать ситуации split-brain в кластере).
Есть три типа объектов на хранилище vSAN:
VM Home (домашняя директория)
VM Swap (файлы подкачки)
VM Disk (диски с данными)
На хостах ESXi при этом размещаются компоненты для каждого из объектов в соответствии с заданной политикой SPBM:
FTM, то есть способ размещения данных на хостах ESXi, как мы сказали выше, может быть:
RAID-1 (Mirroring, то есть зеркалирование объектов на хостах).
RAID-5/6 (оно же Erasure Coding - алгоритм кодирования с коррекцией ошибок).
Таким образом, в зависимости от FTT вам понадобится следующее минимальное количество хостов ESXi для RAID-1:
FTT
Число реплик
Компоненты Witness
Минимальное число хостов
0
1
0
1
1
2
1
3
2
3
2
5
3
4
3
7
Для RAID-5/6 вам потребуется вот такое минимальное число хостов ESXi:
FTT
Алгоритм Erasure coding
Схема избыточности
Минимальное число хостов
0
Нет
Без избыточности
1
1
RAID-5
3D+1P
4
2
RAID-6
4D+2P
6
3
Не применимо
Не применимо
Не применимо
При этом вы должны учитывать, что по-хорошему нужно добавить еще один запасной хост ESXi в кластер, так как при отказе одного из хостов при значениях из таблиц выше, вы потенциально попадаете в ситуацию, где отказ еще одного хоста может привести к потере данных. Особенно это нужно сделать, когда вы понимаете, что при отказе хоста ESXi ввести в строй новый займет продолжительное время.