Кластер — совокупность серверов, расположенных в единой локации. Отличительными чертами таких серверов (узлов кластера) являются расположение и высокая скорость передачи данных между ними. Каждый узел может находиться только в одном кластере. В статье указаны требования к узлам кластера.  

Установка платформы на сервер для узла кластера возможна только с целью переноса платформы на ВМ в этом кластере. В остальных случаях такая конфигурация не поддерживается и техническая поддержка по ней не оказывается.


Гомогенность узлов


Рекомендуем использовать в одном кластере узлы, однородные по настройкам сети, маршрутизации, версиям программного обеспечения. Это обеспечит наилучшие условия для миграции виртуальных машин между узлами кластера.

Платформа не поддерживает работу кластеров, в которых совместно используются узлы с ОС на основе Red Hat (AlmaLinux) и ОС на основе Debian (Astra Linux).

Поддержка виртуализации


Узел кластера KVM должен поддерживать виртуализацию на уровне процессора. Чтобы проверить наличие поддержки для процессоров Intel и AMD, введите команду:

grep -P 'vmx|svm' /proc/cpuinfo
BASH

Если вывод команды не пустой, то процессор поддерживает виртуализацию.

Чтобы использовать виртуализацию, убедитесь, что она включена в BIOS сервера.

Аппаратные требования


Узлом кластера должен быть физический сервер со следующими характеристиками:


Минимальные требованияРекомендуемые требования
Процессор2.4 ГГц3 ГГц
Количество ядер4 шт.8 шт.
Оперативная память8 Гб16 Гб

Дисковое пространство


При использовании сетевого хранилища

150 Гб500 Гб

Без использования сетевого хранилища

1 ТБ2 ТБ

Материнская плата

Рекомендуем использовать серверную материнскую плату. Узел кластера с материнской платой для настольного ПК может работать некорректно.

В случае возникновения проблем с производительностью дисковой подсистемы рекомендуем включить в настройках BIOS режим энергопотребления c максимальной производительностью.

Процессор

Поддерживаются процессоры Intel и AMD с архитектурой x86_64. Процессоры с архитектурой ARM не поддерживаются.

Диск и хранилища

При разбивке диска выделите максимально возможный объём под корневую директорию (/).

Перед добавлением узла в существующий кластер настройте на сервере все хранилища, используемые в кластере. Для кластеров LXD требуется настройка ZFS-хранилища. Подробнее см. в статье LXD.

Программные требования


Операционная система

Поддерживаемые операционные системы (ОС) зависят от типа виртуализации и сетевых настроек кластера:


Открытый контурЗакрытый контур (только для версии Infrastructure)

KVMLXDKVM
Коммутация

AlmaLinux 8.6, 8.7, 8.8, 8.9

AlmaLinux 9.5, 9.6

Astra Linux Special Edition 1.7.4, 1.8.1, 1.8.3 редакции "Орёл" или "Воронеж" (только для версии Infrastructure)

Ubuntu 20.04

Astra Linux Special Edition 1.7.4, 1.8.1, 1.8.3 редакции "Орёл" или "Воронеж"

Маршрутизация

AlmaLinux 8.6, 8.7, 8.8, 8.9

AlmaLinux 9.5, 9.6

Astra Linux Special Edition 1.7.4, 1.8.1, 1.8.3 редакции "Орёл" или "Воронеж" (только для версии Infrastructure)

конфигурация не поддерживается

Astra Linux Special Edition 1.7.4, 1.8.1, 1.8.3 редакции "Орёл" или "Воронеж"

IP-fabric

AlmaLinux 8.6, 8.7, 8.8, 8.9

AlmaLinux 9.5, 9.6

Ubuntu 20.04

конфигурация не поддерживается


Минорные версии ОС и версии ядра ОС на узлах кластера могут различаться.

Используйте немодифицированную ОС в минимальной редакции: без сторонних репозиториев и установленных дополнительных сервисов. 

Дополнительные сервисы — это все программы, установленные на сервере, которые не входят в стандартный набор ОС и не связаны с работой платформы. Например, дополнительные веб-серверы и СУБД.

Чтобы обеспечить гомогенность системного ПО, рекомендуется периодически обновлять ОС на узлах кластера. 

Чтобы переустановить ОС на узле, предварительно удалите его из кластера. Иначе платформа не сможет взаимодействовать с этим узлом.

AlmaLinux 8

AlmaLinux 9

AlmaLinux 9 поддерживается для узлов:

  • с одним сетевым интерфейсом — с версии 2025.06.1;
  • с двумя сетевыми интерфейсами — с версии 2025.07.2.

Не рекомендуем выполнять обновление ОС с AlmaLinux 8 на AlmaLinux 9 с помощью ELevate или аналогичного ПО.

Чтобы обновить ОС на узле кластера:

  1. Перенесите виртуальные машины на другой узел по инструкции из статьи Миграция виртуальных машин.
  2. Удалите узел кластера.
  3. Установите на сервере ОС AlmaLinux 9.
  4. Подключите узел к кластеру.
  5. Перенесите виртуальные машины обратно на узел.
  • Убедитесь, что для фильтрации сетевых пакетов используется только служба nftables и для этой службы настроен автозапуск.
  • В официальных репозиториях AlmaLinux 9 нет ПО для работы SPICE. Чтобы платформа могла установить ПО из альтернативного репозитория COPR, выполните на узлах кластера команду: 

    dnf copr enable -y ligenix/enterprise-qemu-spice && dnf update -y
    CODE

Astra Linux

  • Чтобы подготовить узел кластера с ОС Astra Linux, выполните инструкции из статьи Подготовка сервера с ОС Astra Linux.
  • Обновление с ОС Astra Linux 1.7.0, 1.7.1, 1.7.2 до 1.7.4 не поддерживается. Инструкции по обновлению до версии 1.8.1 см. в статье Миграция с ОС Astra Linux 1.7.X на Astra Linux 1.8.1.
  • Astra Linux Special Edition 1.8.1.6 не поддерживается.
  • Astra Linux Special Edition 1.8.3 поддерживается с версии 2025.10.1.

CentOS

ОС CentOS не поддерживается. Если на сервере установлена ОС CentOS, вы можете выполнить миграцию на ОС AlmaLinux 8:

Программное обеспечение

Для корректной работы узла кластера не изменяйте стандартное приветствие командной строки в файле .bashrc.

Чтобы платформа могла подключиться к узлу кластера, на узле должны быть установлены пакеты ПО dmidecode и python3. Если это ПО не входит в состав ОС, установите его вручную.

Отключение службы SELinux

Служба SELinux используется в качестве дополнительного средства безопасности ОС AlmaLinux. Рекомендуем отключить службу SELinux, так как она замедляет работу платформы и может помешать её корректной установке.

После отключения SELinux ресурсы сервера останутся защищены с помощью встроенной службы избирательного управления доступом.

Чтобы отключить SELinux:

  1. Проверьте статус службы: 

    sestatus
    CODE
  2. Если ответ содержит enforcing или permissive:

    1. В файле /etc/selinux/config установите для параметра SELINUX значение disabled: 

      sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config
      CODE
    2. Перезагрузите сервер.

    Если в ответе на команду sestatus указано, что команда не найдена (например, sestatus: command not found), никаких действий не требуется.

Обновление ОС

После обновления ОС на узле кластера перезапустите сервис libvirt:

systemctl restart libvirtd
BASH

Системное время

Перед подключением узла системное время должно быть синхронизировано с NTP-сервером. Для этого настройте синхронизацию с помощью ПО chrony.

Настройки SSH

На узле кластера должны быть разрешены SSH-подключения с авторизацией по ключу. Убедитесь, что в конфигурационном файле /etc/ssh/sshd_config отсутствует строка 

PubkeyAuthentication no
CODE

Если такая строка есть, удалите её и перезапустите службу sshd командой

systemctl restart sshd
CODE

Для серверов в дата-центре OVH

При установке ОС через панель управления OVH включите опцию Install original kernel. Для корректной работы серверов кластера используйте оригинальное ядро ОС.

Сетевые настройки


Сетевые настройки узлов кластера должны соответствовать следующим требованиям:

  • у каждого сервера должно быть уникальное имя хоста (hostname);
  • в кластерах с типом настроек "Коммутация" и "Маршрутизация" в открытом информационном контуре сервер должен иметь доступ в интернет, в т.ч. к репозиторию download.ispsystem.com. Это необходимо для загрузки шаблонов ОС и пакетов ПО из внешних источников; 
  • IP-адрес должен находиться на физическом интерфейсе сервера или во VLAN;

  • IP-адрес должен быть статическим и задан через конфигурационный файл сетевого интерфейса (без использования DHCP);
  • на сервере должен быть настроен статический IPv4-адрес. Работа платформы только с IPv6-адресами (без IPv4-адресов) не тестировалась и не гарантируется;
  • если в кластере с типом настроек "Коммутация" для ВМ выделяются IPv6-адреса, один из адресов IPv6-сети должен быть присвоен интерфейсу узла;
  • шлюз по умолчанию должен быть доступен для проверки утилитой ping;
  • имена сетевых интерфейсов не должны содержать букв, отличных от латинских.

Требования к узлам кластера с двумя сетевыми интерфейсами см. в статье Основная и дополнительная сеть.

Если сервер находится в дата-центре Hetzner, не рекомендуем использовать функцию vSwitch. Эта функция ограничивает общее количество MAC-адресов, используемых физическими и виртуальными интерфейсами сервера, до 32.

Платформа не управляет подключениями VLAN, если на них назначены IP-адреса. Чтобы добавить узел, на котором для маршрута по умолчанию используется IP-адрес, назначенный на VLAN:

  1. На сервере с ОС Astra Linux проверьте установлен ли пакет с ПО ifenslave. Если пакет не установлен, установите его.
  2. Настройте бридж вручную.
  3. При добавлении узла включите опцию Не настраивать сеть автоматически.

Пример настройки для ОС Astra Linux

Начальная конфигурация

auto bond0
iface bond0 inet manual
bond-mode 1
bond-miimon 100
bond-slaves eth0 eth1

auto bond0.5
iface bond0.5 inet static 
address 192.168.181.69/26
gateway 192.168.181.65
CODE

Конфигурация с бриджем

auto bond0
iface bond0 inet manual
    bond-mode 1
    bond-miimon 100
    bond-slaves eth0 eth1

auto bond0.5
iface bond0.5 inet manual 
    vlan-raw-device bond0

auto vmbr0
iface vmbr0 inet static
    address 192.168.181.69/26
    gateway 192.168.181.65
    bridge_ports bond0.5
    bridge_stp off
CODE

Пример настройки для ОС AlmaLinux

Начальная конфигурация

/etc/sysconfig/network-scripts/ifcfg-bond0.4

DEVICE="bond0.4"
VLAN="yes"
ONBOOT="yes"
BOOTPROTO="none"
IPADDR=10.3.0.62
PREFIX=24
NETMASK=255.255.255.0
GATEWAY=10.3.0.1
DNS1=8.8.8.8
DNS2=8.8.4.4
CODE

/etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE="bond0"
TYPE="Bond"
BONDING_MASTER="yes"
ONBOOT="yes"
BOOTPROTO="none"
BONDING_OPTS="mode=active-backup"
CODE

/etc/sysconfig/network-scripts/ifcfg-enp1s0f0

TYPE=Ethernet
DEVICE=enp1s0f0
UUID=b47d0044-55ca-40d2-be0c-3d4a65a9985d
ONBOOT=yes
DEFROUTE=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
NAME="System enp1s0f0"
SLAVE=yes
MASTER=bond0
CODE

Конфигурация с бриджем

/etc/sysconfig/network-scripts/ifcfg-bond0.4

DEVICE="bond0.4"
VLAN="yes"
ONBOOT="yes"
BOOTPROTO="none"
BRIDGE="vmbr0"
CODE

/etc/sysconfig/network-scripts/ifcfg-vmbr0

DEVICE="vmbr0"
TYPE="Bridge"
ONBOOT="yes"
BOOTPROTO="none"
STP="no"
IPV6INIT="no"
IPADDR=10.3.0.62
PREFIX=24
NETMASK=255.255.255.0
GATEWAY=10.3.0.1
DNS1=8.8.8.8
DNS2=8.8.4.4
CODE

Настройки MTU осуществляются на уровне операционной системы (ОС) узла кластера. Платформа осуществляет поддержку jumbo frame (кадров с MTU более 1500 байт).

Файл /etc/hosts

Убедитесь, что в файле /etc/hosts есть запись для сервера в формате:

<IP-адрес сервера> <hostname сервера>
CODE

Файл /etc/resolv.conf

Убедитесь, что в файле /etc/resolv.conf есть записи вида:

nameserver <IP-адрес DNS-сервера>
CODE

Если в качестве DNS-сервера указан IP-адрес локальной службы systemd-resolved — 127.0.0.53, то проверьте, что в файле /etc/systemd/resolved.conf указаны адреса DNS-серверов:

DNS=<список_серверов>
CODE

Файл /etc/NetworkManager/NetworkManager.conf

Если сервис NetworkManager управляет настройками DNS, он может удалить файл /etc/resolv.conf. Чтобы отключить управление DNS, добавьте в раздел main файла /etc/NetworkManager/NetworkManager.conf строку: 

dns=none
CODE

Настройки входящих подключений

KVM-виртуализация

Разрешите входящие подключения на порты:

  • 22/tcp — сервис SSH;
  • 179/tcp, 4789/udp — виртуальные сети (VxLAN);
  • 5900-6900/tcp — QEMU VNC, SPICE. Если доступ осуществляется только через сервер с VMmanager, диапазон портов должен быть открыт для сети, объединяющей узлы кластера;

    Если вы планируете разместить более 1000 ВМ на узле кластера, выполните инструкции из статьи базы знаний Как увеличить диапазон портов для VNC и SPICE?

  • 16514/tcp — сервис управления виртуальными машинами libvirt;
  • 49152-49215/tcp — сервисы миграции libvirt.

LXD-виртуализация

Разрешите входящие подключения на порты:

  • 22/tcp — сервис SSH;
  • 179/tcp, 4789/udp — виртуальные сети (VxLAN);
  • 8443/tcp — сервис управления LXD-контейнерами.

Настройка доступа через прокси

Выполните эти настройки, если внешние Интернет-сервисы на сервере доступны только через прокси.

Настройку прокси нужно выполнить до подключения сервера в качестве узла кластера. В противном случае VMmanager не сможет загрузить и установить на сервер необходимые пакеты для создания среды виртуализации.

Чтобы сервер использовал прокси:

  1. Подключитесь к серверу по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Укажите настройки прокси в файле /etc/environment

    Подключение с авторизацией по паролю

    https_proxy="https://user:pass@proxy:port" 
    http_proxy="http://user:pass@proxy:port"
    ftp_proxy="ftp://user:pass@proxy:port"
    CODE

    Подключение без авторизации по паролю

    https_proxy="https://proxy:port" 
    http_proxy="http://proxy:port"
    ftp_proxy="ftp://proxy:port"
    CODE

    user — имя пользователя для авторизации на прокси

    pass — пароль для авторизации на прокси

    proxy — IP-адрес прокси

    port — порт прокси

  3. Перезагрузите сервер: 
    reboot
    CODE

Закрытый информационный контур


Чтобы подготовить сервер для закрытого контура, выполните инструкции из статьи Установка в закрытом информационном контуре.