Установка Ovirt в режиме Hosted Engine — различия между версиями

Материал из Wiki AlterOS
Перейти к: навигация, поиск
Строка 3: Строка 3:
  
  
'''Системные требования к оборудованию'''
+
=='''Системные требования к оборудованию'''==
  
 
* ЦПУ, поддерживающий виртуализацию. Минимум 2 ядра.
 
* ЦПУ, поддерживающий виртуализацию. Минимум 2 ядра.
Строка 11: Строка 11:
  
  
'''Системные требования к ПО'''
+
=='''Системные требования к ПО'''==
  
 
* Чистая установка ОС AlterOS 7.5
 
* Чистая установка ОС AlterOS 7.5
Строка 18: Строка 18:
  
  
'''Подготовка'''
+
=='''Подготовка'''==
  
 
Все команды, приведенные ниже необходимо выполнять от имени учетной записи root или с использованием sudo (см. [[Утилита SUDO]]).
 
Все команды, приведенные ниже необходимо выполнять от имени учетной записи root или с использованием sudo (см. [[Утилита SUDO]]).
Строка 24: Строка 24:
 
Проверяем наличие поддержки со стороны процессора:
 
Проверяем наличие поддержки со стороны процессора:
  
  #cat /proc/cpuinfo | egrep "(vmx|svm)"
+
  # cat /proc/cpuinfo | egrep "(vmx|svm)"
  
 
Если команда ничего не вернет, на ПК отсутствует поддержка виртуализации или она отключена в настройках БИОС.
 
Если команда ничего не вернет, на ПК отсутствует поддержка виртуализации или она отключена в настройках БИОС.
Строка 32: Строка 32:
 
Обновляем ОС:
 
Обновляем ОС:
  
  #yum -y update
+
  # yum -y update
  
 
Устанавливаем в систему репозиторий Ovirt 4.1:
 
Устанавливаем в систему репозиторий Ovirt 4.1:
Строка 40: Строка 40:
 
Проверяем доступность необходимых репозиториев:
 
Проверяем доступность необходимых репозиториев:
  
  #yum repolist
+
  # yum repolist
  
 
Видим, что репозитории ovirt-4.1-centos-gluster38/x86_64 и ovirt-centos-ovirt41/x86_64  недоступны (у них в столбце Состояние указан 0):
 
Видим, что репозитории ovirt-4.1-centos-gluster38/x86_64 и ovirt-centos-ovirt41/x86_64  недоступны (у них в столбце Состояние указан 0):
Строка 60: Строка 60:
 
  repolist: 27 030
 
  repolist: 27 030
 
  #
 
  #
 +
 
Для продолжения установки необходимо в файле /etc/yum.repos.d/ovirt-4.1-dependencies.repo разделы для недоступных репозиториев привести к виду:
 
Для продолжения установки необходимо в файле /etc/yum.repos.d/ovirt-4.1-dependencies.repo разделы для недоступных репозиториев привести к виду:
  
Строка 79: Строка 80:
 
Еще раз проверяем доступность репозиториев. Теперь все репозитории долны быть доступны:
 
Еще раз проверяем доступность репозиториев. Теперь все репозитории долны быть доступны:
  
  #yum clean all
+
  # yum clean all
  #yum repolist
+
  # yum repolist
 
  .....
 
  .....
 
  Идентификатор репозитория                репозиторий                  состояние
 
  Идентификатор репозитория                репозиторий                  состояние
Строка 100: Строка 101:
 
Устанавливаем пакет ovirt-hosted-engine-setup:  
 
Устанавливаем пакет ovirt-hosted-engine-setup:  
  
  #yum -y install ovirt-hosted-engine-setup
+
  # yum -y install ovirt-hosted-engine-setup
  
 
Устанавливаем пакет ovirt-engine-appliance (может занять продолжительное время):
 
Устанавливаем пакет ovirt-engine-appliance (может занять продолжительное время):
  
  #yum -y install ovirt-engine-appliance
+
  # yum -y install ovirt-engine-appliance
  
 
Так как создаем виртуализацию на одном сервере, то нам нужно использовать так называемую, “вложенную виртуализацию”. По умолчанию может быть так, что вложенная виртуализация выключена,
 
Так как создаем виртуализацию на одном сервере, то нам нужно использовать так называемую, “вложенную виртуализацию”. По умолчанию может быть так, что вложенная виртуализация выключена,
 
проверить это можно с помощью следующей команды:
 
проверить это можно с помощью следующей команды:
  
  #cat /sys/module/kvm_intel/parameters/nested
+
  # cat /sys/module/kvm_intel/parameters/nested
 
  N
 
  N
 
  #
 
  #
Строка 116: Строка 117:
 
Выгружаем модуль и загружаем с нужным параметром:
 
Выгружаем модуль и загружаем с нужным параметром:
  
  #rmmod kvm_intel
+
  # rmmod kvm_intel
  #modprobe kvm_intel nested=1
+
  # modprobe kvm_intel nested=1
  
 
Проверяем включение вложенной виртуализации:
 
Проверяем включение вложенной виртуализации:
  
  #cat /sys/module/kvm_intel/parameters/nested
+
  # cat /sys/module/kvm_intel/parameters/nested
 
  Y
 
  Y
 
  #
 
  #
Строка 133: Строка 134:
 
И т.к. в AlterOS-7.5 этот файл по умолчанию не является исполняемым, то нам необходимо его сделать таковым:
 
И т.к. в AlterOS-7.5 этот файл по умолчанию не является исполняемым, то нам необходимо его сделать таковым:
  
  #chmod +x /etc/rc.d/rc.local
+
  # chmod +x /etc/rc.d/rc.local
  
 
Приводим файл /etc/hosts к виду:
 
Приводим файл /etc/hosts к виду:
Строка 152: Строка 153:
 
Выполняем команду:
 
Выполняем команду:
  
  #hostname host.as.lan
+
  # hostname host.as.lan
  
 
Приводим файл сетевого интерфейса, к которому подключен сетевой кабель, /etc/sysconfig/network-scripts/ifcfg-enp1s0 (в вашем случае он может иметь другое имя)к виду:
 
Приводим файл сетевого интерфейса, к которому подключен сетевой кабель, /etc/sysconfig/network-scripts/ifcfg-enp1s0 (в вашем случае он может иметь другое имя)к виду:
Строка 167: Строка 168:
 
Перезапускаем службу сети:
 
Перезапускаем службу сети:
  
  #systemctl restart network
+
  # systemctl restart network
  
 
Добавляем группу kvm и в ней пользователя vdsm:
 
Добавляем группу kvm и в ней пользователя vdsm:
  
  #groupadd kvm -g 36
+
  # groupadd kvm -g 36
  #useradd vdsm -u 36 -g kvm
+
  # useradd vdsm -u 36 -g kvm
  
 
Устанавливаем службу NFS:
 
Устанавливаем службу NFS:
  
  #yum -y install nfs-utils
+
  # yum -y install nfs-utils
  
 
Выполняем команды:
 
Выполняем команды:
  
  #systemctl daemon-reload
+
  # systemctl daemon-reload
  #systemctl enable rpcbind.service
+
  # systemctl enable rpcbind.service
  #systemctl enable nfs-server.service
+
  # systemctl enable nfs-server.service
  #systemctl start rpcbind.service
+
  # systemctl start rpcbind.service
  #systemctl start nfs-server.service
+
  # systemctl start nfs-server.service
  
 
Создаем каталоги для NFS хранилища. Данные каталоги должны находиться на разделе, имеющем минимум 60 Гб свободного пространства. В данном случае это раздел /home:
 
Создаем каталоги для NFS хранилища. Данные каталоги должны находиться на разделе, имеющем минимум 60 Гб свободного пространства. В данном случае это раздел /home:
  
  #mkdir -p /home/vdsm/data
+
  # mkdir -p /home/vdsm/data
  #mkdir -p /home/vdsm/export
+
  # mkdir -p /home/vdsm/export
  
 
Добавляем сведения об этих каталогах в файл /etc/exports. Вносим в него строки:
 
Добавляем сведения об этих каталогах в файл /etc/exports. Вносим в него строки:
Строка 198: Строка 199:
 
Выполняем команду:
 
Выполняем команду:
  
  #exportfs -r
+
  # exportfs -r
  
 
Перезагружаем службу NFS:
 
Перезагружаем службу NFS:
  
  #systemctl reload nfs-server.service
+
  # systemctl reload nfs-server.service
  
 
Задаем владельца и группу для созданных каталогов:
 
Задаем владельца и группу для созданных каталогов:
  
  #chown -R 36:36 /home/vdsm/data
+
  # chown -R 36:36 /home/vdsm/data
  #chown -R 36:36 /home/vdsm/export
+
  # chown -R 36:36 /home/vdsm/export
  
 
Задаем необходимые разрешения для созданных каталогов:
 
Задаем необходимые разрешения для созданных каталогов:
  
  #chmod 0755 /home/vdsm/data
+
  # chmod 0755 /home/vdsm/data
  #chmod 0755 /home/vdsm/export
+
  # chmod 0755 /home/vdsm/export
  
  
'''Развертывание'''
+
=='''Развертывание'''==
  
 
Выполняем команду:
 
Выполняем команду:
  
  #hosted-engine --deploy
+
  # hosted-engine --deploy
  
 
На все вопросы отвечаем значениями по умолчанию (жмем Enter), кроме следующих:
 
На все вопросы отвечаем значениями по умолчанию (жмем Enter), кроме следующих:
Строка 248: Строка 249:
  
 
  ''*Необходимо сгенерировать ключ доступа на VM для root:''
 
  ''*Необходимо сгенерировать ключ доступа на VM для root:''
  #ssh-keygen -t rsa  
+
  # ssh-keygen -t rsa  
 
  * no passphrase
 
  * no passphrase
 
  * save file to default location
 
  * save file to default location

Версия 15:05, 13 февраля 2019

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


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

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


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

  • Чистая установка ОС AlterOS 7.5
  • Подготовленные FQDN имена для хоста и виртуальной машины, выполняющей роль Engine. В нашем случае host.as.lan и engine.as.lan соответственно.
  • Записи в зонах прямого и обратного просмотра для этих имен на 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-4.0/
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.as.lan host
192.168.5.56 engine.as.lan engine

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

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

HOSTNAME="host.as.lan"

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

# hostname host.as.lan

Приводим файл сетевого интерфейса, к которому подключен сетевой кабель, /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.as.lan:/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.as.lan
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=as.lan, CN=engine.as.lan.82493, Subject: C=US, O=as.lan, CN=engine.as.lan.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.as.lan/ovirt-engine. (Этот адрес предварительно добавляем в исключения браузера). В качества имени пользователя используем admin, в качества пороля - пароль заданный на стадии развертывания.

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