[ English | русский ]

Настройка операционной системы

This section describes the installation and configuration of operating systems for the target hosts, as well as deploying SSH keys and configuring storage.

Установка операционной системы

Установите одну из следующих поддерживаемых операционных систем на целевом хосте:

  • Ubuntu Server 24.04 (Noble Numbat) 64-bit
  • Ubuntu Server 26.04 (Resolute Raccoon) 64-bit
  • Debian 13 (Trixie) 64-bit
  • CentOS 10 Stream 64-bit
  • Rocky Linux 10 64-bit
  • AlmaLinux 10 64-bit (may work, not officially tested)

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

Некоторые дистрибутивы добавляют в файл /etc/hosts лишнюю запись, разрешающую фактическое имя хоста на другой петлевой IP-адрес, например 127.0.1.1. Эту запись необходимо закомментировать или удалить во избежание проблем с разрешением имен. Не удаляйте запись 127.0.0.1. Данный шаг особенно важен при развертываниях типа bare metal.

Используйте короткие имена хостов вместо полных доменных имен (FQDN), чтобы избежать проблем с ограничением длины в LXC и SSH. Например, подходящим коротким именем для вычислительного хоста может быть: 12345-Compute001.

Рекомендуется установить пакеты SSH-сервера на целевые хосты, не имеющие локального (через консоль) доступа.

Примечание

We also recommend setting your locale to en_US.UTF-8. Other locales might work, but they are not tested or supported. Также рекомендуется установить локаль en_US.UTF-8. Другие локали могут работать, однако они не тестируются и не поддерживаются.

Настройка Debian

  1. Обновите списки источников пакетов

    # apt update
    
  2. Обновите системные пакеты и ядро:

    # apt dist-upgrade
    
  3. Установите дополнительные программные пакеты:

    # apt install bridge-utils debootstrap ifenslave ifenslave-2.6 \
      lsof lvm2 openssh-server sudo tcpdump vlan python3
    
  4. Перезагрузите хост для применения изменений и загрузки нового ядра.

Настройка Ubuntu

  1. Обновите списки источников пакетов

    # apt update
    
  2. Обновите системные пакеты и ядро:

    # apt dist-upgrade
    
  3. Установите дополнительные программные пакеты:

    # apt install bridge-utils debootstrap openssh-server \
      tcpdump vlan python3
    
  4. Установите дополнительный пакет ядра (kernel extra), если он доступен для вашей версии ядра

    # apt install linux-modules-extra-$(uname -r)
    
  5. Перезагрузите хост для применения изменений и загрузки нового ядра.

Настройка CentOS Stream / Rocky Linux / AlmaLinux

  1. Обновите системные пакеты и ядро:

    # dnf upgrade
    
  2. Отключите SELinux. Отредактируйте файл /etc/sysconfig/selinux и замените SELINUX=enforcing на SELINUX=disabled.

    Для дистрибутивов RHEL начиная с версии 9 рекомендуемый способ отключения SELinux — через загрузчик с помощью утилиты grubby:

    # grubby --update-kernel ALL --args selinux=0
    

    Примечание

    В настоящее время SELinux не поддерживается в OpenStack-Ansible для CentOS/RHEL в связи с отсутствием мейнтейнеров данной функциональности.

  3. Отключите firewalld для обеспечения корректного взаимодействия компонентов:

    # systemctl stop firewalld
    # systemctl mask firewalld
    
  4. Установите дополнительные программные пакеты:

    # dnf install iputils lsof openssh-server\
      sudo tcpdump python3
    
  5. (Необязательно) Снизьте уровень журналирования ядра, изменив значение printk в sysctl:

    # echo "kernel.printk='4 1 7 4'" >> /etc/sysctl.conf
    
  6. Перезагрузите хост для применения изменений и загрузки нового ядра.

Настройка SSH-ключей

Ansible использует SSH для подключения узла развертывания к целевым хостам. Можно использовать пользователя root или любого другого пользователя, которому разрешено повышение привилегий через механизм Ansible become (например, путем добавления пользователя в sudoers). Подробнее см. в разделе Запуск без прав root (Running as non-root).

  1. Скопируйте содержимое файла открытого ключа с узла развертывания в файл ``~/.ssh/authorized_keys``на каждом целевом хосте.

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

Дополнительные сведения о генерации пары SSH-ключей и рекомендуемых практиках см. в документации GitHub по генерации SSH-ключей.

Настройка хранилища

Менеджер логических томов (LVM) позволяет разбить одно устройство на несколько логических томов, которые операционная система воспринимает как физические устройства хранения. Служба блочного хранилища (Cinder) и LXC-контейнеры, в которых при необходимости работает инфраструктура OpenStack, могут использовать LVM для хранения своих данных.

Примечание

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

  1. Для использования опциональной службы блочного хранилища (Cinder) создайте группу томов LVM с именем cinder-volumes на хосте хранилища. При создании физического тома укажите размер метаданных 2048. Например:

    # pvcreate --metadatasize 2048 physical_volume_device_path
    # vgcreate cinder-volumes physical_volume_device_path
    
  2. Дополнительно можно создать группу томов LVM с именем lxc для файловых систем контейнеров и установить lxc_container_backing_store: lvm в файле user_variables.yml, если требуется использовать LXC совместно с LVM. Если группа томов lxc ``отсутствует, контейнеры по умолчанию автоматически устанавливаются в файловую систему в каталоге ``/var/lib/lxc.