oVirt en 2 horas. Parte 3. Configuraciones avanzadas

En este artículo, veremos una serie de configuraciones opcionales pero útiles:


Este artículo es una secuela, comience a ver oVirt en 2 horas Parte 1 y Parte 2 .

Artículos


  1. Introducción
  2. Instalación del gestor (ovirt-engine) e hipervisores (hosts)
  3. Configuración avanzada: estamos aquí
  4. Operaciones básicas

Configuraciones de administrador adicionales


Para mayor comodidad, suministraremos paquetes adicionales:

$ sudo yum install bash-completion vim

Para habilitar el autocompletado, los comandos bash-complete deben cambiarse a bash.


Agregar nombres DNS adicionales


Esto es necesario cuando necesita conectarse al administrador con un nombre alternativo (CNAME, alias o simplemente un nombre corto sin sufijo de dominio). Por razones de seguridad, el administrador solo permite conexiones usando la lista de nombres permitidos.

Crea un archivo de configuración:

$ sudo vim /etc/ovirt-engine/engine.conf.d/99-custom-sso-setup.conf

el siguiente contenido:

SSO_ALTERNATE_ENGINE_FQDNS="ovirt.example.com some.alias.example.com ovirt"

y reinicie el administrador:

$ sudo systemctl restart ovirt-engine


Configurar la autenticación a través de AD


oVirt tiene una base de usuarios integrada, pero también se admiten proveedores externos de LDAP, que incluyen ANUNCIO.

La forma más sencilla para una configuración típica es iniciar el asistente y reiniciar el administrador:

$ sudo yum install ovirt-engine-extension-aaa-ldap-setup
$ sudo ovirt-engine-extension-aaa-ldap-setup
$ sudo systemctl restart ovirt-engine

Ejemplo de mago
$ sudo ovirt-engine-extension-aaa-ldap-setup
Available LDAP implementations:

3 — Active Directory

Please select: 3
Please enter Active Directory Forest name: example.com

Please select protocol to use (startTLS, ldaps, plain) [startTLS]:
Please select method to obtain PEM encoded CA certificate (File, URL, Inline, System, Insecure): URL
URL: wwwca.example.com/myRootCA.pem
Enter search user DN (for example uid=username,dc=example,dc=com or leave empty for anonymous): CN=oVirt-Engine,CN=Users,DC=example,DC=com
Enter search user password: *password*
[ INFO ] Attempting to bind using 'CN=oVirt-Engine,CN=Users,DC=example,DC=com'
Are you going to use Single Sign-On for Virtual Machines (Yes, No) [Yes]:
Please specify profile name that will be visible to users [example.com]:
Please provide credentials to test login flow:
Enter user name: someAnyUser
Enter user password:

[ INFO ] Login sequence executed successfully

Select test sequence to execute (Done, Abort, Login, Search) [Done]:
[ INFO ] Stage: Transaction setup

CONFIGURATION SUMMARY


Usar el asistente es adecuado para la mayoría de los casos. Para configuraciones complejas, las configuraciones son manuales. Lea más en la documentación de oVirt, Usuarios y Roles . Después de conectar con éxito Engine a AD, aparecerá un perfil adicional en la ventana de conexión y en la pestaña Permisos para objetos del sistema: la capacidad de emitir permisos a usuarios y grupos de AD. Cabe señalar que el directorio externo de usuarios y grupos puede ser no solo AD, sino también IPA, eDirectory, etc.


Múltiples rutas


En un entorno de producción, el sistema de almacenamiento debe estar conectado al host mediante varias rutas de E / S múltiples independientes. Como regla, en CentOS (y, por lo tanto, oVirt) no hay problemas con la construcción de múltiples rutas de dispositivos (find_multipaths yes). Las configuraciones adicionales para FCoE se describen en la Parte 2 . Vale la pena prestar atención a la recomendación del fabricante de los sistemas de almacenamiento: muchos recomiendan usar la política de turnos, de forma predeterminada, el servicio Linux se usa en Enterprise Linux 7.

Por ejemplo, 3PAR
HPE 3PAR Red Hat Enterprise Linux, CentOS Linux, Oracle Linux, and OracleVM Server Implementation Guide EL Host Generic-ALUA Persona 2, /etc/multipath.conf :

defaults {
           polling_interval      10
           user_friendly_names   no
           find_multipaths       yes
          }
devices {
          device {
                   vendor                   "3PARdata"
                   product                  "VV"
                   path_grouping_policy     group_by_prio
                   path_selector            "round-robin 0"
                   path_checker             tur
                   features                 "0"
                   hardware_handler         "1 alua"
                   prio                     alua
                   failback                 immediate
                   rr_weight                uniform
                   no_path_retry            18
                   rr_min_io_rq             1
                   detect_prio              yes
                   fast_io_fail_tmo         10
                   dev_loss_tmo             "infinity"
                 }
}

:

systemctl restart multipathd


. 1 — - .


. 2 — - .


Configuración de administración de energía


Le permite realizar, por ejemplo, un reinicio de hardware de la máquina, si el motor no puede recibir una respuesta del host durante mucho tiempo. Implementado a través del Fence Agent.

Compute -> Hosts -> HOST - Edit -> Power Management, luego habilite "Enable Power Management" y agregue el agente - "Add Fence Agent" -> + .

Indicamos el tipo (por ejemplo, ilo4 debe especificarse para iLO5), el nombre / dirección de la interfaz ipmi, así como el nombre de usuario / contraseña. Se recomienda que cree un usuario separado (por ejemplo, oVirt-PM) y, en el caso de iLO, le otorgue privilegios:

  • Iniciar sesión
  • Consola remota
  • Potencia virtual y reinicio
  • Medios virtuales
  • Configure los ajustes de iLO
  • Administrar cuentas de usuario

No pregunte por qué, se elige empíricamente. El agente de protección de consola requiere un conjunto de derechos más pequeño.

Al configurar listas de control de acceso, debe tenerse en cuenta que el agente no se ejecuta en el motor, sino en el host "vecino" (el denominado Proxy de administración de energía), es decir, si solo hay un nodo en el clúster, la administración de energía no funcionará .


Configuración SSL


Las instrucciones oficiales completas se encuentran en la documentación , Apéndice D: oVirt y SSL - Reemplazar el Certificado SSL / TLS de oVirt Engine.

El certificado puede ser de nuestra CA corporativa o de una autoridad de certificación comercial externa.

Nota importante: el certificado está diseñado para conectarse con el administrador, no afectará la interacción entre Engine y los nodos; utilizarán certificados autofirmados emitidos por Engine.

Requisitos:

  • certificado de la CA emisora ​​en formato PEM, con toda la cadena a la CA raíz (desde el emisor subordinado al principio hasta la raíz al final);
  • Certificado de Apache emitido por la CA emisora ​​(también complementado por toda la cadena de certificados de CA)
  • clave privada para Apache, sin contraseña.

Supongamos que nuestra autoridad de certificación de publicación ejecuta CentOS, llamada subca.example.com, y las solicitudes, claves y certificados se encuentran en el directorio / etc / pki / tls /.

Realizamos copias de seguridad y creamos un directorio temporal:

$ sudo cp /etc/pki/ovirt-engine/keys/apache.key.nopass /etc/pki/ovirt-engine/keys/apache.key.nopass.`date +%F`
$ sudo cp /etc/pki/ovirt-engine/certs/apache.cer /etc/pki/ovirt-engine/certs/apache.cer.`date +%F`
$ sudo mkdir /opt/certs
$ sudo chown mgmt.mgmt /opt/certs

Descargue certificados, ejecútelos desde nuestra estación de trabajo o transfiéralos de otra manera conveniente:

[myuser@mydesktop] $ scp -3 causer@subca.example.com:/etc/pki/tls/cachain.pem mgmt@ovirt.example.com:/opt/certs
[myuser@mydesktop] $ scp -3 causer@subca.example.com:/etc/pki/tls/private/ovirt.key mgmt@ovirt.example.com:/opt/certs
[myuser@mydesktop] $ scp -3 causer@subca.example.com/etc/pki/tls/certs/ovirt.crt mgmt@ovirt.example.com:/opt/certs

Como resultado, debería ver los 3 archivos:

$ ls /opt/certs
cachain.pem  ovirt.crt  ovirt.key

Instalación de certificado


Copiamos archivos y actualizamos listas de confianza:

$ sudo cp /opt/certs/cachain.pem /etc/pki/ca-trust/source/anchors
$ sudo update-ca-trust
$ sudo rm /etc/pki/ovirt-engine/apache-ca.pem
$ sudo cp /opt/certs/cachain.pem /etc/pki/ovirt-engine/apache-ca.pem
$ sudo cp /opt/certs/ovirt03.key /etc/pki/ovirt-engine/keys/apache.key.nopass
$ sudo cp /opt/certs/ovirt03.crt /etc/pki/ovirt-engine/certs/apache.cer
$ sudo systemctl restart httpd.service

Agregar / actualizar archivos de configuración:

$ sudo vim /etc/ovirt-engine/engine.conf.d/99-custom-truststore.conf

ENGINE_HTTPS_PKI_TRUST_STORE="/etc/pki/java/cacerts"
ENGINE_HTTPS_PKI_TRUST_STORE_PASSWORD=""

$ sudo vim /etc/ovirt-engine/ovirt-websocket-proxy.conf.d/10-setup.conf

SSL_CERTIFICATE=/etc/pki/ovirt-engine/certs/apache.cer
SSL_KEY=/etc/pki/ovirt-engine/keys/apache.key.nopass

$ sudo vim /etc/ovirt-imageio-proxy/ovirt-imageio-proxy.conf

# Key file for SSL connections
ssl_key_file = /etc/pki/ovirt-engine/keys/apache.key.nopass
# Certificate file for SSL connections
ssl_cert_file = /etc/pki/ovirt-engine/certs/apache.cer

A continuación, reiniciamos todos los servicios afectados:

$ sudo systemctl restart ovirt-provider-ovn.service
$ sudo systemctl restart ovirt-imageio-proxy
$ sudo systemctl restart ovirt-websocket-proxy
$ sudo systemctl restart ovirt-engine.service

¡Hecho! Es hora de conectarse con el administrador y verificar que la conexión esté protegida por un certificado SSL firmado.


Archivado


Donde sin ella! En esta sección, discutiremos el archivado del administrador; el archivado de VM es un tema aparte. Haremos copias de archivo una vez al día y lo pondremos en NFS, por ejemplo, en el mismo sistema donde colocamos las imágenes ISO: mynfs01.example.com:/exports/ovirt-backup. No se recomienda almacenar archivos en la misma máquina donde se está ejecutando Engine.

Instalar y habilitar autofs:

$ sudo yum install autofs
$ sudo systemctl enable autofs
$ sudo systemctl start autofs

Crea un script:

$ sudo vim /etc/cron.daily/make.oVirt.backup.sh

el siguiente contenido:

#!/bin/bash

datetime=`date +"%F.%R"`
backupdir="/net/mynfs01.example.com/exports/ovirt-backup"
filename="$backupdir/`hostname --short`.`date +"%F.%R"`"
engine-backup --mode=backup --scope=all --file=$filename.data --log=$filename.log
#uncomment next line for autodelete files older 30 days 
#find $backupdir -type f -mtime +30 -exec rm -f {} \;

Hacemos que el archivo sea ejecutable:

$ sudo chmod a+x /etc/cron.daily/make.oVirt.backup.sh

Ahora cada noche recibiremos el archivo de configuración del administrador.


Interfaz de administración de host


Cockpit es una interfaz administrativa moderna para sistemas Linux. En este caso, juega un papel cercano a la interfaz web de ESXi.

imagen
Higo. 3 - apariencia del panel.

Se instala de manera muy simple, necesita paquetes de cabina y el complemento cockpit-ovirt-dashboard:

$ sudo yum install cockpit cockpit-ovirt-dashboard -y

Encendido de la cabina:

$ sudo systemctl enable --now cockpit.socket

Configuración del cortafuegos:

sudo firewall-cmd --add-service=cockpit
sudo firewall-cmd --add-service=cockpit --permanent

Ahora puede conectarse al host: https: // [Host IP o FQDN]: 9090


VLAN


Lea más sobre redes en la documentación . Hay muchas posibilidades, aquí describimos la conexión de redes virtuales.

Para conectar otras subredes, primero deben describirse en la configuración: Red -> Redes -> Nuevo, aquí solo el nombre es un campo obligatorio; la casilla de verificación VM Network, que permite que las máquinas usen esta red, está activada y para conectar la etiqueta, habilitar Habilitar etiquetado de VLAN , ingrese el número de VLAN y haga clic en Aceptar.

Ahora debe ir a Compute -> Hosts -> kvmNN -> Network Interfaces -> Setup Host Networks hosts. Arrastre la red agregada desde el lado derecho de Redes lógicas no asignadas hacia la izquierda en Redes lógicas asignadas:


Fig. 4 - antes de agregar una red.


Higo. 5 - después de agregar una red.

Para conectar varias redes al host de forma masiva, es conveniente asignarles una etiqueta (s) al crear redes y agregar redes por etiquetas.

Una vez creada la red, los hosts pasarán al estado No operativo hasta que la red se agregue a todos los nodos del clúster. Este comportamiento se debe al indicador Requerir todo en la pestaña Clúster al crear una nueva red. En el caso de que la red no sea necesaria en todos los nodos del clúster, este síntoma se puede deshabilitar, luego la red cuando se agregue al host estará a la derecha en la sección No requerida y usted puede elegir si conectarla a un host específico.


Higo. 6 - selección de un signo de un requisito de red.


HPE específico


Casi todos los fabricantes tienen herramientas que aumentan la usabilidad de sus productos. Usando el ejemplo de HPE, son útiles AMS (Servicio de administración sin agente, amsd para iLO5, hp-ams para iLO4) y SSA (Administrador de almacenamiento inteligente, trabajando con un controlador de disco), etc.

Conecte el repositorio HPE
HPE:

$ sudo rpm --import https://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub
$ sudo vim /etc/yum.repos.d/mcp.repo

:

[mcp]
name=Management Component Pack
baseurl=http://downloads.linux.hpe.com/repo/mcp/centos/$releasever/$basearch/current/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/GPG-KEY-mcp

[spp]
name=Service Pack for ProLiant
baseurl=http://downloads.linux.hpe.com/SDR/repo/spp/RHEL/$releasever/$basearch/current/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/GPG-KEY-mcp

():

$ sudo yum --disablerepo="*" --enablerepo="mcp" list available
$ yum info amsd


Instalación y lanzamiento:

$ sudo yum install amsd ssacli
$ sudo systemctl start amsd

Un ejemplo de una utilidad de controlador de disco


Eso es todo por ahora. En los siguientes artículos planeo contar algunas operaciones y aplicaciones básicas. Por ejemplo, cómo hacer VDI en oVirt.

All Articles