Настройка узлов и хранилищ
Подготовка
Убедитесь, что узел развёртывания имеет доступ к сети BMC (IPMI). Самый простой способ — добавить VLAN-интерфейс с адресом из этой сети.
(Подставить значения из таблицы сетевой конфигурации):
sudo nmcli con add type vlan con-name VLAN<номер IPMI VLAN> dev <имя интерфейса IPMI> id <номер IPMI VLAN> ip4 <номер IPMI VLAN> sudo nmcli con up VLAN<номер IPMI VLAN>
Пример:
sudo nmcli con add type vlan con-name VLAN2399 dev eno1 id 2399 ip4 10.99.4.100/24 sudo nmcli con up VLAN2399
Где: -
10.99.4.100— свободный IP-адрес в подсети BMC (например, из диапазона10.99.4.0/24), -eno1— физический сетевой интерфейс узла развёртывания, -2399— VLAN ID сети IPMI (см. столбец VLAN для строки IPMI (BMC)).После настройки проверьте доступность BMC-адресов:
ping 10.99.4.x
Физические узлы
Запустите DeckCrew TUI с узла развёртывания.
Список физических узлов
Перейдите во вкладку Baremetal nodes:
+------------------------------------------- Baremetal nodes --------------------------------------------+
|Name State Power BMC Cpus Ram(Mb) Disk(Gb) Introspection |
| O
| |
|-------------------------- < Add/Ctrl+A > < Delete/Ctrl+D > < Cancel/Ctrl+C > |
+--------------------------------------------------------------------------------------------------------+
Нажмите кнопку Add, чтобы добавить новый физический узел для добавления в развёртываемое облако:
+---------------------------------------- Baremetal node details ----------------------------------------+
|Name |
| [X] Configure with BMC O
| |
| |
|========================================================================================================|
|Settings |
|========================================================================================================|
|BMC type: [ ]|
|BMC address: |
|BMC login: |
|BMC password: |
|PXE port MAC address: |
| |
| < Save/Ctrl+U > < Cancel/Ctrl+C > |
+--------------------------------------------------------------------------------------------------------+
Вы можете добавить два типа узлов:
узел, управляемый через BMC (IPMI или iDRAC), будет развёрнут с помощью Ironic с нуля и управляться через BMC;
узел, управляемый через SSH, узел уже должен иметь развёрнутую операционную систему и доступен по SSH с узла развёртывания.
Добавление узла через BMC
Узел управляется через BMC (IPMI или iDRAC) и будет развёрнут с нуля.
Заполните поля:
Name - имя физического узла. Используется лишь для удобства, не влияет на hostname узла;
BMC type - тип BMC, поддерживаемые значения: IPMI, iDRAC;
BMC address - IP-адрес BMC, пример: 2.3.4.5 ;
BMC login - логин для управления физическим узлом через BMC;
BMC password - пароль для управления физическим узлом через BMC;
PXE port mac_address - MAC-адрес физического порта узла, через который происходит загрузка по PXE (в формате aa:bb:cc:dd:ee:ff).
Пример заполненной формы:
+---------------------------------------- Baremetal node details ----------------------------------------+
|Name |
| [X] Configure with BMC O
| |
| |
|========================================================================================================|
|Settings |
|========================================================================================================|
|BMC type: [IPMI ]|
|BMC address: 10.99.4.65 |
|BMC login: ADMIN |
|BMC password: *** |
|PXE port MAC address: ac:1f:6b:1a:6b:9a |
| |
| < Save/Ctrl+U > < Cancel/Ctrl+C > |
+--------------------------------------------------------------------------------------------------------+
Примечание
Если ОС уже установлена на узле, можно добавить узел с доступом через SSH
Добавление узла через SSH
Для настройки узла через SSH снимите галочку Configure with BMC:
+---------------------------------------- Baremetal node details ----------------------------------------+
|Name |
| [ ] Configure with BMC O
| |
| |
|========================================================================================================|
|Settings |
|========================================================================================================|
|SSH address: |
|SSH login: tripleo-admin |
|SSH password: |
| |
| < Save/Ctrl+U > < Cancel/Ctrl+C > |
+--------------------------------------------------------------------------------------------------------+
Поля при конфигурации через SSH:
Name - имя физического узла. Используется лишь для удобства, не влияет на hostname узла;
SSH address - IP-адрес физического узла, на котором уже развёрнута операционная система;
SSH login - логин для первичного доступа к физическому узлу по SSH. При добавлении узла будет создан пользователь tripleo-admin и далее будет использоваться для доступа к узлу;
SSH password - пароль для первичного доступа к физическому узлу по SSH. При добавлении узла будет добавлен SSH-ключ узла развёртывания в авторизованные ключи для пользователя tripleo-admin.
Сохранение настроек
Нажмите кнопку Save. Физический узел добавится в список физических узлов:
+------------------------------------------- Baremetal nodes --------------------------------------------+
|Name State Power BMC Cpus Ram(Mb) Disk(Gb) Introspection |
|test-node-ssh N/A N/A no 2 8192 40.00 GB finished O
|test-node-bmc manageable off yes |
| |
|-------------------------- < Add/Ctrl+A > < Delete/Ctrl+D > < Cancel/Ctrl+C > |
+--------------------------------------------------------------------------------------------------------+
Узел появится в списке. Дождитесь статуса (столбец State) manageable (Означает «можно включать и интроспектировать».).
Примечание
Если узел остаётся в статусе enroll, перейдите в раздел Устранение неполадок.
Статусы
enroll — узел добавлен, но не подтверждён (проверьте учётные данные BMC).
manageable — можно включать и интроспектировать.
available — готов к развёртыванию.
active — используется в облаке.
Действия
Выберите физический узел в списке и нажмите Enter. Вы увидите список доступных действий:
show- показать подробную информацию о физическом узле;introspect- запустить интроспекцию физического узла;(un)maintain- перевести узел в состояние maintenance или обратно;power on/off- включение/выключение физического узла;reboot- перезагрузка физического узла;manage- перевести узел в состояние manageable;provide- перевести узел в статус available;configure- перенастроить данные для агента Ironic (только для администраторов);undeploy- удалить развёртывание с узла (используется при неудачном Provision nodes);clean- очистить все диски на узле.
Интроспекция
На этом этапе узел развёртывания включает сервер, загружает по PXE специальный образ, который собирает необходимую информацию о сервере (интерфейсах, дисках, CPU, памяти и т.д.), выключает и переводит в состояние available.
Выберите узел в статусе manageable.
Нажмите
Enterи выберите introspect.
Примечание
Совет 1: можно следить за происходящим на экране узла, интроспекция которого проводится (Например, через HTML5 консоль). Пример при успешной интроспекции:
>>Media Present...
Downloading NBP file...
Succeed to download NBP file.
IPXE initialising devices...ok
iPXE 1.0.0+ (4bd064de) -- Open Source Network Boot Firmware
Features: DNS HTTP HTTPS iSCSI TFTP VLAN AoE EFI
net0: ac:1f:6b:1a:6b:9a using NII on NII-0000:
[Link:down, TX:0 RX:0 RXE:0]
[Link status: Unknown (http://ipxe.org/1a086)]
Configuring (net0 ac:1f:6b:1a:6b:9a)
net0: 192.168.24.23/255.255.255.0 gw 192.168.24.1
net0: fe80::ae1f:6bff:fe1a:6b9a/64
Next server: 192.168.24.1
Filename: http://192.168.24.1:8088/inspector.ipxe
http://192.168.24.1:8088/inspector.ipxe... ok
Inspector.ipxe : 545 bytes [script]
http://192.168.24.1:8088/agent.kernel... ok
http://192.168.24.1:8088/agent.ramdisk... ok
EFI stub: Loaded initrd from command line
Примечание
Совет 2: можно следить за логами интроспекции
sudo less /var/log/containers/ironic/ironic-conductor.log
обратить внимание на строчки с командами ipmitool
Примечание
Совет 3: Ctrl+R (refresh) - обновить содержимое текущего окна. Если долго отображается статус verifying - стоит обновить
Дождитесь статуса finished в колонке Introspection.
Узел автоматически перейдёт в статус available. Колонки RAM, Disk заполнятся собранными значениями.
+------------------------------------------- Baremetal nodes --------------------------------------------+
|Name State Power BMC Cpus Ram(Mb) Disk(Gb) Introspection |
|test-node-ssh N/A N/A no 2 8192 40.00 GB finished O
|test-node-bmc manageable off yes |
|introspected1 available off yes 48 4096 1000 finished |
| |
|-------------------------- < Add/Ctrl+A > < Delete/Ctrl+D > < Cancel/Ctrl+C > |
+--------------------------------------------------------------------------------------------------------+
Если интроспекция не прошла успешно, выполните проверки ниже и запустите ее повторно:
Устранение ошибок
Нет связи с узлом развёртывания по сети CtlPlane Узел пытается загрузиться по PXE, но не может скачать образ интроспекции с адреса
http://192.168.24.1:8088/inspector.ipxe.Проверьте: - На коммутаторе: VLAN CtlPlane (например, 374) настроен как untagged на порту узла. - Узел развёртывания имеет IP в той же подсети (например,
192.168.24.1/24). - Нет другого DHCP-сервера в сети CtlPlane.Нет доступа с узла развёртывания к BMC узла Узел развёртывания не может включить/выключить сервер или проверить его состояние.
Проверьте: - На коммутаторе: VLAN BMC (например, 2399) добавлен на порт узла развёртывания. - На узле развёртывания: создан интерфейс в сети BMC (например,
10.99.4.100/24). Командаip a- Командаping 10.99.4.x(адрес BMC) проходит успешно. - На коммутаторе: после включения узла его MAC-адрес появляется в таблице MAC-адресов.Ошибка загрузки, связанные с сервером Сервер не загружается по PXE или переходит в другой режим (например, UEFI Shell).
Проверьте в BIOS: - Первый приоритет загрузки — PXE. - Сервер действительно ожидает загрузку по сети, а не пытается загрузиться с диска или запустить обновление BIOS.
Примечание
Примеры из практики
Если на узле развёртывания не настроен VLAN BMC, сервер развёртывания не сможет управлять питанием сервера.
PXE-образ загрузится, но интроспекция зависнет — узел не выключится и не перейдёт к следующему этапу.
После включения на сервере автоматически запустилось обновление BIOS, поэтому узел развёртывания не успел провести интроспекцию.
После включения загружается ОС, которая стояла на одном из дисков и которую забыли удалить. Сервер не ждет загрузку по PXE, поэтому интроспекция не проходит. Нужно убедиться, что сервер ждет загрузку по PXE. При возможности - очистить диски с ОС. Один из способов очистить диск с ОС - залогиниться в систему (с установленной ОС или livecd) и выполнить wipefs -af /dev/sdX, где X- имя диска с ОС)
В сети оказался другой сервер, с которого начали грузиться образы по pxe с другой ОС. Решение - чтобы он не был виден по сети и не мешал.
Порядок физических интерфейсов
Примечание
Эта опция доступна только после успешной интроспекции.
Примечание
После интроспекции желательно очистить все диски на узлах запустив операцию clean (осторожно, приводит к удалению всех данных с дисков!)
1. Перейдите во вкладку Network interfaces order.
+--------------------------------------- Network interfaces order ---------------------------------------+
| |
|Node test-node-bmc O
| |
|Node test-node-ssh |
|nic1 [0x1af4:0x0001 ens4 fa:16:3e:26:01:24 ]|
|nic2 [0x1af4:0x0001 ens5 fa:16:3e:26:02:24 ]|
| |
|Node introspected1 |
|nic1 [0x2000:0x3000 eno1 00:01:02:03:04:05 ]|
|nic2 [0x2000:0x3000 eno2 00:01:02:03:04:06 ]|
|nic3 [ ]|
|nic4 [ ]|
|nic5 [ ]|
| < Save/Ctrl+U > < Cancel/Ctrl+C > |
+--------------------------------------------------------------------------------------------------------+
Для каждого узла укажите, какой физический интерфейс соответствует nic1/nic2/….
Убедитесь, что у всех узлов интерфейс nic1 указывает на один и тот же настроенный физический порт (например, всегда
eno1), подключённый к коммутатору с нужными VLAN’ами из таблицы сетевой конфигурации.Нажмите Save.
Примечание
Важно: Порядок интерфейсов важен, так как далее сетевые планы строятся только по номерам интерфейсов, а не их именам в ОС (например, не eno1, ens5). Поэтому определите порядок так, чтобы интерфейсы всех узлов с одним порядковым номером были настроены одинаково на физических коммутаторах, к которым подключены узлы.
Примечание
Сетевые планы — это шаблоны конфигурации интерфейсов в формате YAML. Они описывают, какие сети (CtlPlane, External, Storage и др.) и VLAN`ы использовать, на каких интерфейсах или бондах их разместить, и какой сетевой бэкенд применять.
Дистрибутив включает готовые планы. Один из них — single_nic_with_vlans — подходит для серверов с одним сетевым портом, на котором будут размещаться все вланы.
В этом сценарии выберите план single_nic_with_vlans:
Все сети (включая CtlPlane, External, InternalApi, Storage) размещаются на одном физическом интерфейсе —
nic1.Каждая сеть выделяется в отдельный VLAN (tagged), кроме CtlPlane, который должен быть untagged.
Такой план часто используется на тестовых или компактных развёртываниях.
Настройка выглядит следующим образом:
nic1 → порт, на котором будут все сети после развёртывания: CtlPlane, External, InternalApi, Storage и др. Обычно это
eno1. На нём должен быть настроен untagged VLAN 374 (для CtlPlane) и tagged VLAN’ы 373, 372, 371 и т.д.nic2 → второй физический интерфейс (например,
eno2). Если на нём вланов не будет, то его не надо указывать в этом меню.
Диск операционной системы
Примечание
Эта опция доступна только после успешной интроспекции и недоступна для узлов управляемых через SSH.
1. Перейдите во вкладку Server root disk
+------------------------------------------- Server root disk -------------------------------------------+
| < Save/Ctrl+U > < Cancel/Ctrl+C > |
|Node test-node null O
|(X) No choice ... |
| |
|Node test-node-ssh hctl: null |
|( ) No choice model: null |
|(X) b6e35c42-23c1-4372-a name: /dev/vda |
| rotational: true |
| serial: b6e35c42-23c1-4372-a |
| size: 42949672960 |
| vendor: '0x1af4' |
| wwn: null |
| wwn_vendor_extension: null |
| wwn_with_extension: null |
| |
|Node introspected1 hctl: null |
|( ) No choice model: Micron_7450_MTFDKBG3T8TFR |
|(X) 240546D2DE97 name: /dev/nvme0n1 |
| rotational: false |
| serial: 240546D2DE97 |
| size: 3840755982336 |
| vendor: null |
| wwn: eui.000000000000000100a0752446d2de97 |
| wwn_vendor_extension: null |
| wwn_with_extension: null |
| |
+--------------------------------------------------------------------------------------------------------+
Для узлов с несколькими дисками выберите тот, на который будет установлена ОС.
Нажмите Save.
Примечание
Если не выбрать диск — система выберет его случайно.
Настройка GPU
Примечание
Эта опция доступна только после успешной интроспекции.
Перейдите во вкладку GPU Settings:
+--------------------------------------------- GPU Settings ---------------------------------------------+
|Node Name Detected Active GPU Details |
|test-node 0 0 No GPUs detected O
|test-node-ssh 1 0 GA102GL(x1) |
|introspected1 1 0 GA102GL(x1) |
| |
| < Delete/Ctrl+D > < Cancel/Ctrl+C > |
+--------------------------------------------------------------------------------------------------------+
Значения полей
Detected - количество обнаруженных GPU на узле после интроспекции;
Active - количество GPU, которые будут доступны в развёртываемом облаке.
Для добавления GPU в развёртываемое облако выберите узел и нажмите Enter:
+------------------------------------------ Edit GPU Settings -------------------------------------------+
|Node introspected1 |
|System UUID 00000000-0000-0000-0000-7cc25598def8 O
|--------------------------------------------------------------------------------------------------------|
|Detected GPUs (select to activate): |
|[ ] GA102GL (Vendor: 10de, Product: 2236, Type: type-PF, Count: 1) |
|--------------------------------------------------------------------------------------------------------|
|Note: Selected GPUs will be configured in hieradata. |
| |
| < Save/Ctrl+U > < Cancel/Ctrl+C > |
+--------------------------------------------------------------------------------------------------------+
Отметьте галочкой GPU, которые необходимо добавить в развёртываемое облако, и нажмите Save.
После сохранения будет отображаться количество активных GPU на узле:
+--------------------------------------------- GPU Settings ---------------------------------------------+
|Node Name Detected Active GPU Details |
|test-node 0 0 No GPUs detected O
|test-node-ssh 1 0 GA102GL(x1) |
|introspected1 1 1 GA102GL(x1) |
| |
| < Delete/Ctrl+D > < Cancel/Ctrl+C > |
+--------------------------------------------------------------------------------------------------------+
Используемые хранилища
Перейдите во вкладку Storages:
+----------------------------------------------- Storages -----------------------------------------------+
|Name Type |
|common_ceph ceph O
| |
| < Add/Ctrl+A > < Delete/Ctrl+D > < Cancel/Ctrl+C > |
+--------------------------------------------------------------------------------------------------------+
Здесь отображаются все хранилища, которые будут использоваться как бэкенды в развёртываемом облаке.
В примере видно одно хранилище типа ceph с именем common_ceph.
Для добавления нового хранилища нажмите кнопку Add. Вы увидите пустую форму. Выберите тип хранилища из выпадающего списка. Например:
+------------------------------------------- Storage details --------------------------------------------+
|Name new_ceph |
|Type [ceph ]O
|--------------------------------------------------------------------------------------------------------|
|MonHosts: |
|ClusterFsid: |
|ClientKey: |
| |
| < Save/Ctrl+U > < Cancel/Ctrl+C > |
+--------------------------------------------------------------------------------------------------------+
Заполните поля в зависимости от типа хранилища:
ceph - внешнее хранилище Ceph:
MonHosts - список IP-адресов или DNS имён мониторов Ceph, разделённых запятыми. Например,
10.10.10.1:3300,10.10.10.2:3300,10.10.10.3:3300,10.10.10.4:3300;ClusterFsid - FSID кластера Ceph;
ClientKey - ключ клиента Ceph.
iscsi - выделенное LVM-хранилище на узлах управления:
LvmLoopSize - 0 если используются отдельные физические диски. Иначе размер loop-файла в мегабайтах, который будет создан на корневом диске узлов управления для создания LVM-хранилища;
LvmPhysicalVolumes - список физических дисков на узлах управления, разделённых запятыми. Например: /dev/sdb,/dev/sdc.
nfs - внешнее хранилище подключаемое по NFS:
Share - путь к NFS-шаре, например: 10.10.10.10:/export/nfs/share1;
Options - опции монтирования NFS-шары, например: context=system_u:object_r:nfs_t:s0.
sanlock - выделенный общий диск на узлах управления для подключения через SANLock:
PhysicalVolumes - список физических дисков на узлах управления, разделённых запятыми. Например: /dev/sdb,/dev/sdc.
tatlin - внешнее хранилище YADRO Tatlin Unified:
IP - IP-адрес для подключения к хранилищу;
Login - логин для подключения к хранилищу;
Password - пароль для подключения к хранилищу;
ApiPort - порт API хранилища;
PoolName - имя пула в хранилище;
Protocol - протокол подключения, поддерживаемые значения: iSCSI, FC;
ExportPorts - список экспортных портов для подключения, разделённых запятыми.
Нажмите кнопку Save. Новое хранилище можно будет использовать как бэкенд для развёртываемого облака.
Примечание
При развёртывании Ceph из DeckCrew TUI создаётся хранилище типа ceph с именем деплоя автоматически.