Установка Ovirt в режиме Hosted Engine

Материал из Wiki AlterOS
Перейти к: навигация, поиск

В данной статье рассматривается развертывание среды виртуализации Ovirt 4.1 с хранилищем, реализованным на базе NFS.


Системные требования к оборудованию

  • ЦПУ, поддерживающий виртуализацию. Минимум 2 ядра.
  • ОЗУ минимум 8 Гб.
  • Свободное дисковое проcтранство на одном из разделов минимум 60 Гб.

Системные требования к ПО

  • Чистая установка ОС AlterOS 7.5
  • Подготовленные FQDN имена для хоста и виртуальной машины, выполняющей роль Engine. В нашем случае host.alter.os и engine.alter.os соответственно.
  • Записи в зонах прямого и обратного просмотра для этих имен на DNS сервере.

Подготовка

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

Проверяем наличие поддержки со стороны процессора:

# cat /proc/cpuinfo | egrep "(vmx|svm)"

Если команда ничего не вернет, на ПК отсутствует поддержка виртуализации или она отключена в настройках БИОС. Сам KVM поставить на такой ПК можно, но при попытке ввести команду управления гипервизором мы получим ошибку «WARNING KVM acceleration not available, using 'qemu'». В таком случае необходимо перезагрузить ПК, войти в БИОС, найти поддержку технологии виртуализации (Intel VT или AMD-V) и включить ее.

Обновляем ОС:

# yum -y update

Устанавливаем в систему репозиторий Ovirt 4.1:

# yum install http://resources.ovirt.org/pub/yum-repo/ovirt-release41.rpm

Проверяем доступность необходимых репозиториев:

# yum repolist

Видим, что репозитории ovirt-4.1-centos-gluster38/x86_64 и ovirt-centos-ovirt41/x86_64 недоступны (у них в столбце Состояние указан 0):

....
Идентификатор репозитория                репозиторий                   состояние
base/7/x86_64                            AlterOS-7 - Base               9 941
centos-opstools-release/x86_64           CentOS-7 - OpsTools - release    853
ovirt-4.1/7                              Latest oVirt 4.1 Release       2 229
ovirt-4.1-centos-gluster38/x86_64        CentOS-7 - Gluster 3.8             0
ovirt-4.1-centos-qemu-ev/x86_64          CentOS-7 - QEMU EV                71
ovirt-4.1-epel/x86_64                    Extra Packages for Enterprise 12 914
ovirt-4.1-patternfly1-noarch-epel/x86_64 Copr repo for patternfly1 own      2
ovirt-centos-ovirt41/x86_64              CentOS-7 - oVirt 4.1               0
rnnv/7/x86_64                            AlterOS-7 - rnnv                 305
sac-gdeploy/x86_64                       Copr repo for gdeploy owned b      4
updates                                  AlterOS-7 - Updates              706
virtio-win-stable                        virtio-win builds roughly mat      5
repolist: 27 030
#

Для продолжения установки необходимо в файле /etc/yum.repos.d/ovirt-4.1-dependencies.repo разделы для недоступных репозиториев привести к виду:

[ovirt-4.1-centos-gluster38]
name=CentOS-7 - Gluster 3.8
baseurl=http://mirror.centos.org/centos/7/storage/$basearch/gluster-6/
gpgcheck=0
enabled=1
gpgkey=https://raw.githubusercontent.com/CentOS-Storage-SIG/centos-release-storage-common/master/RPM-GPG-KEY-CentOS-SIG-Storage


[ovirt-centos-ovirt41]
name=CentOS-7 - oVirt 4.1
baseurl=http://mirror.centos.org/centos/7/virt/$basearch/ovirt-4.2/
gpgcheck=0
enabled=1

Жирным шрифтом выделены измененные символы. Еще раз проверяем доступность репозиториев. Теперь все репозитории долны быть доступны:

# yum clean all
# yum repolist
.....
Идентификатор репозитория                репозиторий                   состояние
base/7/x86_64                            AlterOS-7 - Base               9 941
centos-opstools-release/x86_64           CentOS-7 - OpsTools - release    853
ovirt-4.1/7                              Latest oVirt 4.1 Release       2 229
ovirt-4.1-centos-gluster38/x86_64        CentOS-7 - Gluster 3.8           110
ovirt-4.1-centos-qemu-ev/x86_64          CentOS-7 - QEMU EV                71
*ovirt-4.1-epel/x86_64                   Extra Packages for Enterprise 12 914
ovirt-4.1-patternfly1-noarch-epel/x86_64 Copr repo for patternfly1 own      2
ovirt-centos-ovirt41/x86_64              CentOS-7 - oVirt 4.1             625
rnnv/7/x86_64                            AlterOS-7 - rnnv                 305
sac-gdeploy/x86_64                       Copr repo for gdeploy owned b      4
updates                                  AlterOS-7 - Updates              706
virtio-win-stable                        virtio-win builds roughly mat      5
repolist: 27 765
#

Устанавливаем пакет ovirt-hosted-engine-setup:

# yum -y install ovirt-hosted-engine-setup

Устанавливаем пакет ovirt-engine-appliance (может занять продолжительное время):

# yum -y install ovirt-engine-appliance

Так как создаем виртуализацию на одном сервере, то нам нужно использовать так называемую, “вложенную виртуализацию”. По умолчанию может быть так, что вложенная виртуализация выключена, проверить это можно с помощью следующей команды:

# cat /sys/module/kvm_intel/parameters/nested
N
#

Буква “N” или “0” означает, что вложенная виртуализация выключена. Чтобы ее включить нужно выгрузить модуль и загрузить его с параметром kvm_intel.nested=1. Выгружаем модуль и загружаем с нужным параметром:

# rmmod kvm_intel
# modprobe kvm_intel nested=1

Проверяем включение вложенной виртуализации:

# cat /sys/module/kvm_intel/parameters/nested
Y
#

При постоянном использовании следует данные параметры ввести в автозагрузку, для этого приводим файл /etc/rc.local к виду:

touch /var/lock/subsys/local
rmmod kvm_intel
modprobe kvm_intel nested=1

И т.к. в AlterOS-7.5 этот файл по умолчанию не является исполняемым, то нам необходимо его сделать таковым:

# chmod +x /etc/rc.d/rc.local

Приводим файл /etc/hosts к виду:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.5.55 host.alter.os host
192.168.5.56 engine.alter.os engine

Здесь host.alter.os - имя ПК, на котором выполняются данные действия. engine.alter.os - имя будущей виртуальной машины, выполняющей роль engine. IP адреса и имена указаны в качестве примера. В вашем случае они, скорее всего, будут другими. Так же, эти данные должны четко соостветствовать записям в зонах прямого и обратного просмотра на DNS сервере.

Приводим файл /etc/sysconfig/network к виду:

HOSTNAME="host.alter.os"

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

# hostname host.alter.os

Приводим файл сетевого интерфейса, к которому подключен сетевой кабель, /etc/sysconfig/network-scripts/ifcfg-enp1s0 (в вашем случае он может иметь другое имя)к виду:

BOOTPROTO="none"
NM_CONTROLLED="no"
IPADDR=192.168.5.55
NETMASK=255.255.255.0
GATEWAY=192.168.5.1
DNS1=192.168.5.2

В данном файле так же могут присутствовать и строки, задающие другие параметры. Для нас важно задать статическую адресацию с правильным IPv4 адресом и маской, а так же параметр NM_CONTROLLED.

Перезапускаем службу сети:

# systemctl restart network

Добавляем группу kvm и в ней пользователя vdsm:

# groupadd kvm -g 36
# useradd vdsm -u 36 -g kvm

Устанавливаем службу NFS:

# yum -y install nfs-utils

Выполняем команды:

# systemctl daemon-reload
# systemctl enable rpcbind.service
# systemctl enable nfs-server.service
# systemctl start rpcbind.service
# systemctl start nfs-server.service

Создаем каталоги для NFS хранилища. Данные каталоги должны находиться на разделе, имеющем минимум 60 Гб свободного пространства. В данном случае это раздел /home:

# mkdir -p /home/vdsm/data
# mkdir -p /home/vdsm/export

Добавляем сведения об этих каталогах в файл /etc/exports. Вносим в него строки:

/home/vdsm/data      *(rw)
/home/vdsm/export    *(rw)

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

# exportfs -r

Перезагружаем службу NFS:

# systemctl reload nfs-server.service

Задаем владельца и группу для созданных каталогов:

# chown -R 36:36 /home/vdsm/data
# chown -R 36:36 /home/vdsm/export

Задаем необходимые разрешения для созданных каталогов:

# chmod 0755 /home/vdsm/data
# chmod 0755 /home/vdsm/export

Развертывание

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

# hosted-engine --deploy

На все вопросы отвечаем значениями по умолчанию (жмем Enter), кроме следующих:

Please specify the full shared storage connection path to use
(example: host:/path): host.alter.os:/home/vdsm/data
Please provide the FQDN you would like to use for the engine appliance.
         Note: This will be the FQDN of the engine VM you are now going to launch,
         it should not point to the base host or to any other existing machine.
         Engine VM FQDN: (leave it empty to skip):  []: engine.alter.os
Enter root password that will be used for the engine appliance (leave it empty to skip):{Введите свой пароль}
Enter ssh public key for the root user that will be used for the engine
appliance (leave it empty to skip): {Что вводить указано ниже}*
Please specify the memory size of the VM in MB (Defaults to maximum available): [5878]: 4096
How should the engine VM network be configured (DHCP, Static)[DHCP]?: Static
Please enter the IP address to be used for the engine VM [192.168.5.4]: 192.168.5.56


--== HOSTED ENGINE CONFIGURATION ==--
        
         Enter engine admin password:{Введите свой пароль}
*Необходимо сгенерировать ключ доступа на VM для root:
# ssh-keygen -t rsa 
* no passphrase
* save file to default location
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
После того, как ключ создан, просто откройте файл ~/.ssh/id_rsa.pub, скопируйте его содержимое и вставьте в строку с запросом ключа ssh.

В конце процесса развертывания должны получить:

[ INFO  ] Engine replied: DB Up!Welcome to Health Status!
[ INFO  ] Acquiring internal CA cert from the engine
[ INFO  ] The following CA certificate is going to be used, please immediately interrupt if not correct:
[ INFO  ] Issuer: C=US, O=alter.os, CN=engine.alter.os.82493, Subject: C=US, O=alter.os, CN=engine.alter.os.82493, Fingerprint (SHA-1): 6A0E0429E23938ACB78F0ADABA0DBC08004D6CD9
[ INFO  ] Connecting to the Engine
[ INFO  ] Waiting for the host to become operational in the engine. This may take several minutes...
[ INFO  ] Still waiting for VDSM host to become operational...
[ INFO  ] The VDSM Host is now operational
[ INFO  ] Saving hosted-engine configuration on the shared storage domain
[ INFO  ] Shutting down the engine VM
[ INFO  ] Enabling and starting HA services
[ INFO  ] Stage: Clean up
[ INFO  ] Generating answer file '/var/lib/ovirt-hosted-engine-setup/answers/answers-20190213135619.conf'
[ INFO  ] Generating answer file '/etc/ovirt-hosted-engine/answers.conf'
[ INFO  ] Stage: Pre-termination
[ INFO  ] Stage: Termination
[ INFO  ] Hosted Engine successfully deployed

Доступ на веб-интерфейс для управления Ovirt осуществляется в данном случае по ссылке https://engine.alter.os/ovirt-engine. (Этот адрес предварительно добавляем в исключения браузера). В качества имени пользователя используем admin, в качества пароля - пароль заданный на стадии развертывания.

Если по какой-то причине процесс развертывания завершился с ошибкой, то возобновить его можно только после выполнения скрипта /usr/share/ovirt-hosted-engine-setup/scripts/ovirt-hosted-engine-cleanup и очистки каталога /home/vdsm/data.