Сценарий описывает:

  • установку платформы;
  • создание отказоустойчивого кластера с внешним хранилищем;
  • настройку сетевой инфраструктуры.

Для реализации сценария потребуется:

  • действующая лицензия VMmanager Infrastructure. Лицензия должна включать не менее 12 ядер CPU. Подробнее см. в статье Лицензирование;
  • сервер для установки платформы с подключением к Интернет (P1). Подробнее см. в статье Требования к серверу;
  • три сервера для узлов кластера с подключением к Интернет (N1, N2, N3). Каждый сервер должнен соответствовать требованиям к узлам кластера и иметь не менее двух сетевых интерфейсов;

  • внешнее сетевое хранилище. Хранилище может быть аппаратным, программным специализированным (например, TrueNAS) или на базе ОС Linux. Хранилище на базе ОС Linux рекомендуется использовать только для тестирования системы. Объём дискового пространства хранилища определяется из учёта потребностей:
    • количества создаваемых ВМ;
    • количества создаваемых образов и резервных копий ВМ;

    • количества шаблонов ОС;

  • автоматизированное рабочее место (АРМ) для удалённого подключения к серверам.

Схема работы


Пояснения к схеме:

  • P1 — сервер для установки платформы;
  • N1, N2, N3 — серверы для узлов кластера;
  • HA cluster — отказоустойчивый кластер VMmanager;
  • Virtual machines — виртуальные машины кластера;
  • Storage — внешнее сетевое хранилище;
  • eth0, eth1 — сетевые интерфейсы серверов;
  • LAN/WAN — сети для взаимодействия узлов кластера и платформы;
  • SAN — сети для взаимодействия узлов кластера с сетевым хранилищем.

Шаг 1. Подготовка оборудования


АРМ

  1. Убедитесь, что АРМ подключено к Интернет.
  2. При необходимости установите интернет-браузер и SSH-клиент.
  3. Настройте подключение к серверам по SSH:
    1. Откройте окно терминала или командную строку.
    2. Создайте ключ SSH:

      ssh-keygen
      CODE
    3. Укажите имя и путь к файлу для SSH-ключей. По умолчанию в ОС Windows SSH-ключ сохранится в директории C:\Users\<имя_пользователя>\.ssh\, в ОС семейства Unix — в /home/<имя_пользователя>/.ssh/. По умолчанию закрытый ключ сохраняется в файл id_rsa, открытый — в id_rsa.pub.
    4. Добавьте содержимое открытого ключа в файл /root/.ssh/authorized_keys на каждом сервере. В Unix-системах вы можете использовать для этого команду: 

      ssh-copy-id -i <path_to_key> root@host
      BASH

      <path_to_key> — путь к файлу с открытым SSH-ключом

      host — IP-адрес или доменное имя удалённого сервера

Сервер для установки платформы

  1. Убедитесь, что выполнены все требования и рекомендации из статьи Требования к серверу.
  2. Если на сервере установлена ОС Astra Linux, выполните действия из статьи Подготовка сервера с ОС Astra Linux.
  3. Синхронизируйте системное время с NTP-сервером: 

    ntpdate pool.ntp.org
    BASH

Внешнее хранилище

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

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

Серверы для узлов кластера

  1. Убедитесь, что выполнены все требования и рекомендации из статьи Требования к серверу для кластера.
  2. Настройте серверы для работы с внешним хранилищем по инструкции из статьи Предварительная настройка SAN.
  3. Определите путь к блочному устройству хранилища через UUID. Для этого выполните команду:

    blkid -o export <device>
    BASH

    <device> — путь к блочному устройству хранилища в формате /dev/disk. Например, /dev/sdb

    Пример вывода команды

    DEVNAME=/dev/sdb
    UUID=42d8aa74-143a-454e-b3d2-b719f13b5a22
    CODE

    Путь к устройству с UUID будет иметь вид /dev/disk/by-uuid/<UUID>. Например, /dev/disk/by-uuid/42d8aa74-143a-454e-b3d2-b719f13b5a22. Сохраните это значение. Оно понадобится при подключении сетевого хранилища.

  4. Синхронизируйте системное время с NTP-сервером: 

    ntpdate pool.ntp.org
    BASH

Шаг 2. Установка платформы


  1. Сохраните ключ активации (токен) лицензии. Если вы приобрели лицензию в ISPsystem, зайдите в личный кабинет my.ispsystem.com → перейдите в раздел Лицензии → откройте информацию о лицензии → сохраните значение Token.
  2. Подключитесь к серверу P1 по SSH с правами суперпользователя: 

    ssh root@host
    CODE

    host — доменное имя или IP-адрес сервера

  3. Установите VMmanager (подробные инструкции см. в статье Установка):
    1. Скачайте установщик: 

      curl -O https://download.ispsystem.com/6/installer/vm/vm
      CODE
    2. Сделайте файл установщика исполняемым: 

      chmod +x vm
      CODE
    3. Запустите установку, используя ключ активации (токен) лицензии: 

      ./vm install -l="<token>"
      CODE

      <token> — значение параметра Token для вашей лицензии

    4. Дождитесь окончания установки. Если установка завершилась успешно, то в терминале будет выведена ссылка для перехода в VMmanager:

      Пример терминала после успешной установки

      Link to administrator registration page: https://1.2.3.4/auth/setup?token=C50A0BFA55DEDE3343AABE713022A15F
      BASH
    5. Откройте полученную ссылку в браузере и создайте первого пользователя:
      1. Введите E-Mail пользователя.
      2. Придумайте Пароль или нажмите генерировать для автоматической генерации пароля.
      3. Нажмите Готово.
    6. При успешной авторизации в браузере откроется форма начальной настройки платформы. Нажмите кнопку Пропустить начальную настройку.

Шаг 3. Настройка сети


VMmanager содержит модуль управления адресным пространством (IPAM) — физическими сетями, пулами и отдельными IP-адресами. При создании ВМ платформа выделяет ей IP-адрес из заданного пула. Поэтому перед созданием ВМ необходимо указать данные о физической сети и настроить пул IP-адресов для ВМ.

Чтобы настроить сеть и пул:

  1. Перейдите в раздел Сети → вкладка Физические сети.
  2. Нажмите кнопку Добавить физическую сеть.
  3. Укажите Сеть в формате <адрес сети>/<префикс маски сети>. Например, "192.168.0.0/16".
  4. При необходимости измените IP-адрес Шлюза.
  5. Укажите произвольное Примечание.
  6. Включите опцию Добавить IP-адреса в пул.
  7. Введите Название пула Pool 1.
  8. Укажите IP-адреса под создание VM. Вы можете указать:
    • отдельные адреса ("192.168.1.1");
    • адреса по префиксу маски ("192.168.1.0/24");
    • диапазон адресов ("192.168.1.1-192.168.10.254").
  9. Нажмите кнопку Добавить.

Шаг 4. Создание кластера


Создайте кластер по инструкции из статьи Создание кластера. При создании кластера:

  1. Выберите Технологию виртуализации — KVM.
  2. Укажите Название кластераCluster 1.
  3. Укажите DNS-серверы для VM. Например, DNS-серверы Яндекса 77.88.8.8, 77.88.8.1.
  4. Добавьте сетевое хранилище NetStorage 1 с типом SAN. Укажите Путь до блочного устройства, полученный при подготовке узлов на Шаге 1.
  5. К отказоустойчивому кластеру не должны быть подключены локальные хранилища. Чтобы удалить локальное файловое хранилище по умолчанию, в виджете с хранилищем Storage 1 нажмите значок .
  6. Выберите Тип настройки сети — Коммутация.
  7. В поле Пулы выберите пул, созданный на Шаге 3 — Pool 1.

Шаг 5. Добавление узлов в кластер


  1. В интерфейсе платформы перейдите в раздел Узлы.
  2. Нажмите кнопку Подключить узел.
  3. Укажите настройки узла:
    1. Введите Название узла кластера — Node 1.
    2. Выберите Кластер, к которому будет подключён узел — Cluster 1.
    3. Укажите IP-адрес сервера N1 и Порт для подключения по протоколу SSH. Если вы не меняли настройки SSH на узле, оставьте значение по умолчанию.
    4. Нажмите Хочу использовать публичный ssh-ключ и сохраните содержимое ключа.
    5. Подключитесь к серверу N1 по SSH и добавьте содержимое открытого ключа в файл /root/.ssh/authorized_keys.
    6. Для остальных настроек оставьте значения по умолчанию.
  4. Нажмите Подключить узел.
  5. Выполните пп. 2-4 для серверов N2 и N3. В качестве названия узла укажите Node 2 и Node 3.

Шаг 6. Настройка сетевой инфраструктуры


  1. Настройте VLAN для разделения управляющего трафика, трафика ВМ и подключения к хранилищу. Чтобы разделить трафик внутри одного физического интерфейса, создайте необходимые бриджи на узлах кластера. Подробнее см. в статье Настройки сети на узле кластера.
  2. Разрешите передачу трафика между созданными VLAN на портах коммутатора, к которым подключено оборудование.
  3. Настройте маппинг между сетевыми интерфейсами, подключёнными к SAN, и сетевым хранилищем.

  4. Настройте подключение сетевого хранилища с использованием технологии multipath.



Пример схемы сети

Пояснения к схеме:

  • P1 — сервер с платформой;
  • N1, N2, N3 — узлы кластера;
  • mgmt-network0 (untagged) — сеть для управляющего трафика узлов кластера (трафик нетегированный);
  • vm-network1, vm-network2 — сети для трафика ВМ (трафик тегированный);
  • storage-network0 — сеть для трафика подключения к внешнему хранилищу;
  • eth0, eth1 — сетевые интерфейсы на узлах кластеров.

Шаг 7. Настройка отказоустойчивости


  1. Перейдите в Кластеры → выберите кластер → раздел Отказоустойчивость.
  2. Нажмите кнопку Включить отказоустойчивость.
  3. Укажите настройки:
    1. Выберите опцию Все VM в кластере с сетевым хранилищем.
    2. В поле Проверочный IP для VM введите IP-адрес, который будет использоваться для проверки связности.

      Если у всех узлов один и тот же шлюз, укажите IP-адрес шлюза. Если нет, то внешний IP-адрес. Например, 8.8.8.8. 

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

Шаг 8. Проверка отказоустойчивости


  1. Создайте 5 ВМ по инструкции из статьи Создание виртуальных машин. В качестве узла кластера выберите Node 1.
  2. Отключите сервер N1. Если отказоустойчивость настроена успешно, платформа восстановит работу ВМ на узлах Node 2 и Node 3.