Продолжаю цикл статей по настройке vCenter 7 High Availability (VCHA). Будем разбираться с архитектурой высокой доступности. Сегодня настроим Advanced vCenter 7 HA в ручном режиме в разных подсетях.
Всего три статьи:
- vCenter 7 HA в автоматическом режиме в одной подсети
- Advanced vCenter 7 HA в ручном режиме в одной подсети
- Advanced vCenter 7 HA в ручном режиме в разных подсетях
Advanced vCenter 7 HA в ручном режиме в разных подсетях
Архитектура отказоустойчивого VCHA состоит из трёх нод: активного экземпляра vCenter Server Appliance, пассивного и хоста-свидетеля, всего три виртуальные машины.
Активный экземпляр vCenter имеет два сетевых интерфейса: стандартный интерфейс управления (eth0) и специальный интерфейс HA (eth1). VCHA реплицирует данные с активной ноды на пассивную по HA сети.
Пассивный экземпляр имеет также два сетевых интерфейса, однако основной его интерфейс eth0 с теми же FQDN, IP и MAC неактивен. Интерфейс активируется в случае сбоя основного экземпляра сервера vCenter или при ручной инициации failover.
Третий экземпляр-свидетель используется для предоставления ресурса-кворума, информируя кластер о том, какой из узлов является активным в текущий момент времени. У свидетеля также два сетевых интерфейса, но eth0 не используется.
vCenter 7 HA сеть
Проведу подготовительные работы. Сперва нужно создать vCenter HA network. На каждом Distributed Switch создам группу портов HA в той подсети, в которой будет находиться сеть HA (NIC1) соответствующей ноды.
Подсеть HA должна отличаться от подсети управления, иначе получим ошибку:
The Management interface (NIC0) and vCenter HA interface (NIC1) must be in different subnets.
Network latency между нодами в подсети HA не должно быть более 10 мс.
Я буду настраивать две ноды в рамках одного кластера на одном распределённом коммутаторе. А третью ноду размещу в отдельном Datacenter и в другом кластере на втором распределённом коммутаторе. На всех коммутаторах понадобится сеть HA.
На первом распределённом коммутаторе HA находится в подсети 10.12.61.0/24. На втором распределённом коммутаторе HA находится в подсети 10.17.61.0/24.
Для сети HA (NIC1) резервирую три IP адреса:
- 10.12.61.251 — активная нода
- 10.12.61.252 — пассивная нода
- 10.17.61.253 — нода-свидетель (в другой подсети)
IP адрес управления (NIC0) для активной ноды уже настроен на текущем сервере vCenter:
- 10.12.62.51
vCenter 7 HA порты
Перед началом работ нужно убедиться, что между нодами открыты порты в сети HA в обоих направлениях:
- TCP 22 — между тремя нодами
- TCP 5432 — между активной и пассивной нодой
- TCP 8182 — между тремя нодами
- UDP 8182 — между тремя нодами
vCenter 7 HA сетевой адаптер NIC1
Смотрю настройки виртуальной машины vCenter. Сейчас там только один сетевой адаптер NIC0.
Добавляю второй сетевой адаптер NIC1 в сети HA с типом VMXNET 3.
Перезагружаю vCenter.
Шаблоны нод для vCenter 7 HA
Настройка Advanced vCenter 7 HA подразумевает создание пассивной ноды и ноды-свидетеля путём клонирования vCenter вручную. В помощь себе создадим шаблоны нод.
Переходим в раздел Menu > Shortcuts > Monitoring > VM Customization Specifications. Или Menu > Policies and Profiles > VM Customization Specifications.
Создаём профиль пассивной ноды. "+ New". Открывается мастер создания спецификаций. Попадаем в раздел Name and target OS.
- Указываем название виртуальной машины для пассивной ноды: vcenter01-Passive
- Выбираем vCenter из выпадающего списка: vcenter01
- Указываем тип OS: Linux
NEXT. Попадаем в раздел Computer name.
- Computer name: указываем такое же, как у активной ноды — vcenter01.
- Domain name: указываем домен vCenter.
NEXT. Попадаем в раздел Time zone.
Настройки временных зон всех трёх нод должны совпадать, указываю настройки, используемые на активной ноде. Etc/UTC. NEXT. Попадаем в раздел Customization script.
Здесь нам ничего не нужно. NEXT. Попадаем в раздел Network.
Мы видим одну сетевую карту NIC1. Настроим её как сеть управления активной ноды. Переключаемся на "Manually select custom settings". Выбираем NIC1. EDIT.
Настраиваем IPv4. IPv6 не используется.
- IPv4 address: 10.12.62.51
- Subnet mask: 255.255.255.0
- Указываем основной шлюз: 10.12.62.1
OK.
Кнопкой ADD добавляем вторую сетевую карту NIC2 и настраиваем её. Здесь нам нужно настроить статический IP адрес 10.12.61.252 (пассивная нода).
Настраиваем IPv4. Шлюз не указываем. IPv6 не используется.
- IPv4 address: 10.12.61.252
- Subnet mask: 255.255.255.0
OK.
NEXT. Попадаем в раздел DNS settings.
Указываем сервера DNS. NEXT. Попадаем в раздел Ready to complete.
FINISH.
Шаблон пассивной ноды создан. Теперь нужно сделать шаблон ноды-свиделетя. Нажимаем Duplicate.
Указываем название для ноды-свидетеля: vcenter01-Witness. Выбираем vCenter vcenter01. OK.
Редактируем шаблон vcenter01-Witness. Edit.
В разделе Network меняем IP адрес для сетевой карты NIC2 на статический 10.17.61.253 (нода-свидетель).
IP адрес для сетевой карты NIC1 меняем на автоматический Use DHCP. OK.
Настрока vCenter 7 HA
Подготовительные работы завершены. Переходим непосредственно к настройке HA. Корневой раздел vCenter, Configure > vCenter HA.
Нажимаю кнопку SET UP VCENTER HA.
Текущая виртуальная машина vcenter01 станет активной нодой. С помощью кнопку BROWSE указываем группу портов для сети HA. Снимаем галку Automatically create clones for Passive and Witness nodes, тем самым отключаем обычный режим настройки HA. Мы видим что сеть управления на NIC0 называется HV, а сеть на NIC1 — HA. Эти подсети разные.
Пассивную ноду и ноду-свидетель нам нужно будет создать самим. NEXT.
Переходим к настройкам IP адресов. Для HA сети активной ноды указываем IP адрес 10.12.61.251 и маску.
Для HA сети пассивной ноды указываем IP адрес 10.12.61.252 и маску. Сеть управления не трогаем.
Для HA сети ноды-свидетеля указываем IP адрес 10.17.61.253 и маску. FINISH.
Сеть на активной ноде поднялась. Пассивная нода и нода-свидетель, естественно, недоступны.
Клонирование нод vCenter 7 HA
Клонируем vcenter01 для создания пассивной ноды. Правой кнопкой на vcenter01, Clone > Clone to virtual machine.
Указываем название виртуалки для пассивной ноды vcenter01-Passive. Выбираем Datacenter. NEXT.
Выбираем хост. Я выбираю хост в том же кластере, где находится активная нода. NEXT.
Выбираем хранилище, NEXT.
Ставим галку "Customize the operating system". NEXT.
Выбираем шаблон спецификации для пассивной ноды, который создавали ранее: vcenter01-Passive. NEXT.
FINISH.
Начинается процесс клонирования виртуальной машины. Дожидаемся окончания.
Клонируем vcenter01 для создания ноды-свидетеля. Правой кнопкой на vcenter01, Clone > Clone to virtual machine.
Указываем название виртуалки для пассивной ноды vcenter01-Witness. Выбираем второй Datacenter. NEXT.
Выбираем хост во втором кластере. Видно, что имеются предупреждения.
На выбранном хосте недоступна сеть, настроенная на активной ноде. Это и понятно, потому как выбранный хост будет находиться в другой подсети в другом распределённом коммутаторе. Продолжаем, NEXT.
Выбираем хранилище, NEXT.
Ставим галку "Customize the operating system". Дополнительно ставим галку "Customize this virtual machine's hardware". NEXT.
Выбираем шаблон спецификации для ноды-свидетеля, который создавали ранее: vcenter01-Witness. NEXT.
Выбираем сеть управления для первого адаптера уже со второго распределённого коммутатора. Указываем сеть HA для второго адаптера.
Для ноды-свидетеля не требуется большое количество процессоров и много памяти. Ставим 1 CPU и 2 ГБ ОЗУ. NEXT.
FINISH.
Начинается процесс клонирования виртуальной машины. Дожидаемся окончания.
Включаем вторую и третью ноды.
Маршрутизация
Вот теперь важный момент. Ноды с HA в разных подсетях не видят друг друга. У меня первая и вторая нода в одной подсети, они видят друг друга. А нода-свидетель в отдельной подсети. Настройка маршрутизации производится вручную. Маршруты можно прописать к отдельным подсетям, но я буду прописывать маршруты к отдельным IP адресам.
Начну с ноды-свидетеля. Захожу на неё через консоль. Вхожу под пользователем root. Запускаю оболочку:
shell
Текущий IP адрес ноды-свидетеля 10.17.61.253. Пробуем пингануть активную ноду 10.12.61.251 — неудача, что закономерно.
Настройки сетевых карт находятся в папке:
/etc/systemd/network/
- 10-eth0.network.manual — сеть управления.
- 10-eth1.network— сеть HA.
Модифицируем файл 10-eth1.network:
vim /etc/systemd/network/10-eth1.network
Текущие настройки HA на ноде-свидетеле:
[Match]
Name=eth1
[Network]
DHCP=ipv6
Address=10.17.61.253/24
Gateway=
DNS=10.12.47.10
DNS=10.12.47.11
[DHCP]
UseDNS=false
Вносим маршруты к активной и пассивной нодам. Заодно убираем DHCP на ipv6, откуда оно там...
[Match]
Name=eth1
[Network]
DHCP=no
Address=10.17.61.253/24
Gateway=
DNS=10.12.47.10
DNS=10.12.47.11
[DHCP]
UseDNS=false
[Route]
Gateway=10.17.61.1
Destination=10.12.61.251
[Route]
Gateway=10.17.61.1
Destination=10.12.61.252
Передёргиваем сеть:
ifdown eth1
ifup eth1
Проверяем маршруты:
ip route
Аналогично на активной и пассивной нодах прописываем маршрут к ноде-свидетелю:
[Route]
Gateway=10.12.61.1
Destination=10.17.61.253
На активной (Alt+F1 для переключения терминала):
На пассивной:
Теперь все ноды друг друга видят:
Последние штрихи vCenter HA
Пока я делал скриншоты, кворум собрался.
vCenter 7 HA работает. Mode: Enabled, State: Healthy.
Настройки активной ноды:
Настройки пассивной ноды:
Настройки ноды-свидетеля:
Управление vCenter 7 HA
Кнопка EDIT позволяет управлять vCenter HA. Доступно три состояния:
- Enable vCenter HA
- Maintenance Mode
- Disable vCenter HA
Кнопка INITIATE FAILOVER делает пассивную ноду активной.
Кнопка REMOVE VCENTER HA, соответственно, удаляет vCenter HA.