oVirt за 2 години. Частина 2. Установка менеджера та хостів

Ця стаття - наступна в циклі по oVirt, початок тут.

Статті

  1. Запровадження
  2. Установка менеджера (ovirt-engine) та гіпервізорів (hosts) — Ми тут
  3. Додаткові налаштування

Отже, розглянемо питання первинної установки компонентів ovirt-engine та ovirt-host.

Більш докладно процеси встановлення завжди можна подивитися в документації.

Зміст

  1. Установка ovirt-engine
  2. Встановлення ovirt-host
  3. Додавання вузла в oVirtN
  4. Налаштування мережного інтерфейсу
  5. Налаштування FC
  6. Налаштування FCoE
  7. Сховище ISO образів
  8. Перша ВМ

Установка ovirt-engine

Для Engine мінімальні вимоги 2 ядра/4 ГіБ ОЗУ/25 ГіБ сховища. Рекомендовані - від 4 ядер/16 ГіБ ОЗУ/50 ГіБ зберігання. Використовуємо варіант Standalone Manager, коли engine працює на виділеній фізичній або віртуальній машині поза керованим кластером. Для нашої установки візьмемо віртуальну машину напр., на окремому ESXi*. Зручно використовувати засоби автоматизації розгортання або клонування із раніше підготовленого шаблону або встановлення kickstart.

*Примітка: для виробничої системи це погана ідея, т.к. менеджер працює без резерву та стає вузьким місцем. У цьому випадку краще розглянути варіант Self-Hosted Engine.

При необхідності, процедура конвертації Standalone у Self Hosted докладно описана в документації. Зокрема, хосту потрібно дати команду reinstall за допомогою Hosted Engine.

На ВМ встановлюємо CentOS 7 у мінімальній конфігурації, далі оновлюємо та перезавантажуємо систему:

$ sudo yum update -y && sudo reboot

Для віртуальної машини корисно встановити гостьового агента:

$ sudo yum install open-vm-tools

для хостів VMware ESXi, або для oVirt:

$ sudo yum install ovirt-guest-agent

Підключаємо репозиторій та встановлюємо менеджер:

$ sudo yum install https://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
$ sudo yum install ovirt-engine

Базове налаштування:

$ sudo engine-setup

У більшості випадків вибрані за замовчуванням налаштування достатні, для їх автоматичного використання можна запустити конфігурацію з ключем:

$ sudo engine-setup --accept-defaults

Тепер ми можемо підключитися до нашого нового engine за адресою ovirt.lab.example.com. Тут ще порожньо, тож переходимо до встановлення гіпервізорів.

Встановлення ovirt-host

На фізичний хост встановлюємо CentOS 7 у мінімальній конфігурації, далі підключаємо репозиторій, оновлюємо та перезавантажуємо систему:

$ sudo yum install https://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
$ sudo yum update -y && sudo reboot

Примітка: для встановлення зручно використовувати засоби автоматизації розгортання або встановлення kickstart.

Приклад кікстарт файлу
Увага! Існуючі розділи видаляються автоматично! Будьте обережні!

# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us','ru' --switch='grp:alt_shift_toggle'
# System language
lang ru_RU.UTF-8

# Network information
network  --bootproto=dhcp --device=ens192 --ipv6=auto --activate
network  --hostname=kvm01.lab.example.com

# Root password 'monteV1DE0'
rootpw --iscrypted $6$6oPcf0GW9VdmJe5w$6WBucrUPRdCAP.aBVnUfvaEu9ozkXq9M1TXiwOm41Y58DEerG8b3Ulme2YtxAgNHr6DGIJ02eFgVuEmYsOo7./
# User password 'metroP0!is'
user --name=mgmt --groups=wheel --iscrypted --password=$6$883g2lyXdkDLbKYR$B3yWx1aQZmYYi.aO10W2Bvw0Jpkl1upzgjhZr6lmITTrGaPupa5iC3kZAOvwDonZ/6ogNJe/59GN5U8Okp.qx.
# System services
services --enabled="chronyd"
# System timezone
timezone Europe/Moscow --isUtc
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype xfs --size=1024 --ondisk=sda  --label=boot
part pv.01 --size=45056 --grow
volgroup HostVG pv.01 --reserved-percent=20
logvol swap --vgname=HostVG --name=lv_swap --fstype=swap --recommended
logvol none --vgname=HostVG --name=HostPool --thinpool --size=40960 --grow
logvol / --vgname=HostVG --name=lv_root --thin --fstype=ext4 --label="root" --poolname=HostPool --fsoptions="defaults,discard" --size=6144 --grow
logvol /var --vgname=HostVG --name=lv_var --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=16536
logvol /var/crash --vgname=HostVG --name=lv_var_crash --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=10240
logvol /var/log --vgname=HostVG --name=lv_var_log --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=8192
logvol /var/log/audit --vgname=HostVG --name=lv_var_audit --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=2048
logvol /home --vgname=HostVG --name=lv_home --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1024
logvol /tmp --vgname=HostVG --name=lv_tmp --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1024

%packages
@^minimal
@core
chrony
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
# Reboot when the install is finished.
reboot --eject

Збережіть цей файл, наприклад, на ftp.example.com/pub/labkvm.cfg. Для використання сценарію при запуску установки ОС слід вибрати пункт 'Install CentOS 7', увімкнути режим редагування параметрів (клавіша Tab) і наприкінці (з пропуском, без лапок) дописати

' inst.ks=ftp://ftp.example.com/pub/labkvm.cfg'

.
Сценарій установки видаляє існуючі розділи на /dev/sda, створює нові рекомендації розробника (Подивитися їх після установки зручно командою lsblk). Ім'я хоста встановлюється як kvm01.lab.example.com (після установки можна змінити командою hostnamectl set-hostname kvm03.lab.example.com), отримання IP адреси – автоматично, часовий пояс – московська, додана підтримка російської мови.

Пароль користувача root: monteV1DE0, пароль користувача mgmt: metroP0!is.
Увага! Існуючі розділи видаляються автоматично! Будьте обережні!

Повторюємо (чи виконуємо паралельно) усім хостах. Від включення «порожнього» сервера до готового стану, з урахуванням 2-х тривалих завантажень, потрібно близько 20 хвилин.

Додавання вузла в oVirt

Виконується дуже просто:

Compute → Hosts → New →…

У майстрі обов'язкові поля Name (ім'я, що відображається, напр., kvm03), Hostname (FQDN, напр. kvm03.lab.example.com) і секція Authentication — користувач root (незмінно) - пароль або SSH Public Key.

Після натискання кнопки Ok Ви отримаєте повідомлення «Якщо configured Power Management for this Host. Are you sure you want to continue?». Це нормально - управління живленням ми розглянемо далі після успішного підключення хоста. Однак, якщо машини, на які встановлені хости, не підтримує керування (IPMI, iLO, DRAC тощо), рекомендую його вимкнути: Compute → Clusters → Default → Edit → Fencing Ploicy → Enable fencing, прибрати галку.

Якщо на хості не був підключений репозиторій oVirt, установка закінчиться невдачею, але нічого страшного треба його додати, потім натиснути Install -> Reinstall.

Підключення хоста займає трохи більше 5-10 хвилин.

Налаштування мережного інтерфейсу

Оскільки ми будуємо стійку до відмови систему, мережне підключення також повинно забезпечувати резервоване підключення, що і виконується на вкладці Compute → Hosts → HOST → Network Interfaces — Setup Host Networks.

Залежно від можливостей вашого мережного обладнання та підходів до архітектури, можливі варіанти. Найкраще підключатися до стека top-of-rack комутаторів, щоб при відмові одного мережева доступність не перервалася. Розглянемо з прикладу агрегованого каналу LACP. Для налаштування агрегованого каналу "взяти" мишкою 2-й незадіяний адаптер і "відвезти" до 1-го. Відкриється вікно Create New Bond, де LACP (Mode 4, Dynamic link aggregation, 802.3ad) вибрано за замовчуванням. На стороні комутаторів виконується звичайне налаштування групи LACP. Якщо немає можливості побудувати стек комутаторів, можна використовувати режим Active-Backup (Mode 1). Налаштування VLAN розглянемо в наступній статті, а докладніше з рекомендаціями щодо налаштування мережі у документі Planning and Prerequisites Guide.

Налаштування FC

Fibre Channel (FC) підтримується "з коробки", його використання складнощів не викликає. Налаштування мережі зберігання, що включає налаштування систем зберігання та зонування fabric комутаторів у рамках налаштування oVirt ми не будемо.

Налаштування FCoE

FCoE на мій погляд так і не набув широкого поширення в мережах зберігання, але часто застосовується на серверах як «остання миля», напр., в HPE Virtual Connect.

Налаштування FCoE потребує додаткових нескладних кроків.

Setup FCoE Engine

Стаття на сайті Red Hat B.3. How to Set Up Red Hat Virtualization Manager to Use FCoE
On the Manager
, наступною командою додаємо ключ до менеджера і перезапускаємо його:


$ sudo engine-config -s UserDefinedNetworkCustomProperties='fcoe=^((enable|dcb|auto_vlan)=(yes|no),?)*$'
$ sudo systemctl restart ovirt-engine.service

Setup Node FCoE

На oVirt-Host'ах потрібно встановити

$ sudo yum install vdsm-hook-fcoe

Далі звичайне налаштування FCoE, стаття на Red Hat: 25.5. Configuring a Fibre Channel over Ethernet Interface.

Для Broadcom CNA додатково дивимося User Guide FCoE Configuration for Broadcom-Based Adapters.

Переконатись, що встановлені пакети (вже йдуть у minimal):

$ sudo yum install fcoe-utils lldpad

Далі саме налаштування (замість ens3f2 та ens3f3 підставляємо імена CNA, включених у мережу зберігання):

$ sudo cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-ens3f2
$ sudo cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-ens3f3
$ sudo vim /etc/fcoe/cfg-ens3f2
$ sudo vim /etc/fcoe/cfg-ens3f3

Важливо: якщо мережний інтерфейс апаратно підтримує DCB/DCBX, параметр DCB_REQUIRED має бути встановлений у no.

DCB_REQUIRED=«yes» → #DCB_REQUIRED=«yes»

Далі слід переконатися, що adminStatus вимкнено на всіх інтерфейсах, у т.ч. без включеного FCoE:

$ sudo lldptool set-lldp -i ens3f0 adminStatus=disabled
...
$ sudo lldptool set-lldp -i ens3f3 adminStatus=disabled

Якщо є інші мережні інтерфейси, можна увімкнути LLDP:

$ sudo systemctl start lldpad
$ sudo systemctl enable lldpad

Як говорилося раніше, якщо використовується апаратний DCB/DCBX, налаштування DCB_REQUIRED має бути включене в немає і цей крок може бути пропущений.

$ sudo dcbtool sc ens3f2 dcb on
$ sudo dcbtool sc ens3f3 dcb on
$ sudo dcbtool sc ens3f2 app:fcoe e:1
$ sudo dcbtool sc ens3f3 app:fcoe e:1
$ sudo ip link set dev ens3f2 up
$ sudo ip link set dev ens3f3 up
$ sudo systemctl start fcoe
$ sudo systemctl enable fcoe

Для мережних інтерфейсів перевірити чи увімкнено автостарт:

$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens3f2
$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens3f3

ONBOOT=yes

Перегляд налаштованих FCoE інтерфейсів, виведення команди не повинно бути порожнім.

$ sudo fcoeadm -i

Наступне налаштування FCoE виконується як для звичайного FC.

Далі слідує налаштування систем та мережі зберігання — зонування, SAN-хостів, створення та презентація томів/LUN'ів, після чого сховище можна підключити до ovirt-host'ів: Storage → Domains → New Domain.

Domain Function залишаємо Data, Storage Type – Fibre Channel, Host – будь-який, ім'я – напр., storNN-volMM.

Напевно, ваша система зберігання допускає підключення не просто резервування шляхів, а й балансування. Багато сучасних систем здатні передавати дані по всіх шляхах однаково оптимально (ALUA active/active).

Для включення всіх шляхів до активного стану, треба налаштувати мультпасинг, про це в наступних статтях.

Налаштування NFS та iSCSI виконуються таким чином.

Сховище ISO образів

Для встановлення ОС знадобляться їх настановні файли, найчастіше доступні у вигляді ISO образів. Можна використовувати вбудований шлях, але для роботи з образами в oVirt розроблено спеціальний тип сховища – ISO, який можна націлити на сервер NFS. Додаємо його:

Storage → Domains → New Domain,
Domain Function → ISO,
Export Path — напр., mynfs01.example.com:/exports/ovirt-iso (на момент підключення папка повинна бути порожньою, менеджер повинен мати можливість писати в неї),
Name – напр., mynfs01-iso.

Для зберігання образів менеджер створить структуру
/exports/ovirt-iso/<some UUID>/images/11111111-1111-1111-1111-111111111111/

Якщо на нашому NFS сервері ISO образи вже є, для економії простору зручно замість копіювання файлів додати їх до цієї папки.

Перша ВМ

На цьому етапі вже можна створити першу віртуальну машину, встановити на неї ОС та прикладне ПЗ.

Compute → Virtual Machines → New

Для нової машини вказати ім'я (Name), створити диск (Instance Images → Create) та підключити мережевий інтерфейс (Instantiate VM).

На стороні клієнта потрібний сучасний браузер і SPICE клієнт для взаємодії з консоллю.

Перша машина успішно запущена. Однак для повнішої роботи системи потрібно виконати ряд додаткових налаштувань, про що продовжимо в наступних статтях.

Джерело: habr.com

Додати коментар або відгук