Эта статья — следующая в цикле по oVirt, начало здесь.
Итак, рассмотрим вопросы первичной установки компонентов ovirt-engine и ovirt-host.
Более подробно процессы установки всегда можно посмотреть в документации.
Для Engine минимальные требования 2 ядра/4 ГиБ ОЗУ/25 ГиБ хранилища. Рекомендованные — от 4 ядер/16 ГиБ ОЗУ/50 ГиБ хранения. Используем вариант Standalone Manager, когда engine работает на выделенной физической или виртуальной машине вне управляемого кластера. Для нашей установки возьмем виртуальную машину напр., на отдельно стоящем ESXi*. Удобно использовать средства автоматизации развертывания или клонирование из ранее подготовленного шаблона или установку kickstart.
*Примечание: для производственной системы это плохая идея, т.к. менеджер работает без резерва и становится узким местом. В этом случае лучше рассмотреть вариант Self-hosted Engine.
При необходимости, процедура конвертации Standalone в Self Hosted подробно описана в документации. В частности, хосту нужно дать команду reinstall с поддержкой Hosted Engine.
На ВМ устанавливаем CentOS 7 в минимальной конфигурации, далее обновляем и перезагружаем систему:
Для виртуальной машины полезно установить гостевого агента:
для хостов VMware ESXi, или для oVirt:
Подключаем репозиторий и устанавливаем менеджер:
Базовая настройка:
В большинстве случаев выбранные по умолчанию настройки достаточны, для их автоматического использования можно запустить конфигурацию с ключом:
Теперь мы можем подключиться к нашему новому engine по адресу ovirt.lab.example.com. Здесь еще пусто, поэтому переходим к установке гипервизоров.
На физический хост устанавливаем CentOS 7 в минимальной конфигурации, далее подключаем репозиторий, обновляем и перезагружаем систему:
Примечание: для установки удобно использовать средства автоматизации развертывания или установку kickstart.
Повторяем (или выполняем параллельно) на всех хостах. От включения «пустого» сервера до готового состояния, с учетом 2-х длительных загрузок требуется порядка 20 минут.
Выполняется очень просто:
Compute > Hosts > New >…
В мастере обязательны поля Name (отображаемое имя, напр., kvm03), Hostname (FQDN, напр. kvm03.lab.example.com) и секция Authentication — пользователь root (неизменямо) — пароль или SSH Public Key.
После нажатия кнопки Ok Вы получите сообщение «You haven't 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.
Fibre Channel (FC) поддерживается «из коробки», его использование сложностей не вызывает. Настройку сети хранения, включающую настройку систем хранения и зонирование fabric коммутаторов в рамках настройки oVirt мы не будем.
FCoE на мой взгляд так и не получил широкого распространения в сетях хранения, но часто применяется на серверах в качестве «последней мили», напр., в HPE Virtual Connect.
Далее следует настройка систем и сети хранения — зонирование, SAN-хостов, создание и презентация томов/LUN'ов, после чего хранилище можно подключить к ovirt-host'ам: Storage > Domains > New Domain.
Domain Function оставляем Data, Storage Type — Fibre Channel, Host — любой, имя — напр., storNN-volMM.
Наверняка ваша система хранения допускает подключение не просто резервирование путей, но и балансировку. Многие современные системы способны передавать данные по всем путям одинаково оптимально (ALUA active/active).
Для включения всех путей в активное состояние, надо настроить мультпасинг, об этом в следующих статьях.
Настройка NFS и iSCSI выполняется подобным образом.
Для установки ОС понадобятся их установочные файлы, чаще всего доступные в виде 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 network interfaces by picking a vNIC profile > выбрать из списка пока что единственный ovirtmgmt).
На стороне клиента нужен современный браузер и SPICE клиент для взаимодействия с консолью.
Первая машина успешно запущена. Однако для более полной работы системы требуется выполнить ряд дополнительных настроек, о чем продолжим в следующих статьях.
Статьи
- Введение
- Установка менеджера (ovirt-engine) и гипервизоров (hosts) — Мы здесь
- Дополнительные настройки
- Базовые операции
Итак, рассмотрим вопросы первичной установки компонентов ovirt-engine и ovirt-host.
Более подробно процессы установки всегда можно посмотреть в документации.
Содержание
- Установка ovirt-engine
- Установка ovirt-host
- Добавление узла в oVirtN
- Настройка сетевого интерфейса
- Настройка FC
- Настройка FCoE
- Хранилище ISO образов
- Первая ВМ
Установка 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.
Пример кикстарт файла
Внимание! Существующие разделы удаляются автоматически! Будьте осторожны!
Сохраните этот файл, напр., на ftp.example.com/pub/labkvm.cfg. Для использования сценария при запуске установки ОС следует выбрать пункт 'Install CentOS 7', включить режим редактирования параметров (клавиша Tab) и в конце (с пробелом, без кавычек) дописать
Сценарий установки удаляет сущствующие разделы на /dev/sda, создает новые по рекомендации разработчика (посмотреть их после установки удобно командой lsblk). Имя хоста устанавливается как kvm01.lab.example.com (после установки можно изменить командой hostnamectl set-hostname kvm03.lab.example.com), получение IP адреса — автоматически, часовой пояс — московский, добавлена поддержка русского языка.
Пароль пользователя root: monteV1DE0, пароль пользователя mgmt: metroP0!is.
Внимание! Существующие разделы удаляются автоматически! Будьте осторожны!
# 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 Вы получите сообщение «You haven't 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 требует дополнительных несложных шагов.
Статья на сайте Red Hat B.3. How to Set Up Red Hat Virtualization Manager to Use FCoE
On the Manager, следующей командой добавляем ключ в менеджер и перезапускаем его:
На oVirt-Host'ах нужно установить
Далее обычная настройка FCoE, статья на Red Hat: 25.5. Configuring a Fibre Channel over Ethernet Interface.
Для Broadcom CNA дополнительно смотрим User Guide FCoE Configuration for Broadcom-Based Adapters.
Убедиться, что установлены пакеты (уже идут в minimal):
Далее сама настройка (вместо ens3f2 и ens3f3 подставляем имена CNA, включенных в сеть хранения):
Важно: если сетевой интерфейс аппаратно поддерживает DCB/DCBX, параметр DCB_REQUIRED должен быть установлен в no.
DCB_REQUIRED=«yes» > #DCB_REQUIRED=«yes»
Далее следует убедиться, что adminStatus выключен на всех интерфейсах, в т.ч. без включенного FCoE:
Если есть другие сетевые интерфейсы, можно включить LLDP:
Как говорилось ранее, если используется аппаратный DCB/DCBX, настройка DCB_REQUIRED должна быть включена в no и этот шаг может быть пропущен.
Для сетевых интерфейсов проверить включен ли автостарт:
Просмотр настроенных FCoE интерфейсов, вывод команды не должен быть пуст.
Последующая настройка FCoE выполняется как для обычного FC.
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 должна быть включена в no и этот шаг может быть пропущен.
$ 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 network interfaces by picking a vNIC profile > выбрать из списка пока что единственный ovirtmgmt).
На стороне клиента нужен современный браузер и SPICE клиент для взаимодействия с консолью.
Первая машина успешно запущена. Однако для более полной работы системы требуется выполнить ряд дополнительных настроек, о чем продолжим в следующих статьях.
rootkie
Спасибо, жду продолжения, а вы не знаете ovirt уже на centos 8 стабильной версии есть? Хотелось бы еще услышать про бэкапы, желательно инкрементные, и как устроена миграция.
imichael Автор
Продолжение будет по мере возможности. )
На CentOS 8 текущая стабильная 4.3.9 официально не поддерживается (у нее требования 7.7 or later but < 8). А вот 4.4, которая сейчас 4.4.0 Alpha, наоборот, ориентирована на 8-ку (Some of the features included in oVirt 4.4.0 Alpha require content that will be available in CentOS Linux 8.1).