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

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

Подключение сервера


Перед подключением убедитесь, что сервер соответствует требованиям к узлам кластера.

При подключении сервера к кластеру LXD вся информация в ZFS-пуле узла будет уничтожена.

Чтобы подключить сервер к кластеру:

  1. Перейдите в Узлы  Подключить узел.
  2. Укажите Название узла кластера.
  3. Выберите Кластер, к которому будет подключён узел.
  4. Чтобы VMmanager не создавал на узле бридж по умолчанию, включите опцию Не настраивать сеть автоматически. Подробнее о бриджах см. в статье Настройки сети на узле кластера.

    Включите эту опцию, если:

    • вы планируете использовать VLAN-интерфейс для IP-адреса сервера;
    • сервер имеет нестандартную сетевую конфигурацию — нет единого интерфейса, через который проходит весь трафик.

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

  5. Укажите произвольное Примечание.
  6. Укажите IP-адрес сервера и Порт для подключения к нему по протоколу SSH. По умолчанию — "22".
  7. Укажите имя Пользователя. Если на узле не используется ОС Astra Linux Special Edition редакции "Воронеж", для корректной работы узла рекомендуется использовать имя пользователя root.
  8. Укажите Пароль пользователя или добавьте на сервер публичный SSH-ключ платформы. Для этого нажмите Хочу использовать публичный ssh-ключ, скопируйте ключ и добавьте его в файл /root/.ssh/authorized_keys на сервере. 

    Если вы указали пароль пользователя, VMmanager подключится к серверу с этим паролем и добавит публичный SSH-ключ платформы в список авторизованных ключей. При следующих подключениях к узлу VMmanager будет использовать только SSH-ключ.

  9. Укажите Коэффициент оверселлинга RAM. Подробнее см. в статье Оверселлинг.
  10. Укажите Ограничение количества VM. При достижении этого значения на узле будет запрещено создание ВМ и их миграция. Если ограничение не устанавливать, ВМ будут создаваться, пока это позволяют ресурсы узла.
  11. Укажите Ограничение количества vCPU — максимальное количество vCPU, которое можно выделить для ВМ на этом узле. Значение параметра по умолчанию — количество CPU на сервере, умноженное на коэффициент оверселлинга.
  12. Укажите Параметры VM, которые будут создаваться на узле кластера. Подробнее см. в разделе Настройки распределения ВМ.
  13. Если вы подключаете сервер к кластеру с типом IP-fabric, укажите IPv6-адрес для настройки сетей.
  14. Если вы подключаете сервер к кластеру с типом настройки сети "Маршрутизация", укажите IP под создание VM. Вы можете ввести отдельные адреса или задать сеть адресов по префиксу маски. Ввод каждого адреса нужно начинать с новой строки.
  15. Выберите скрипты, которые должны выполниться при подключении узла:
    1. Нажмите Выбрать скрипты.
    2. Выделите нужные скрипты в списке.
    3. Выберите порядок выполнения скриптов в колонке Приоритет запуска.

    4. Нажмите Выбрать ... скриптов.



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

  16. Нажмите Подключить узел.
  17. Если вы выбрали кластер с двумя сетевыми интерфейсами, укажите Интерфейс для основной сети и/или Интерфейс для дополнительной сети. Подробнее см. Основная и дополнительная сеть. Нажмите Продолжить.

Пример подключения

На сервере будет установлено необходимое программное обеспечение и выполнены необходимые настройки.

Чтобы увеличить количество возможных сетевых соединений, VMmanager на узле кластера изменяет значения параметров net.nf_conntrack_max и net.netfilter.nf_conntrack_max на 1048576. Подробнее см. Как изменить параметры netfilter?

Карточка узла кластера


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

  • статус узла;
  • тип виртуализации — KVM или LXD;
  • CPU — загрузка процессора;
  • RAM — потребляемый объём оперативной памяти;
  • Storage — потребляемый объём диска;
  • коэффициенты оверселлинга;
  • информация о подключённых хранилищах;
  • Всего VM — общее количество ВМ на узле;
  • количество ВМ с определённым статусом;
  • Прогноз по VM — максимально возможное количество ВМ. Значение рассчитывается динамически и зависит от свободных ресурсов узла;
  • имя кластера;
  • операционная система;
  • IP-адрес узла;
  • Аптайм — время непрерывной работы узла;
  • Службы — запущенные службы;
  • примечание.

Возможные статусы узла:

СтатусОписание
ПодключенУзел находится в рабочем состоянии
Подготовка узлаПлатформа подготавливает узел к подключению
Настройка виртуализацииНа узле выполняется установка ПО виртуализации
Настройка мониторинга На узле выполняется установка системы мониторинга
В режиме обслуживанияУзел находится в режиме обслуживания
ПоврежденПО на узле работает некорректно
НедоступенПлатформа не может подключиться к узлу
УдаленУзел удалён

В отказоустойчивом кластере сервисы ha-agent на узлах могут принимать следующие статусы:

  • рабочие:
    • Мастер-узел — узел в рабочем состоянии и выбран мастером;
    • Активен — узел в рабочем состоянии и является участником либо в промежуточном рабочем состоянии (выборы или ожидание обновления);
  • нерабочие:
    • Изоляция по сети — узел недоступен по сети, но у узла есть доступ к хранилищу. Статус устанавливается, если узел недоступен для сервисов ha-agent на других узлах кластера;
    • Нет связи с хранилищем — у узла нет доступа к хранилищу, но узел доступен по сети;
    • Недоступен — узел недоступен по сети и у него нет доступа к хранилищу. Статус устанавливается, если у платформы нет доступа к узлу;
    • Исключен из HA-кластера — узел недоступен по сети, но имеет доступ к хранилищу. ВМ узла временно исключены из кластера, их перенос не выполняется;
  • специальные:
    • Неизвестный статус — точный статус узла неизвестен. Например, отказоустойчивость находится в процессе включения;
    • Проблема с подключением HA — задача включения отказоустойчивости на узле завершилась с ошибкой.

Интерфейс карточки узла кластера

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

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


Если ПО на узле работает некорректно, платформа устанавливает для него статус "Поврежден". Вы можете подключить проблемный узел повторно. Для этого:

  1. На сервере с платформой изучите лог-файл с ошибками подключения /var/log/node_create/{node_id}.log. Устраните проблемы, не позволяющие добавить узел.

  2. В разделе Узлы в строке с проблемным узлом нажмите на сообщение в столбце Статус → кнопка Переподключить узел.

Изменение параметров подключения


Если на узле кластера изменился IP-адрес и/или порт SSH, VMmanager потеряет соединение с узлом. Чтобы восстановить подключение:

  1. Перейдите в Узлы → выберите узел → меню Изменить параметры подключения.
  2. Укажите IP-адрес узла.
  3. Укажите SSH-порт.
  4. Нажмите Подключиться к узлу.

Изменение SSH-ключа платформы


Чтобы изменить SSH-ключ платформы:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Создайте резервную копию платформы на случай возможных сбоев: 
    vm backup
    CODE
  3. Обновите приватный SSH-ключ платформы:
    docker exec -it vm_box curl 'input:1500/vm/v3/ssh_key_replace' -X POST -H 'internal-auth: on' --data-raw '{}'
    CODE
  4. Перезапустите платформу: 
    vm restart
    CODE
    После перезапуска платформа удалит на узлах кластера старые публичные SSH-ключи и скопирует новые. 

    При замене SSH-ключей на узлах кластера перезапустятся службы hawatch, node_alert и monitor.

Логи обновления приватного SSH-ключа сохраняются в файл /var/log/node_ssh_key_replace.log в контейнере vm_box.

SSH-ключи сохраняются в директорию /opt/ispsystem/vm/etc/.ssh/ в контейнере vm_box. Файлы со старыми ключами сохраняются с расширением .bak.

Настройки распределения ВМ


При создании ВМ платформа выбирает узел кластера с наиболее подходящими настройками распределения. Например, вы можете задать настройки таким образом, чтобы на узле создавались только ВМ с определённым объёмом RAM или Storage.

Чтобы задать настройки распределения:

  1. Перейдите в Узлы → выберите узел → Настройки распределения VM.
  2. Укажите Коэффициент оверселлинга RAM. Подробнее см. в статье Оверселлинг.
  3. Укажите Ограничение количества VM максимальное количество ВМ на узле.
  4. Укажите Ограничение количества vCPU — максимальное количество vCPU, которое можно выделить для ВМ на этом узле.
  5. Выберите Параметры VM для фильтров распределения:
    • Теги ОС — теги шаблонов операционных систем; 

      У некоторых ВМ может не быть тегов ОС. Например, если ВМ создана без ОС или из ISO-образа. Для таких ВМ фильтры работают следующим образом:

      • если фильтр проверяет совпадение с тегом, то ВМ не может быть размещена на этом узле;
      • если фильтр проверяет несовпадение с тегом (значение фильтра задано в формате "!some_tag"), то ВМ может быть размещена на этом узле.
    • Конфигурации — названия конфигураций;
    • Ресурсы RAM — объём оперативной памяти;
    • Ресурсы Storage — объём диска;
    • Ресурсы vCPU — количество виртуальных процессоров;
    • Сложный фильтр — условие с несколькими параметрами.
      При вводе условий используйте синтаксис фильтров. Если нужно задать дополнительное условие, нажмите Добавить фильтр. Чтобы удалить условие, нажмите .

      Если вы зададите несколько условий, они объединятся через логическое "И". То есть, платформа исключит узлы кластера, которые не удовлетворяют хотя бы одному из условий.

  6. Нажмите Сохранить.

 

Пример настройки фильтров распределения


Чтобы настроить распределение ВМ на нескольких узлах кластера:

  1. Перейдите в Узлы → выберите нужные узлы.
  2. В нижнем меню нажмите Настройки распределения VM.
  3. В открывшемся окне настройте Фильтры распределения VM.
  4. Нажмите Сохранить.

    Пример настройки фильтров распределения

Запрет на создание ВМ


Чтобы запретить пользователям создавать виртуальные машины на узле кластера:

  1. Перейдите в Узлы →меню Запретить создание VM.
  2. Нажмите Запретить.

Чтобы отменить запрет:

  1. Перейдите в Узлы → меню Разрешить создание VM.
  2. Нажмите Разрешить.