oVirt en 2 horas. Parte 2. Instalación del gestor y hosts

Este artículo es el siguiente en la serie sobre oVirt, la introducción aquí.

Artículos

  1. Introducción
  2. Instalación del gestor (ovirt-engine) y de hipervisores (hosts) — Estamos aquí
  3. Configuraciones adicionales

Entonces, examinemos las cuestiones de la instalación inicial de los componentes ovirt-engine y ovirt-host.

Los procesos de instalación siempre se pueden ver en más detalle en la documentación.

Contenido

  1. Instalación de ovirt-engine
  2. Instalación de ovirt-host
  3. Añadir un nodo a oVirtN
  4. Configuración de la interfaz de red
  5. Configuración de FC
  6. Configuración de FCoE
  7. Almacenamiento de imágenes ISO
  8. Primera VM

Instalación de ovirt-engine

Para Engine, los requisitos mínimos son 2 núcleos/4 GiB de RAM/25 GiB de almacenamiento. Se recomiendan al menos 4 núcleos/16 GiB de RAM/50 GiB de almacenamiento. Usamos la opción de Gestor Autónomo, donde el engine funciona en una máquina física o virtual dedicada fuera del clúster gestionado. Para nuestra instalación tomaremos una máquina virtual en, por ejemplo, un ESXi* dedicado. Es conveniente utilizar herramientas de automatización de despliegue o clonación a partir de una plantilla preparada anteriormente o instalación kickstart.

*Nota: para un sistema de producción, esto es una mala idea, ya que el gestor funciona sin respaldo y se convierte en un cuello de botella. En este caso, sería mejor considerar la opción de Self-hosted Engine.

Si es necesario, el procedimiento de conversión de Autónomo a Autoalojado se describe en detalle en la documentación. En particular, se le debe dar al host el comando reinstall con soporte para Hosted Engine.

En la VM, instalamos CentOS 7 en configuración mínima, luego actualizamos y reiniciamos el sistema:

$ sudo yum update -y && sudo reboot

Para la máquina virtual, es útil instalar el agente del huésped:

$ sudo yum install open-vm-tools

para hosts de VMware ESXi, o para oVirt:

$ sudo yum install ovirt-guest-agent

Conectamos el repositorio e instalamos el gestor:

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

Configuración básica:

$ sudo engine-setup

En la mayoría de los casos, la configuración predeterminada seleccionada es suficiente; para utilizarla automáticamente, se puede ejecutar la configuración con la opción:

$ sudo engine-setup --accept-defaults

Ahora podemos conectarnos a nuestro nuevo engine en la dirección ovirt.lab.example.com. Aquí aún está vacío, por lo que pasamos a la instalación de hipervisores.

Instalación de ovirt-host

En el host físico, instalamos CentOS 7 en configuración mínima, luego conectamos el repositorio, actualizamos y reiniciamos el sistema:

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

Nota: para la instalación, es conveniente utilizar herramientas de automatización de despliegue o instalación kickstart.

Ejemplo de archivo kickstart
¡Atención! ¡Las particiones existentes se eliminan automáticamente! ¡Tenga cuidado!

# 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

Guarde este archivo, por ejemplo, en ftp.example.com/pub/labkvm.cfg. Para usar el script al iniciar la instalación del sistema operativo, seleccione 'Instalar CentOS 7', habilite el modo de edición de parámetros (tecla Tab) y al final (con un espacio, sin comillas) agregue

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

.
El script de instalación elimina las particiones existentes en /dev/sda, crea nuevas según las recomendaciones del desarrollador (puede verlas después de la instalación con el comando lsblk). El nombre del host se establece como kvm01.lab.example.com (después de la instalación se puede cambiar con el comando hostnamectl set-hostname kvm03.lab.example.com), la obtención de la dirección IP es automática, la zona horaria es moscovita, se añade soporte para el idioma ruso.

Contraseña del usuario root: monteV1DE0, contraseña del usuario mgmt: metroP0!is.
¡Atención! ¡Las particiones existentes se eliminan automáticamente! ¡Tenga cuidado!

Repetimos (o lo realizamos en paralelo) en todos los hosts. Desde el encendido de un servidor 'vacío' hasta su estado listo, teniendo en cuenta 2 cargas prolongadas, se requiere aproximadamente 20 minutos.

Agregar un nodo a oVirt

Se realiza de manera muy simple:

Compute → Hosts → New →…

En el asistente, son obligatorios los campos Nombre (nombre mostrado, por ejemplo, kvm03), Hostname (FQDN, por ejemplo, kvm03.lab.example.com) y la sección Autenticación — usuario root (inmutable) — contraseña o clave pública SSH.

Después de hacer clic en el botón Ok Recibirá el mensaje «No ha configurado la gestión de energía para este host. ¿Está seguro de que desea continuar?». Esto es normal: la gestión de energía la veremos más adelante, después de la conexión exitosa del host. Sin embargo, si las máquinas en las que están instalados los hosts no soportan la gestión (IPMI, iLO, DRAC, etc.), le recomiendo desactivarla: Compute → Clusters → Default → Edit → Fencing Policy → Enable fencing, desmarcar la casilla.

Si el host no tuvo el repositorio de oVirt conectado, la instalación fallará, pero no hay problema: hay que añadirlo, luego presionar Instalar -> Reinstalar.

La conexión del host no toma más de 5-10 minutos.

Configuración de la interfaz de red

Dado que estamos construyendo un sistema tolerante a fallos, la conexión de red también debe proporcionar una conexión redundante, lo cual se realiza en la pestaña Compute → Hosts → HOST → Network Interfaces — Configurar redes del host.

Dependiendo de las capacidades de su equipo de red y enfoques arquitectónicos, son posibles varias opciones. Lo más óptimo es conectarse al stack de conmutadores top-of-rack, para que en caso de fallo, la disponibilidad de red no se interrumpa. Veamos un ejemplo de canal agregado LACP. Para configurar un canal agregado, "tome" con el mouse el segundo adaptador no utilizado y "lleve" al primero. Se abrirá una ventana Crear nuevo vínculo, donde LACP (Modo 4, agregación de enlaces dinámica, 802.3ad) está seleccionado por defecto. En el lado de los conmutadores, se realiza la configuración habitual del grupo LACP. Si no es posible construir un stack de conmutadores, se puede activar el modo Active-Backup (Modo 1). Revisaremos la configuración de VLAN en el siguiente artículo, y en detalle con recomendaciones sobre la configuración de la red en el documento Guía de planificación y requisitos previos.

Configuración de FC

Fibre Channel (FC) se admite "out of the box", su uso no presenta complicaciones. La configuración de la red de almacenamiento, que incluye la configuración de sistemas de almacenamiento y zonificación de conmutadores fabric en el marco de la configuración de oVirt, no la abordaremos.

Configuración de FCoE

A mi parecer, FCoE no ha tenido una amplia difusión en las redes de almacenamiento, pero a menudo se utiliza en servidores como "última milla", p. ej., en HPE Virtual Connect.

La configuración de FCoE requiere pasos adicionales simples.

Configurar el motor FCoE

Artículo en el sitio web de Red Hat B.3. Cómo configurar Red Hat Virtualization Manager para usar FCoE
En el Manager
, con el siguiente comando añadimos la clave al manager y lo reiniciamos:


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

Configurar nodo FCoE

En los oVirt-Hosts, se debe instalar

$ sudo yum install vdsm-hook-fcoe

A continuación, se realiza la configuración habitual de FCoE, artículo en Red Hat: 25.5. Configuración de una interfaz de Fibre Channel sobre Ethernet.

Para Broadcom CNA, además revisamos Guía del usuario sobre la configuración de FCoE para adaptadores basados en Broadcom.

Asegurarse de que los paquetes estén instalados (ya vienen en minimal):

$ sudo yum install fcoe-utils lldpad

A continuación, la configuración en sí (en lugar de ens3f2 y ens3f3, se sustituyen por los nombres de CNA, incluidos en la red de almacenamiento):

$ 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

Importante: si la interfaz de red soporta DCB/DCBX, el parámetro DCB_REQUIRED debe estar establecido en no.

DCB_REQUIRED="yes" → #DCB_REQUIRED="yes"

A continuación, se debe asegurar que el adminStatus esté deshabilitado en todas las interfaces, incluidas las que no tienen FCoE activado:

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

Si hay otras interfaces de red, se puede habilitar LLDP:

$ sudo systemctl start lldpad
$ sudo systemctl enable lldpad

Como se mencionó anteriormente, si se utiliza DCB/DCBX de hardware, la configuración DCB_REQUIRED debe estar habilitada en no y este paso puede ser omitido.

$ 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

Para las interfaces de red, verifique si el inicio automático está habilitado:

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

ONBOOT=yes

Verifique las interfaces FCoE configuradas; la salida del comando no debe estar vacía.

$ sudo fcoeadm -i

La configuración adicional de FCoE se realiza como para el FC normal.

A continuación, se debe configurar los sistemas y la red de almacenamiento: zonificación, hosts SAN, creación y presentación de volúmenes/LUNs, después de lo cual el almacenamiento se puede conectar a los ovirt-hosts: Storage → Domains → New Domain.

La función del dominio se deja como Data, Tipo de almacenamiento — Fibre Channel, Host — cualquiera, nombre — por ejemplo, storNN-volMM.

Seguramente su sistema de almacenamiento admite no solo la reserva de caminos, sino también el balanceo. Muchos sistemas modernos son capaces de transferir datos de manera óptima a través de todos los caminos (ALUA active/active).

Para activar todos los caminos, se debe configurar el multipathing, sobre esto en los siguientes artículos.

La configuración NFS e iSCSI se realiza de manera similar.

Almacenamiento de imágenes ISO

Para instalar el sistema operativo, se necesitarán sus archivos de instalación, que a menudo están disponibles en forma de imágenes ISO. Se puede usar la ruta incorporada, pero para trabajar con imágenes en oVirt se ha desarrollado un tipo de almacenamiento especial — ISO, que se puede dirigir a un servidor NFS. Agregamos eso:

Storage → Domains → New Domain,
Función del Dominio → ISO,
Ruta de Exportación — por ejemplo, mynfs01.example.com:/exports/ovirt-iso (en el momento de la conexión, la carpeta debe estar vacía, el gerente debe tener permiso para escribir en ella),
Nombre — por ejemplo, mynfs01-iso.

Para el almacenamiento de imágenes, el gerente creará una estructura
/exports/ovirt-iso/<some UUID>/images/11111111-1111-1111-1111-111111111111/

Si en nuestro servidor NFS ya hay imágenes ISO, para ahorrar espacio es conveniente enlazarlas en esta carpeta en lugar de copiar los archivos.

Primera VM

En este punto, ya se puede crear la primera máquina virtual, instalar el SO y el software de aplicación.

Compute → Virtual Machines → New

Para la nueva máquina, especifique un nombre (Name), cree un disco (Instance Images → Create) y conecte la interfaz de red (Instantiate VM network interfaces by picking a vNIC profile → seleccionar de la lista por ahora el único ovirtmgmt).

Del lado del cliente, se necesita un navegador moderno y el cliente SPICE para interactuar con la consola.

La primera máquina se ha iniciado con éxito. Sin embargo, para un funcionamiento más completo del sistema, es necesario realizar una serie de configuraciones adicionales, de las que continuaremos hablando en los próximos artículos.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster