VSphere. vCenter vSAN cluster
Description
Создание системы хранения vSAN на нескольких хостах ESXi в кластере под управлением vCenter.
Links
https://internet-lab.ru/vcenter_7_ha
https://habr.com/ru/articles/318980/
https://winitpro.ru/index.php/2018/01/19/osobennosti-vmware-vsan-6-5-faq-i-nastrojka-klastera/
https://habr.com/ru/articles/487592/
Системные требования vMware vSAN
- !!! ИСПОЛЬЗОВАТЬ ВЕРСИЮ ESXi ДЛЯ ХОСТОВ НЕ НИЖЕ: VMware_ESXi_6.5.0_Update3_17477841_650.U3.10.7.0.90_May2021 (для сереров HP - VMware_ESXi_6.5.0_Update3_17477841_HPE_Gen9plus_650.U3.10.7.0.90_May2021.iso)
- Требуется VMware vCenter Server 6.5
- Минимум 3 хоста в кластере (максимум 64), однако можно реализовать vSAN и на двух хостах, но потребуется отдельный хост-свидетель
- Каждый сервер ESXi в кластере vSAN должен иметь как минимум один SSD диск (флешку) для кэша, и как минимум один SSD/HDD для данных
- Наличие SATA/SAS HBA или RAID-контроллера в режиме pass-through или в режиме RAID 0
- Минимум 1 ГБ сетевая карта (рекомендуется 10 Гб)
- Все хосты должны быть подключены к сети vSAN через сеть L2 или L3
- На физических коммутаторах, которые обрабатывают трафик vSAN должно быть включено многоадресное вещание (мультикаст)
- Поддерживаются как IPv4 так и IPv6.
- Информацию о совместимости с конкретным железом нужно смотреть в соответствующем документе на сайте VMware
Настройка
Вариант 1. 4 хоста всего, 1 - вне кластера с ВМ vcenter, 3 - хосты в кластере
Описание
При такой настройке можно потерять:
1 хост из кластера:
+ vSAN останется живой
+ ВМ будут перемещены и работать согласно правилам HA или FT
+ для восстановления кластера - восстанавливаем потерявшийся хост или добавляем новый, а старый удаляем
1 хост вне кластера с vcenter:
- управление кластером потеряется, так как нет vcenter
+ для восстановления кластера:
- восстанавливаем потерявшийся хост с vcenter
ИЛИ
- поднимаем новый хост ВНЕ КЛАСТЕРА с vcenter, вместо старого
ИЛИ
- восстанавливаем vcenter на одном из хостов кластера НА ОТДЕЛЬНОМ ДИСКЕ ВНЕ VSAN (предварительно vcenter необходимо периодически реплицировать НА ОТДЕЛЬНЫЙ ДИСК каждого хоста в кластере)
+ vSAN останется живой (но объем уменьшится на объем дисков, которые были на потерявшемся хосте)
+ ВМ будут работать, но перенести их нельзя, ВМ с FT - primary работает, secondary не будет работать (хотя будет в статусе RUNNING до перезагрузки хоста)
Входные данные
- 4 хоста esxi
- на 1 хосте устанавливаем vcenter на локальный диск, этот хост НЕ БУДЕТ в кластере, vcenter на этом хосте будет управлять кластером
- 3 хоста будут в кластере
- на каждом из 3 хостов должно быть как минимум 2 диска:
1 SSD для кэша
1 SSD/HDD для данных
В моем примере был 1 SSD 10ГБ для кэша и 1 SSD 120ГБ для данных на каждом хосте
HA (Высокая доступность) Настройка
При настроенной HA, если падает esxi в кластере, содержащий ВМ, находящиеся на нем ВМ перемещаются на другой esxi в выключенном состоянии и запускаются.
- на 4 хоста ставим esxi
- устанавливаем vcenter на локальный диск 1 хоста
- в vcenter добавляем Datacenter
- в Datacenter создаем кластер
Name: Cluster
Location: Datacenter
vSphere DRS: V
vSphere HA: V
vSAN: V
- ПКМ по кластеру - добавляем сразу 3 хоста esxi (они добавятся в Maintanance mode)
- На каждом esxi:
Configure - Networking - VMkernel adapters:
vmk0 - Edit:
Port properties:
Available services
Enabled services
vMotion: V
Management: V
vSAN: V
- Cluster - Configure - vSan - Disk management:
- Выбираем каждый хост
- SSD 16ГБ маркируем как Cache (Кэш)
- SSD 120ГБ маркируем как Capacity (объем/вместимость/данные)
- Позже здесь можно добавить дополнительные диски в группу для кэша или объема, для этого нужно выбрать хост и добавить диск в группу через "Claim Unused Disks"
- Появится новое хранилище "vsanDatastore"
- Cluster - Configure - vSan - Services:
- Advanced Options - Edit:
# время в минутах, после того, как esxi, на котором имеется ВМ, выйдет из строя и будет лежать это кол-во времени, ВМ будет автоматически мигрирована на другой хост.
# важный параметр, не понимаю почему его так глубоко спрятали.
Object Repair Timer: 1
- Выводим все esxi в кластере из Maintanance mode
- Cluster - Configure - Configuration - VM/Host Groups:
# Создаем группы ВМ и группы хостов, на которых предпочтительно (should) или обязательно (must) находиться ВМ
# правила назначаются в VM/Host Rules
- Cluster - Configure - Configuration - VM/Host Rules:
# при выборе "Virtual Machines that are members of the VM Group should run on hosts that are members of the Host Group",
# после падения одного из esxi, ВМ переместится на другой хост, после восстановления оригинальной esxi, ВМ переместится обратно на эту esxi
# это ОПЦИОНАЛЬНО!
# если правила не установлены, ВМ переместится на esxi по выбору кластера и останется там
- Собственно, минимальная настройка закончена
можно положить esxi, на которой лежат ВМ - через время, согласно настройке "Object Repair Timer", ВМ переместятся на другие хосты в кластере согласно правилам или по выбору кластера
- РАЗОБОРАТЬСЯ ГДЕ НАСТРАИВАЕТСЯ ФАКТОР РЕПЛИКАЦИИ (по сути RAID из дисков хостов в кластере)
Fault Tolerance (Отказоустойчивость) Настройка
---
// При настроенной Fault Tolerance (настраивается для каждой ВМ отдельно) создаются две копии ВМ на разных esxi (Primary/Secondary), если падает esxi в кластере, содержащий ВМ с настроенным FT, ВМ перемещаются на другой esxi во включенном состоянии. Задержка перемещения - несколько секунд.
- На каждом esxi:
Configure - Networking - VMkernel adapters:
vmk0 - Edit:
Port properties:
Available services
Enabled services
Fault Tolerance Logging: V
- ПКМ по ВМ, для которой настраиваем FT
Fault Tolerance - Turn Fault Tolerance ON
Выбираем хранилище vSan
Выбираем хост esxi, на котором будет Secondary копия ВМ
- Собственно всё. При падении esxi ВМ во включенном состоянии переместится на esxi, содержащий Secondary копию ВМ
Вариант 2. 3 хоста всего, все хосты в кластере, на одном из хостов ВМ VCENTER НА ОТДЕЛЬНОМ ДИСК ВНЕ VSAN. На каждом хосте должен быть отформатированный диск для vcenter
Описание
Для такой установки необходимо:
- установить vcenter на отдельный диск одного их хостов вне VSAN
- настроить все хосты в кластер
- 2 хоста, на которых нет vcenter, будут в Maintanance, хост с vcenter НЕ перейдет в Maintanance
- после настройки 2 хоста без Maintanance нужно вывести их Maintanance
- потом vcenter надо перенести на другой хост в кластере без Maintanance
- далее ввести этот хост в Maintanance и сразу вывести из Maintanance
- далее можно перенести vcenter обратно на этот хост, иначе хост не войдет в кластер)
Рекомендации
- НЕ держать на хосте, на котором лежит vcenter, никаких ВМ, кроме vcenter. Т.к. при потере хоста c vcenter остальные ВМ на других хостах кластера продолжат работать, но ВМ на упавшем хосте с vcenter перенести на другие хосты будет невозможно
При такой настройке можно потерять:
1 хост из кластера с vcenter:
+ vSAN останется живой (но объем уменьшится на объем дисков, которые были на потерявшемся хосте)
+ ВМ будут работать, но перенести их нельзя, ВМ с FT - primary работает, secondary не будет работать (хтя будет в статусе RUNNING до перезагрузки хоста)
+ для восстановления кластера:
- восстанавливаем потерявшийся хост с vcenter
ИЛИ
- восстанавливаем vcenter на одном из хостов кластера НА ОТДЕЛЬНОМ ДИСКЕ ВНЕ VSAN (предварительно vcenter необходимо периодически реплицировать НА ОТДЕЛЬНЫЙ ДИСК каждого хоста в кластере)
1 хост без vcenter:
- управление кластером потеряется, так как нет vcenter
+ ВМ будут перемещены и работать согласно правилам HA или FT
+ для восстановления кластера
- восстанавливаем потерявшийся хост или добавляем новый, а старый удаляем
Вариант 3. Самый отказоустойчивый. 3 хоста всего, все хосты в кластере. vCenter HA: 3 vcenter, по одному на каждом хосте ESXi (на отдельном диске вне vSAN): Active, Passive, Witness.
Описание
При такой нстаройке любому одному хосту esxi разрешается упасть, все ВМ (при условии что настроен HA или FT) и vcenter (после редеплоя Failover) продолжат работать.
Для такой установки необходимо:
- 3 хоста esxi
- сеть 10ГБ (1ГБ в тестовом стенде):
- 10ГБ сетевые карты всех ESXi
- 10ГБ свитч
- на каждом хосте ESXi (минимум):
- 1 диск (флэшка) для ОС ESXi
- 1 диск (320ГБ в тестовом стенде) для vcenter
- 1 SSD (10ГБ в тестовом стенде) для кэша
- 1 SSD/HDD (120ГБ в тестовом стенде) для данных (диски ВМ)
Настройка
- Установить ESXi на 3 хоста
- 1 диск (320ГБ в тестовом стенде) для vcenter отформатировать в VMFS, остальные не трогать, они будут использоваться в vSAN
- Установить vcenter на один ESXi, на диск 320ГБ (кластер + vSAN создать сразу при установке vcenter или создать после, руководствоваться Вариантом 1 или Вариантом 2 из данного мануала)
- Настроить кластер из 3-х хостов
- vcenter web:
- Hosts and Clusters - <Корневая_директория (IP vcenter)> - Configure - Settings - vCenter HA:
- Setup vcenter HA
- Select vCenter HA network for Active node: BROWSE - VM Network (в продуктивной среде необходимо настроить внутреннюю сеть для vcenter HA на отдельных сетевых интерфейсах)
- Automatically create clones for Passive and Witness nodes: V
- Для всех 3-х ВМ vcenter выбираем:
- Сеть: VM Network (в продуктивной среде необходимо настроить внутреннюю сеть для vcenter HA на отдельных сетевых интерфейсах)
- Диск для ВМ vcenter: диск 320ГБ (отдельный от vSAN)
- IP/подсеть внутренней сети для vcenter HA (IP из любого свободного частного диапазона, GW можно не указывать):
- Active (текущий 1-й vcenter): 10.1.1.1
- Passive (2-й vcenter):10.1.1.2
- Witness (3-й vcenter):10.1.1.3
- Готово.
- Тут смотрим статус vcenter HA:
- Hosts and Clusters - <Корневая_директория (IP vcenter)> - Configure - Settings - vCenter HA
- Выключаем хост с Active vcenter
- Passive vcenter передеплоится в Active через 5-10 минут и будет доступен по общему IP vcenter.