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

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

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

Установка ОС


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

  1. Выберите ядро Generic 5.15.
  2. Выберите режим защищённости "Орёл" или "Воронеж".
  3. Выберите компоненты для установки:
    1. Средства виртуализации.
    2. Консольные утилиты.
    3. Средства удалённого подключения SSH.

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

  4. На шаге "Дополнительные настройки ОС" убедитесь, что отключены опции:

    1. Замкнутая программная среда.
    2. Запрет установки бита исполнения.
    3. Запрет исполнения скриптов пользователя.

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

Действия после установки ОС


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

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

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

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

      deb cdrom:[OS Astra Linux <номер версии> 1.7_x86-64 DVD]/ 1.7_x86-64 contrib main non-free
      CODE
  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
    
    CODE
  4. Создайте файл /etc/resolv.conf и укажите в нём настройки DNS-серверов:

    Пример настройки

    nameserver 77.88.8.8
    nameserver 1.1.1.1
    options timeout:1
    options attempts:2
    CODE
  5. Перезапустите сервис networking: 

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

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

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

    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
    CODE
    auto lo
    iface lo inet loopback
    
    auto eth0 vmbr0 vmbr1
    iface eth0 inet manual
    
    auto eth0.111
    iface eth0.111 inet manual
        vlan_raw_device eth0
    
    auto eth0.112
    iface eth0.112 inet manual
        vlan_raw_device eth0
    
    iface vmbr0 inet static
     address 1.1.111.10
     netmask 255.255.255.0
     gateway 1.1.111.1
     bridge_ports eth0.111
     bridge_stp off
    
    iface vmbr1 inet static
     address 1.1.112.10
     netmask 255.255.255.0
     gateway 1.1.112.1
     bridge_ports eth0.112
     bridge_stp off
    CODE
    auto lo
    iface lo inet loopback
    
    auto eth0 eth1 bond0 bond0.118 vmbr0
    iface eth0 inet manual
    iface eth1 inet manual
    
    iface bond0 inet manual
     pre-up modprobe bonding mode=active-backup
     post-down rmmod bonding
     bond-mode active-backup
     bond-primary eth0
     bond-miimon 100
     bond-downdelay 200
     bond-updelay 150
     bond-slaves eth0 eth1
    
    iface bond0.118 inet manual 
        vlan-raw-device bond0
    
    iface vmbr0 inet static
     address 172.22.18.74
     netmask 255.255.255.0
     gateway 172.22.18.1
     bridge_ports bond0.118
     bridge_stp off
    CODE
    auto lo 
    iface lo inet loopback
    
    auto eth2 eth3 bond0 bond0.772 vmbr0
    
    iface eth2 inet manual
    iface eth3 inet manual
    
    iface bond0 inet manual
        bond-mode 6
        bond-miimon 100
        bond-slaves eth2 eth3
    
    iface bond0.772 inet manual 
        vlan-raw-device bond0
    
    iface vmbr0 inet static
        address 10.77.2.20/24
        gateway 10.77.2.1
        bridge_ports bond0.772
        bridge_stp off
    CODE
    auto lo
    iface lo inet loopback
    
    auto eth0 eth1 bond0 vmbr0
    iface eth0 inet manual
    iface eth1 inet manual
    
    iface bond0 inet manual
     bond-mode 802.3ad
     bond-miimon 100
     bond-downdelay 200
     bond-updelay 200
     bond-xmit-hash-policy 1 
     bond-slaves eth0 eth1
    
    iface vmbr0 inet static
     address 172.22.18.74
     netmask 255.255.255.0
     gateway 172.22.18.1
     bridge_ports bond0
     bridge_stp off
    CODE
    auto lo
    iface lo inet loopback
    
    auto eth0 eth1 bond0 bond0.118 vmbr0
    iface eth0 inet manual
    iface eth1 inet manual
    
    iface bond0 inet manual
     bond-mode 802.3ad
     bond-miimon 100
     bond-downdelay 200
     bond-updelay 200
     bond-xmit-hash-policy 1 
     bond-slaves eth0 eth1
    
    iface bond0.118 inet manual 
        vlan-raw-device bond0
    
    iface vmbr0 inet static
     address 172.22.18.74
     netmask 255.255.255.0
     gateway 172.22.18.1
     bridge_ports bond0.118
     bridge_stp off
    CODE

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

  2. Перезапустите сервис networking: 

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

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

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

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

Действия на узле кластера с ОС в режиме защищённости "Орёл"

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

  1. Задайте пароль для пользователя root: 

    passwd
    BASH

    или добавьте в файл /root/.ssh/authorized_keys публичный SSH-ключ сервера с платформой. Содержимое публичного ключа можно посмотреть в интерфейсе платформы на форме добавления узла кластера: УзлыПодключить узел → кнопка Хочу использовать публичный ssh-ключ. Если вы используете подключение по SSH-ключу, установите следующие права для файла /root/.ssh/authorized_keys:

    chmod 600 ~/.ssh/authorized_keys
    BASH
  2. Разрешите доступ к серверу по SSH. Для этого в файле /etc/ssh/sshd_config добавьте строку:

    • для аутентификации по паролю:

      PermitRootLogin yes
      CODE
    • для аутентификации по SSH-ключу: 

      PermitRootLogin prohibit-password
      CODE
  3. Перезапустите сервис sshd: 

    service sshd restart
    BASH
  4. В файле /etc/sudoers разрешите выполнение команд от имени суперпользователя: 

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

    sudo usermod -a -G astra-admin,kvm,libvirt,libvirt-qemu,libvirt-admin <username>
    BASH

    <username> — имя пользователя для подключения

Действия на узле кластера с ОС в режиме защищённости "Воронеж"

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

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

    sudo mkdir /vm && sudo pdpl-file 0:63:0:ccnr /vm
    BASH

    /vm — имя директории

  3. Если вы планируете создавать виртуальные машины с ОС Windows, установите мандатные атрибуты для директории /tmp

    sudo pdpl-file 0:63:0:ccnr /tmp
    BASH
  4. В файле /etc/sudoers разрешите выполнение команд от имени суперпользователя: 

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

    sudo usermod -a -G astra-admin,kvm,libvirt,libvirt-qemu,libvirt-admin <username>
    BASH
    pdpl-user -i 63 <username>
    BASH

    <username> — имя пользователя для подключения

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

      chmod 600 /<username>/.ssh/authorized_keys
      BASH

      <username> — имя пользователя для подключения

    3. В файле /etc/ssh/sshd_config добавьте строку

      PermitRootLogin prohibit-password
      CODE
  7. Перезапустите сервис sshd: 

    service sshd restart
    BASH