3.5 Подготовка вычислительных узлов

Исходная подготовка добавляемого к инфраструктуре ВУ предполагает выполнение следующих условий:

  1. На ВУ установлена ОС Almalinux (Раздел 3.2.1.2).
  2. На ВУ – хост виртуализации – выполнена дополнительная подготовка среды функционирования, настроен доступ к репозиториям (Раздел 3.5.1).
Необходимо включить расширения аппаратной виртуализации и перевести систему защиты SELinux в «разрешительный» режим (Раздел 3.2.1.5).
  1. На ВУ установлено сетевое ПО (OvS), службы виртуализации и виртуальной сети вместе с агентами (OpenStack), модуль агента TIONIX.
  2. Служба гипервизора настроена дополнительно (Раздел 3.5.3).
  3. На ВУ настраивается сеть 10.x.x.x (Раздел 3.5.2.1):
  • Open vSwitch;
  • узел доступен по инфраструктурной сети;
  • создан мост.
  1. Вычислительному узлу присваивается уникальное (сетевое) имя:

    hostnamectl set-hostname <сетевое имя>
    

Дополнительно, ВУ может быть подготовлен к использованию СХД, доступной по сети (Раздел 3.5.5).

ВАЖНО.

Убедитесь, что система защиты SELinux функционирует в Permissive-режиме. Выполните команду getenforce. Должно быть выведено краткое сообщение с текущим режимом работы SELinux:

Permissive.

Основные указания:

  1. Подключитесь к добавляемому вычислительному узлу (хосту виртуализации).
Используйте безопасный протокол SSH и настроенное подключение (Раздел 3.2.2.2).
  1. Выполните установку необходимого ПО на ВУ.
После установки ПО выполните подготовку службы гипервизора, СХД, а также – настройку дополнительных сетевых служб, как изложено ниже.
  1. Выполните команду запуска служб:

    systemctl start  libvirtd openstack-nova-compute neutron-openvswitch-agent tionix-agent
    

Убедитесь в нормальной работе ВУ и добавьте службы в автозагрузку:

systemctl enable libvirtd openstack-nova-compute neutron-openvswitch-agent tionix-agent

По завершении настроек рекомендуется выполнить полный перезапуск служб (Раздел 3.5.6) и открыть сводку по гипервизору (Раздел 3.5.7), чтобы проконтролировать готовность ВУ к эксплуатации в составе ОП TIONIX.

Внимание.

В случае каких либо дополнительных изменений в конфигурации служб, выполняемых в процессе добавления ВУ в инфраструктуру, необходимо всегда выполнять полный перезапуск служб.

3.5.1 Настройка доступа к репозиториям

Файл настройки репозиториев на ВУ обычно формируется выполнением плейбука repoadd.yaml (Раздел 3.2.3). Если на ВУ невозможно применение сценария автоматизации, то необходимо создать .repo-файл вручную, путем локального редактирования (см. Приложение Настройка репозиториев).

Ниже показан пример файла (tionix.repo), содержащего наиболее важные параметры, требуемые для нормальной работы мененджера пакетов (утилит yum и dnf):

[base]
name=Base repo
baseurl=<также_как_у_контроллера>

[epel]
name=EPEL repo
baseurl=<также_как_у_контроллера>

[tionix]
name=TIONIX base
baseurl=<также_как_у_контроллера>

[tionix-extras]
name=TIONIX extras
baseurl=<также_как_у_контроллера>

Примечание.

В случае использования локального репозитория необходимо указать в строках „baseurl =“ локальный IP-адрес (вычислительного узла).

Внимание.

Используйте те же базовые URL, которые были настроены при развертывании управляющих узлов (Раздел 3.2.3).

3.5.2 Установка ПО

3.5.2.1 Установка сетевого ПО (OvS)

Из командной оболочки (bash) выполните команду установки программного пакета:

dnf install openvswitch

Продуктивные сети на интерфейс д.б. поданы подобным образом, как это настроено в облаке (если сеть 192.168.x.x подана в облаке с помощью VLAN, то на этом новом хосте настройку выполнить аналогично предыдущим настройкам ВУ).

Интерфейс продуктивных сетей д.б. добавлен в мост OvS (файл /etc/sysconfig/network-scripts прописывается по аналогии с другими хостами). После этого следует выполнить перезапуск сетевой службы:

systemctl network restart

Скопируйте файл /etc/hosts из работающего ВУ в развертываемую ноду (целевой ВУ). Чтобы новый ресурс «резолвился», необходимо дополнить файл информацией о новом узле (IP-адрес и алиас), на всех хостах облака (Control/Compute).

ВАЖНО.

Все узлы в облаке должны «резолвиться» динамически (по DNS) или статически (с помощью «алиасов», прописанных в /etc/hosts).

3.5.2.2 Установка служб и агентов OpenStack

Установите службы Nova и Neutron вместе с агентами (Nova Compute Agent, Neutron Open vSwitch Agent):

dnf install -y openstack-nova-compute neutron-openvswitch-agent

Примечание.

Все необходимые зависимости будут установлены из репозитория.

После установки пакетов необходимо активировать агента, указав его в качестве драйвера в конфигурационном файле Nova. Кроме того, требуется точное указание типа используемой системы виртуализации (KVM). См. пример настройки, приведенный ниже.

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

Ниже приведен пример настройки (файла /etc/nova/nova.conf):

[DEFAULT]
compute_driver = tionix_agent.virt.driver.TnxLibvirtDriver
monkey_patch = True
monkey_patch_modules = nova.virt.driver:tionix_agent.virt.monkey_patch

[libvirt]
virt_type = kvm

3.5.2.2.2 Настройка конфигурации сетевых служб

Скопируйте конфигурации из ранее настроенного ВУ:

/etc/nova/nova.conf

/etc/nova/nova-compute.conf

/etc/neutron/neutron.conf

/etc/neutron/plugins/ml2/openvswitch_agent.ini

Исправьте параметр в конфигурации Nova (файл /etc/nova/nova.conf), указывающий на IP-адрес:

[DEFAULT]

# IP-хоста инфраструктурной сети
my_ip = ...

Исправьте секцию [ovs] в конфигурационном файле /etc/neutron/plugins/ml2/openvswitch_agent.ini:

[ovs]
local_ip = 10.x.x.x
bridge_mappings = external:br-vlan

Параметр „local_ip“ используется для туннелирования VXLAN приватных сетей (обычно — инфраструктурной сети). Параметр „bridge-mappings“ сопоставляет физические сети и сети Neutron для работы сетей VLAN и Flat.

В данном примере:

external – название физической сети в настройках свойств виртуальной сети Neutron (указывается при создании сети из Dashboard); br-vlan – название OvS-моста в операционной системе.

Если в конкретном случае OVS-мост не собирается изменениями в конфигурационных файлах, то можно собрать мост вручную. Создайте OVS мостовой провайдер (br-provider):

$ ovs-vsctl add-br br-provider

Затем выполните команду аггрегации двух интерфейсов в мост (bond0):

ovs-vsctl add-bond br-provider  bond0 eno1 eno2 lacp=active

где

eno1 и eno2 – название физических интерфейсов (определяемых в ОС).

3.5.2.3 Установка TIONIX.Agent

Установите модуль TIONIX.Agent (из репозитория):

dnf install -y python3-tionix_agent

После успешной установки станет доступен файл конфигурации модуля, содержащего ПО агента TIONIX – /etc/tionix/agent.conf.

См. подробные инструкции по настройке на сайте технической документации:

3.5.3 Настройка службы гипервизора

Включите Listen-режим службы гипервизора – отредактируйте файл /etc/sysconfig/libvirtd так, чтобы он содержал строку:

LIBVIRTD_ARGS="--listen"

Выполните команду перезапуска службы гипервизора:

systemctl restart libvirtd

Пропишите новые SSH-ключи для Nova; это необходимо для живой миграции и операции размеров инстанса (flavour resize). Подробности:

Разрешите пользователю Nova возможность входа в систему:

# usermod -s /bin/bash nova

Убедитесь, что вход от имени nova возможен:

# su nova

Скопируйте с рабочего ВУ (compute-ноды) всю директорию /var/lib/nova/.ssh/ в локальную директорию (/var/lib/nova/).

Назначьте права (nova:nova) на всё содержимое скопированной директории:

# chown nova:nova -R /var/lib/nova/.ssh

Проверьте доступ к другому ВУ с новыми правами (без запрашивания пароля):

# su - nova
ssh <узел_compute>
...
exit

3.5.4 Настройка дополнительных сетевых сервисов

Настройка дополнительных сетевых сервисов необходима в случае изоляции сетей между контроллером OpenStack (УУ) и вычислительным узлом.

Внимание.

Настраивается только в случае использования изолированных сетей между УУ (контроллерами) и ВУ.

В случае, если настраивается новый ВУ (Compute), необходимо доустановить на него агенты: dhcp, metadata, l3. Выполните команду:

dnf install -y openstack-neutron-common

Скопируйте конфиги (из рабочего ВУ):

  • neutron-dhcp-agent (/etc/neutron/dhcp_agent.ini);
  • neutron-metadata-agent (/etc/neutron/metadata_agent.ini);
  • neutron-l3-agent (/etc/neutron/l3_agent.ini).

Запустите сетевые службы агента Neutron:

systemctl restart neutron-dhcp-agent neutron-metadata-agent neutron-l3-agent

Добавьте сетевые службы агента Neutron в автозагрузку:

systemctl enable neutron-dhcp-agent neutron-metadata-agent neutron-l3-agent

3.5.5 Подключение дискового хранилища

Если используются эфемерные диски, необходимо с использованием утилиты gdisk произвести разметку LUN с использованием СХД (создать один дисковый раздел, доступный по сети).

Примечание.

Если используются FC (multipathing), то должна быть настроена служба multipathd.

Создайте файловую систему на разделе mpathdb-disk1:

mkfs.xfs /dev/mapper/mpathdb-disk1

Примонтируйте хранилище в /var/lib/nova/instances, добавив в файл /etc/fstab соответствующую запись (новую строку):

/dev/mapper/mpathdb-disk1  /mpathb  xfs  defaults  1 1

Пропишите права доступа к директории хранилища, с помощью команды:

chown nova:nova -R  /var/lib/nova/instances

3.5.6 Полный перезапуск служб

Выполните команду:

systemctl restart libvirtd \\
openstack-nova-compute \\
neutron-openvswitch-agent \\
tionix-agent

Если, по каким-либо причинам, статус служб не поменяется на активный, то попробуйте перезагрузить хост виртуализации полностью:

shutdown --now

3.5.7 Сводка по гипервизору

Выполните вход в интерфейс управления с помощью веб-браузера. Используйте VIP в качестве точки входа в Dashboard. Перейдите:

Администратор >> Вычисления >> Все гипервизоры

Внимание.

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

Будет открыта сводка по гипервизору (отображен список всех доступных гипервизоров), как показано ниже, на примере (Рис. 3.22).

../_images/Compute_res.png

Рис. 3.22 Сводка по гипервизору (список доступных выч.ресурсов)

Количество ВУ, выведенных в сводке, должно соответствовать количеству ВУ (compute*), прописанных в конфигурации вычислительного кластера (TCP3_deploy-edit).