И така, нека разгледаме проблемите с първоначалната инсталация на компонентите ovirt-engine и ovirt-host.
По-подробни инсталационни процеси винаги можете да намерите в документация.
За Engine минималните изисквания са 2 ядра/4 GiB RAM/25 GiB памет. Препоръчително - от 4 ядра/16 GiB RAM/50 GiB памет. Ние използваме опцията Standalone Manager, когато двигателят работи на специална физическа или виртуална машина извън управляван клъстер. За нашата инсталация ще вземем виртуална машина, например на самостоятелен ESXi*. Удобно е да използвате инструменти за автоматизация на внедряване или клониране от предварително подготвен шаблон или инсталация за кикстарт.
*Забележка: За производствена система това е лоша идея, защото... мениджърът работи без резерв и се превръща в тясно място. В този случай е по-добре да разгледате опцията Self-hosted Engine.
Ако е необходимо, процедурата за конвертиране на Standalone в Self Hosted е описана подробно в документация. По-специално, хостът трябва да получи командата за преинсталиране с поддръжка на Hosted Engine.
Инсталираме CentOS 7 на виртуалната машина в минимална конфигурация, след което актуализираме и рестартираме системата:
$ sudo yum update -y && sudo reboot
Полезно е да инсталирате гост агент за виртуална машина:
В повечето случаи настройките по подразбиране са достатъчни; за да ги използвате автоматично, можете да стартирате конфигурацията с ключа:
$ sudo engine-setup --accept-defaults
Сега можем да се свържем с нашия нов двигател на ovirt.lab.example.com. Тук все още е празно, така че нека да преминем към инсталирането на хипервайзори.
Инсталиране на ovirt-host
Инсталираме CentOS 7 в минимална конфигурация на физически хост, след което свързваме хранилището, актуализираме и рестартираме системата:
# 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. За да използвате скрипта при стартиране на инсталацията на ОС, изберете „Инсталиране на 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 → Хостове → Нов →…
Задължителните полета в съветника са име (показвано име, напр. kvm03), име на хост (FQDN, напр. kvm03.lab.example.com) и раздел за удостоверяване - root потребител (неизменен) — парола или SSH публичен ключ.
След натискане на бутона Ok Ще получите съобщение „Не сте конфигурирали управление на захранването за този хост. Сигурен ли си, че искаш да продължиш?". Това е нормално - ще разгледаме управлението на захранването по-късно, след като хостът бъде успешно свързан. Въпреки това, ако машините, на които са инсталирани хостовете, не поддържат управление (IPMI, iLO, DRAC и т.н.), препоръчвам да го деактивирате: Compute → Clusters → Default → Edit → Fencing Ploicy → Enable fencing, премахнете отметката от квадратчето.
Ако хранилището на oVirt не е свързано с хоста, инсталацията ще се провали, но това е добре - трябва да го добавите, след което щракнете върху Инсталиране -> Преинсталиране.
Свързването на хоста отнема не повече от 5-10 минути.
Настройка на мрежовия интерфейс
Тъй като изграждаме система, устойчива на грешки, мрежовата връзка трябва също така да осигурява излишна връзка, което се прави в Compute → Hosts → раздел HOST → Мрежови интерфейси - Настройка на хост мрежи.
В зависимост от възможностите на вашето мрежово оборудване и архитектурните подходи са възможни варианти. Най-добре е да се свържете към стек от горни комутатори, така че ако един от тях се повреди, достъпността на мрежата да не бъде прекъсната. Нека да разгледаме примера на агрегиран LACP канал. За да конфигурирате агрегиран канал, „вземете“ втория неизползван адаптер с мишката и го „занесете“ до първия. Ще се отвори прозорец Създаване на нова връзка, където LACP (режим 4, агрегиране на динамични връзки, 802.3ad) е избран по подразбиране. От страната на комутатора се изпълнява обичайната конфигурация на LACP група. Ако не е възможно да изградите стек от комутатори, можете да използвате режима Active-Backup (режим 1). Ще разгледаме настройките на VLAN в следващата статия и ще навлезем в повече подробности с препоръки за настройка на мрежа в документа Ръководство за планиране и предпоставки.
FC настройка
Fibre Channel (FC) се поддържа веднага и е лесен за използване. Няма да създаваме мрежа за съхранение, включително настройване на системи за съхранение и превключватели на тъкани за зониране като част от настройката на oVirt.
Настройване на FCoE
Според мен FCoE не е широко разпространен в мрежите за съхранение, но често се използва на сървъри като „последна миля“, например в HPE Virtual Connect.
Настройването на FCoE изисква допълнителни прости стъпки.
Както беше посочено по-рано, ако се използва хардуерен 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-hosts: Storage → Domains → New Domain.
Оставете Domain Function като Data, Storage Type като Fibre Channel, Host като всеки, име като например storNN-volMM.
Със сигурност вашата система за съхранение позволява връзка не само за резервиране на път, но и за балансиране. Много съвременни системи са в състояние да предават данни по всички пътища еднакво оптимално (ALUA активен/активен).
За да активирате всички пътища в активно състояние, трябва да конфигурирате мултипасинг, повече за това в следващите статии.
Настройката на NFS и iSCSI се извършва по подобен начин.
ISO съхранение на изображения
За да инсталирате ОС, ще ви трябват техните инсталационни файлове, най-често налични под формата на ISO изображения. Можете да използвате вградения път, но за работа с изображения в oVirt е разработен специален тип хранилище - ISO, което може да бъде насочено към NFS сървър. Добавете го:
Съхранение → Домейни → Нов домейн,
Функция на домейна → ISO,
Път за експортиране - напр. mynfs01.example.com:/exports/ovirt-iso (по време на свързване папката трябва да е празна, мениджърът трябва да може да пише в нея),
Име - например mynfs01-iso.
Мениджърът ще създаде структура за съхраняване на изображения
/exports/ovirt-iso/<some UUID>/images/11111111-1111-1111-1111-111111111111/
Ако вече има ISO изображения на нашия NFS сървър, за да спестите място е удобно да ги свържете към тази папка, вместо да копирате файлове.
Първи VM
На този етап вече можете да създадете първата виртуална машина, да инсталирате операционната система и приложния софтуер върху нея.
Изчисляване → Виртуални машини → Ново
За новата машина посочете име (Име), създайте диск (Изображения на екземпляр → Създаване) и свържете мрежов интерфейс (Създайте екземпляр на мрежови интерфейси на VM, като изберете vNIC профил → изберете единствения ovirtmgmt от списъка за момента).
От страна на клиента се нуждаете от модерен браузър и SPICE клиент за взаимодействие с конзолата.
Първата машина е пусната успешно. За по-пълна работа на системата обаче са необходими редица допълнителни настройки, които ще продължим в следващите статии.