Создание кластера VMmanager 6 KVM на AlmaLinux 8
Требования
Подробные требования для создания кластера описаны в официальной вики ISP Systems.
От себя хочу дополнить, что Вам потребуется минимум 1 виртуальная машина или физический сервер для сервера управления на котором будет развёрнута сама система VMManager 6 и с которой будет происходить всё управление кластером.
Так же потребуется минимум 2 сервера под Ноды (Server Node) и 1 дисковое хранилище данных, например SAN.
Описание конфигурации
В моем случае конфигурация кластера выглядит следующим образом:
- ВМ на которой будет сам VMManager 6
- 2x Ноды (server node)
- SAN хранилище
Между собой это все соединено через 10 Гбит/с коммутаторы.
Использоваться будет KVM виртуализация.
Установка
Общая настройка серверов
На ВМ и обе Ноды была установлена операционная система AlmaLinux 8.
Обновление пакетов
sudo su yum -y update
На сетевых интерфейсах необходимо настроить статические адреса, сделать это можно через графическую утилиту nmtui
nmtui
Включение и настройка Firewall, обязательное требование разработчиков.
KVM виртуализация
Разрешите входящие подключения на порты:
- 22/tcp — сервис SSH;
- 179/tcp, 4789/udp — виртуальные сети (VxLAN);
- 5900-6900/tcp — QEMU VNC. Если доступ к VNC осуществляется только через сервер с VMmanager, диапазон портов должен быть открыт для сети, объединяющей узлы кластера;
- 16514/tcp — сервис управления виртуальными машинами libvirt;
- 49152-49261/tcp — сервисы миграции libvirt.
systemctl start firewalld systemctl enable firewalld firewall-cmd --zone=public --add-service=ssh --permanent firewall-cmd --zone=public --add-service=https --permanent firewall-cmd --zone=public --add-port=16514/tcp --permanent firewall-cmd --zone=public --add-port=5900-6900/tcp --permanent firewall-cmd --zone=public --add-port=49152-49261/tcp --permanent firewall-cmd --reload
Установка редактора nano (по желанию)
yum -y install nano
Для того, чтобы VMmanager мог подключить сетевое LVM-хранилище к узлам кластера, установите на всех узлах ПО LVM2
dnf -y install lvm2
Установка VMManager 6 на ВМ
Загрузка скрипта установки и разрешение его выполнения
curl -O https://download.ispsystem.com/6/installer/vm/vm chmod +x vm
Перед началом установки рекомендуется предварительно отключить SElinux вручную. В данном случае я этого не делал поэтому скрипт установки будет запущен дважды.
Первый запуск скрипта установки отключает SElinux.
./vm install -l ключ_лицензии
Команда установки так же содержит в себе ключ лицензии (токен).
После выполнения установки необходимо будет перезагрузить сервер.
После перезагрузки нужно запустить повторно скрипт для продолжения установки.
./vm install -l ключ_лицензии
По окончанию установки Вы получите первичную ссылку с токеном на VMManager 6 для создания аккаунта Администратора.
https://server_ip/auth/setup?token=12345678901234567890
Если VMmanager установлен на сервер, но первый пользователь не создан, вы можете получить уникальную ссылку для перехода в веб-интерфейс следующим способом:
Подключитесь по SSH к серверу с установленным VMManager 6 и выполните команду установки через systemd-сервис vm:
./vm install -l ключ_лицензии
Настройка сетевого LVM хранилища
Настройка сетевого LVM хранилища на Server Node 1 и 2.
Установка iSCSI
dnf update dnf -y install iscsi-initiator-utils
Настройка iSCSI инициатора
InitiatorName=iqn.date.reverse.domain:server_name
nano /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2022-01.com.example:server-node-01 nano /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2022-01.com.example:server-node-02
Проверка доступности iSCSI на сервере хранилища SAN, выполняется так же на всех Server Node.
iscsiadm -m discovery -t sendtargets -p ip_san_server
В ответ на данную команду Вы получите IQN который необходимо будет использовать для подключения
Подключение хранилища к Server Node 1 и 2
iscsiadm -m node -l -T iqn.2002-10.com.server:raid.uid751868.401
Проверка подключения хранилищ на Server Node 1 и 2
iscsiadm -m session
Посмотреть список дисков и томов
lsblk
Настройка кластера в VMManager 6
- Переходим в web-интерфейс VMManager 6
- Создаем кластер
- Добавляем узлы
- Добавляем сетевое хранилище
- Назначаем основной диск для хранения ВМ
Резервное копирование виртуальных машин
Официальная реализация резервного копирования.
Нам был не удобен данный метод, так как для подключение хранилищу это требовало дополнительной ВМ.
Немного поразмыслив и пообщавшись с технической поддержкой ISP System мы решили попробовать реализовать резервное копирование через подключение шары к каталогам /vm/ и /image/.
Суть способа в том, что мы подменяем локальные каталоги файловой шарой куда будут складываться и храниться наши резервные копии. Для гипервизора это будет обычный локальный метод резервного копирования, без подключения дополнительного хранилища.
Подключение сетевой шары к каталогам
mount -t cifs -o username=user,password=pa$$w0rd //IP-address/backups/vm /vm/ mount -t cifs -o username=user,password=pa$$w0rd //IP-address/backups/image /image/
Добавить подключение шары в автозагрузку
Для добавления шары в автозагрузку необходимо отредактировать файл fstab
nano /etc/fstab
Добавьте в него следующее:
//IP-address/backups/vm /vm/ cifs username=user,password=pa$$w0rd //IP-address/backups/image /image/ cifs username=user,password=pa$$w0rd
Сохраните файл.
Всё готово, локальные каталоги подменены шарой, теперь можно выполнять обычное локальное резервное копирование. Резервные копии будут складываться на файловом сервере.