Кластер — группа обслуживающих узлов, на которых запускаются виртуальные машины. В качестве узлов кластера выступают физические серверы. Серверы, которые планируется использовать в качестве узлов требуется предварительно подготовить.
В статье описаны требования к серверам, которые планируется использовать в качестве узлов кластера.
Системные требования
Поддерживаемые операционные системы (ОС):
- CentOS 7 x64 (рекомендуется).
Используйте "чистую" операционную систему: без сторонних репозиториев и установленных дополнительных сервисов.
Рекомендуем использовать на сервере с панелью управления последнюю доступную минорную версию ОС.
Не рекомендуем обновлять операционную систему узла кластера со сменой мажорной версии.
На все узлы кластера установите одну и ту же версию ОС. ОС должны совпадать до минорной версии. Панель управления не позволит добавить в кластер узел, если его ОС отличается от той, что установлена на сервере с VMmanager (мастер-сервере). Например, нельзя добавить в кластер узел с CentOS 7.6, если на мастер-сервере — CentOS 7.5.
Требования к сети
Основные требования
К основным требованиям относятся следующие:
- все узлы кластера и сервер с панелью управления должны находиться в одном сегменте сети;
- сервис SSH должен слушать на порту 22;
- ihttpd не должен слушать все адреса (*);
- достаточно 100-150 Гб под корневой раздел;
- в сети между узлами кластера должен быть разрешен multicast. Убедитесь, что на коммутаторе, к которому подключены сервера, неактивна опция "igmp snooping". Данная опция активирует протокол, блокирующий multicast. Между узлами и хранилищем multicast не нужен;
- защита от multicast шторма должна быть отключена;
- все серверы должны обладать как минимум двумя Ethernet-подключениями: на одном должен быть настроен "белый" IP-адрес, на втором — внутренняя сеть. Эта внутренняя сеть объединена в один VLAN;
- при использовании сетевых хранилищ учитывайте необходимую для них пропускную способность сети;
Настройка брандмауэра
Разрешите входящие подключения на порты:
- 22/tcp — сервис SSH, со всех узлов кластера, из публичной сети по необходимости;
- 111/tcp — rpcbind для NFS, со всех узлов кластера;
- 662/tcp,udp — pftp для NFS, со всех узлов кластера;
- 892/tcp,udp — NFS, со всех узлов кластера;
- 1500/tcp — ihttpd, для доступа к веб-интерфейсу панели из публичной сети и для доступа с узла панели к сервисам панели на узлах кластера;
- 1515/tcp — vmwatch-master мониторинг состояния VM, со всех узлов кластера на сервер с панелью;
- 2049/tcp,udp — NFS, со всех узлов кластера;
- 32803/tcp — NFS, со всех узлов кластера;
- 32769/udp — NFS, со всех узлов кластера;
- 5900-6900/tcp — QEMU VNC. Если доступ к VNC осуществляется только через панель, диапазон портов должен быть открыт для сети, объединяющей узлы кластера;
- 15900-16900/tcp — websockify, трансляция QEMU VNC для веб-интерфейса noVNC, доступ из публичной сети;
- 49152-49261/tcp — сервисы миграции libvirt, со всех узлов кластера;
- 5404-5405/udp — corosync multicast, со всех узлов кластера. Может варьироваться в зависимости от настроек облачных функций в панели;
- 21064/tcp — dlm, со всех узлов кластера;
- 41966-41969/tcp — rgmanager, со всех узлов кластера;
- 50006-50009/tcp — ccsd, со всех узлов кластера;
- 50007/udp — ccsd, со всех узлов кластера.
Рекомендации по настройке дисковой подсистемы
При установке CentOS 7 на узлы кластера рекомендуем в качестве файловой системы выбирать XFS.
Шаблоны ОС, которые использует VMmanager для установки на виртуальные машины, по объёму занимают около 80 Гб (большие по размеру шаблоны Windows, 10-15 Гб каждый шаблон; Linux шаблоны требуют порядка 100 Мб каждый). Шаблоны располагаются в директории /nfsshare/, которая дублируется на каждый узел кластера. Раздел /nfsshare/ должен быть порядка 60-80 Гб, однако если не планируется использовать Windows на гостевых машинах или в дальнейшем создавать собственные шаблоны операционных систем, то размер раздела может быть меньше. /nfsshare/ не обязательно отдельный раздел, обычно это директория корневого раздела.
Если планируете использовать механизм резервного копирования, в корневом разделе должно быть дополнительное свободное место из расчёта 2,5*<максимальный размер диска виртуальной машины>.
Таким образом, рекомендуем выделить 100-150 Гб под корневой раздел + объём под резервные копии. Остальной объём жёсткого диска — под раздел /vm, если в качестве хранилища планируется использовать локальную файловую систему, либо под linux-lvm раздел, если в качестве хранилища планируется использовать локальный LVM.