Настройка операционной системы¶
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¶
Обновите списки источников пакетов
# apt update
Обновите системные пакеты и ядро:
# apt dist-upgrade
Установите дополнительные программные пакеты:
# apt install bridge-utils debootstrap ifenslave ifenslave-2.6 \ lsof lvm2 openssh-server sudo tcpdump vlan python3
Перезагрузите хост для применения изменений и загрузки нового ядра.
Настройка Ubuntu¶
Обновите списки источников пакетов
# apt update
Обновите системные пакеты и ядро:
# apt dist-upgrade
Установите дополнительные программные пакеты:
# apt install bridge-utils debootstrap openssh-server \ tcpdump vlan python3
Установите дополнительный пакет ядра (kernel extra), если он доступен для вашей версии ядра
# apt install linux-modules-extra-$(uname -r)
Перезагрузите хост для применения изменений и загрузки нового ядра.
Настройка CentOS Stream / Rocky Linux / AlmaLinux¶
Обновите системные пакеты и ядро:
# dnf upgrade
Отключите SELinux. Отредактируйте файл
/etc/sysconfig/selinuxи заменитеSELINUX=enforcingнаSELINUX=disabled.Для дистрибутивов RHEL начиная с версии 9 рекомендуемый способ отключения SELinux — через загрузчик с помощью утилиты grubby:
# grubby --update-kernel ALL --args selinux=0
Примечание
В настоящее время SELinux не поддерживается в OpenStack-Ansible для CentOS/RHEL в связи с отсутствием мейнтейнеров данной функциональности.
Отключите firewalld для обеспечения корректного взаимодействия компонентов:
# systemctl stop firewalld # systemctl mask firewalld
Установите дополнительные программные пакеты:
# dnf install iputils lsof openssh-server\ sudo tcpdump python3
(Необязательно) Снизьте уровень журналирования ядра, изменив значение printk в sysctl:
# echo "kernel.printk='4 1 7 4'" >> /etc/sysctl.conf
Перезагрузите хост для применения изменений и загрузки нового ядра.
Настройка SSH-ключей¶
Ansible использует SSH для подключения узла развертывания к целевым хостам. Можно использовать пользователя root или любого другого пользователя, которому разрешено повышение привилегий через механизм Ansible become (например, путем добавления пользователя в sudoers). Подробнее см. в разделе Запуск без прав root (Running as non-root).
Скопируйте содержимое файла открытого ключа с узла развертывания в файл ``~/.ssh/authorized_keys``на каждом целевом хосте.
Проверьте аутентификацию по открытому ключу с узла развертывания на каждый целевой хост, подключившись по SSH с узла развертывания к целевому хосту. Если подключение устанавливается и предоставляется командная оболочка без запроса пароля — аутентификация настроена корректно.
Дополнительные сведения о генерации пары SSH-ключей и рекомендуемых практиках см. в документации GitHub по генерации SSH-ключей.
Настройка хранилища¶
Менеджер логических томов (LVM) позволяет разбить одно устройство на несколько логических томов, которые операционная система воспринимает как физические устройства хранения. Служба блочного хранилища (Cinder) и LXC-контейнеры, в которых при необходимости работает инфраструктура OpenStack, могут использовать LVM для хранения своих данных.
Примечание
OpenStack-Ansible автоматически настраивает LVM на узлах и перезаписывает любую существующую конфигурацию LVM. Если у вас имеется пользовательская конфигурация LVM, отредактируйте сгенерированный файл конфигурации по мере необходимости.
Для использования опциональной службы блочного хранилища (Cinder) создайте группу томов LVM с именем
cinder-volumesна хосте хранилища. При создании физического тома укажите размер метаданных 2048. Например:# pvcreate --metadatasize 2048 physical_volume_device_path # vgcreate cinder-volumes physical_volume_device_path
Дополнительно можно создать группу томов LVM с именем
lxcдля файловых систем контейнеров и установитьlxc_container_backing_store: lvmв файле user_variables.yml, если требуется использовать LXC совместно с LVM. Если группа томовlxc ``отсутствует, контейнеры по умолчанию автоматически устанавливаются в файловую систему в каталоге ``/var/lib/lxc.