VMmanager

Подготовка сервера с ОС Astra Linux


Статья содержит порядок подготовки сервера с ОС Astra Linux Special Edition для установки платформы и настройки узлов кластера.

Если на сервере уже установлена ОС Astra Linux, переустановите ОС и выполните её настройку по инструкциям из этой статьи.

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

Установка ОС

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

При установке операционной системы:

  1. На шаге Установка базовой системы выберите Ядро для установки — linux-5.15-generic или linux-6.1-generic.
  2. На шаге Выбор программного обеспечения:
    1. Выберите следующие компоненты:
      1. Средства Виртуализации.
      2. Консольные утилиты.
      3. Средства удаленного подключения SSH.
    2. Убедитесь, что остальные компоненты отключены.
  3. На шаге Дополнительные настройки ОС:
    1. Выберите уровень защищенности "Орел" или "Воронеж".
    2. Убедитесь, что отключены опции:
      1. Замкнутая программная среда.
      2. Запрет установки бита исполнения.
      3. Запрет исполнения скриптов пользователя

        Если вы выбрали уровень защищённости "Воронеж", рекомендуем отключить опцию "Очистка освобождаемой внешней памяти". Эта опция значительно увеличивает нагрузку на CPU и время выполнения некоторых операций. 

Настройка ОС на сервере с платформой

  1. Перейдите в режим суперпользователя: 

    sudo su -
  2. Настройте список источников в файле /etc/apt/sources.list:

    • для установки в закрытом контуре в файле должны быть закомментированы все строки, кроме: 

      deb cdrom:[OS Astra Linux <номер версии> 1.7_x86-64 DVD]/ 1.7_x86-64 contrib main non-free
    • для установки в открытом контуре в файле должны быть раскомментированы все строки, кроме: 

      deb cdrom:[OS Astra Linux <номер версии> 1.7_x86-64 DVD]/ 1.7_x86-64 contrib main non-free
      deb https://download.astralinux.ru/astra/stable/1.7_x86-64/uu/last/repository-update/ 1.7_x86-64 main contrib non-free
  3. В файле /etc/network/interfaces настройте сетевую конфигурацию со статическим IP-адресом: 

    Пример конфигурации
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
        address   192.168.1.10
        netmask   255.255.255.0
        gateway   192.168.1.254
    
  4. Если платформа будет использоваться в открытом информационном контуре (с доступом к Интернет), создайте файл /etc/resolv.conf и укажите в нём настройки DNS-серверов:

    Пример настройки
    nameserver 77.88.8.8
    nameserver 1.1.1.1
    options timeout:1
    options attempts:2
  5. Перезапустите службу networking

    sudo systemctl restart networking
  6. Проверьте доступность сети.

Настройка системного времени

Настройте синхронизацию системного времени с NTP-сервером на сервере платформы и узлах кластера. Подробнее см. в документации Astra Linux.

Настройка сети на узлах кластера

  1. В файле /etc/network/interfaces настройте сетевую конфигурацию. Примеры конфигураций: 

    Минимальная конфигурация без бриджей и бондов
    Конфигурация с бриджем и интерфейсом во VLAN
    Конфигурация с бондом во VLAN в режиме active-backup
    Конфигурация в режиме balance-alb с VLAN
    Конфигурация с бондом и бриджем в режиме LACP (802.3ad)
    Конфигурация с бондом и бриджем в режиме LACP (802.3ad) c интерфейсом во VLAN

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

  2. Перезапустите службу networking

    sudo systemctl restart networking
  3. Проверьте настройки сети: 

    ip -c a
  4. Проверьте доступность узла со стороны сервера с платформой.

При добавлении узла платформа:

  1. Импортирует настройки сетевых интерфейсов из файла /etc/network/interfaces в сервис NetworkManager.
  2. Отправляет ICMP-запросы на проверочный IP-адрес, заданный в настройках кластера:
    • если IP-адрес недоступен, возвращает исходные сетевые настройки;
    • если проверка прошла успешно, выполняет настройку сети.
Импорт настроек не будет выполняться, если при добавлении узла включить опцию Не настраивать сеть автоматически.

После настройки сети в файле /etc/network/interfaces остаётся только конфигурация loopback-интерфейса (lo). Дальнейшую настройку сети на узле кластера рекомендуется выполнять через интерфейс платформы или утилиту nmcli. При добавлении записей в файл /etc/network/interfaces возможен конфликт сетевых настроек.

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

Если узел был добавлен в платформе с версией ниже 2023.07.1, то его конфигурация будет перенесена в NetworkManager только после изменения настроек сети (например, добавления интерфейса) через интерфейс платформы.

Настройка подключения к узлам кластера

Корректное подключение узла гарантируется только при использовании учётной записи, отличной от root.

Уровень защищённости "Орёл"

  1. Добавьте публичный SSH-ключ сервера с платформой в файл /home/<username>/.ssh/authorized_keys, где <username> — имя пользователя, под которым платформа будет подключаться к серверу. Содержимое публичного ключа можно посмотреть в интерфейсе платформы на форме добавления узла кластера: раздел Узлы → кнопка Подключить узел → кнопка Хочу использовать публичный ssh-ключ.   
  2. Установите права для файла /home/<username>/.ssh/authorized_keys:

    sudo chmod 600 /home/<username>/.ssh/authorized_keys
    sudo chown <username> /home/<username>/.ssh/authorized_keys
    Пояснения к команде
  3. Проверьте права доступа на файл /home/<username>/.ssh/authorized_keys. Файл должен быть доступен на чтение и запись для пользователя, под которым платформа будет подключаться к серверу.
  4. В файле /etc/sudoers разрешите выполнение команд от имени суперпользователя: 

    %astra-admin ALL=(ALL:ALL) NOPASSWD: ALL
    %sudo ALL=(ALL:ALL) NOPASSWD: ALL
  5. Подключите узел кластера по инструкции из статьи Управление серверами кластера.
  6. Настройте права пользователя для подключения: 

    sudo usermod -a -G astra-admin,kvm,libvirt,libvirt-qemu,libvirt-admin <username>
    Пояснения к командам

Уровень защищённости "Воронеж"

  1. Убедитесь, что службы astra-sudo-control, astra-nochmodx-lock, astra-interpreters-lock отключены: 

    sudo astra-sudo-control disable
    
    sudo astra-nochmodx-lock disable
    
    sudo astra-interpreters-lock disable
  2. Создайте директорию для хранения ВМ (например, /vm) и установите для неё мандатные атрибуты

    sudo mkdir /vm && sudo pdpl-file 0:63:0:ccnr /vm
    Пояснения к команде
  3. Если вы планируете создавать виртуальные машины с ОС Windows, установите мандатные атрибуты для директории /tmp

    sudo pdpl-file 0:63:0:ccnr /tmp
    Директория /tmp используется платформой при создании ВМ с ОС Windows. В этой директории создаётся временный конфигурационный файл для установки ОС. После установки ОС файл удаляется.
  4. Добавьте в файл /home/<username>/.ssh/authorized_keys публичный SSH-ключ сервера с платформой. Содержимое публичного ключа можно посмотреть в интерфейсе платформы на форме добавления узла кластера: УзлыПодключить узел → кнопка Хочу использовать публичный ssh-ключ
  5. Установите права для файла /home/<username>/.ssh/authorized_keys:

    sudo chmod 600 /home/<username>/.ssh/authorized_keys
    sudo chown <username> /home/<username>/.ssh/authorized_keys
    Пояснения к командам
  6. Проверьте права доступа на файл /home/<username>/.ssh/authorized_keys. Файл должен быть доступен на чтение и запись для пользователя, под которым платформа будет подключаться к серверу.
  7. В файле /etc/sudoers разрешите выполнение команд от имени суперпользователя: 

    %astra-admin ALL=(ALL:ALL) NOPASSWD: ALL
    %sudo ALL=(ALL:ALL) NOPASSWD: ALL
  8. Подключите узел кластера по инструкции из статьи Управление серверами кластера.
  9. Настройте права пользователя для подключения: 

    sudo usermod -a -G astra-admin,kvm,libvirt,libvirt-qemu,libvirt-admin <username>
    sudo pdpl-user -i 63 <username>
    Пояснения к команде