Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Este artículo es una continuación del anterior - “Creación de infraestructura de TI tolerante a fallos. Parte 1: preparación para implementar un clúster oVirt 4.3".

Cubrirá el proceso de instalación y configuración básica de un cluster oVirt 4.3 para alojar máquinas virtuales de alta disponibilidad, teniendo en cuenta que todos los pasos preliminares para la preparación de la infraestructura ya se han completado previamente.

Prólogo

El objetivo principal del artículo es proporcionar instrucciones paso a paso como “Siguiente -> -> Acabado"cómo mostrar algunas características al instalarlo y configurarlo. El proceso de despliegue de tu cluster puede no siempre coincidir con el descrito en el mismo, debido a las características de la infraestructura y el entorno, pero los principios generales serán los mismos.

Desde un punto de vista subjetivo, oVirt 4.3 su funcionalidad es similar a VMware vSphere versión 5.x, pero por supuesto con sus propias características de configuración y funcionamiento.

Para aquellos interesados, todas las diferencias entre RHEV (también conocido como oVirt) y VMware vSphere se pueden encontrar en Internet, por ejemplo. aquí, pero de vez en cuando notaré algunas de sus diferencias o similitudes entre sí a medida que avance el artículo.

Por separado, me gustaría comparar un poco el trabajo con redes para máquinas virtuales. oVirt implementa un principio similar de gestión de red para máquinas virtuales (en lo sucesivo, VM), como en VMware vSphere:

  • usando un puente Linux estándar (en VMware - Interruptor virtual estándar), ejecutándose en hosts de virtualización;
  • usando Open vSwitch (OVS) (en VMware - vSwitch distribuido) es un conmutador virtual distribuido que consta de dos componentes principales: un servidor OVN central y controladores OVN en hosts administrados.

Cabe señalar que debido a la facilidad de implementación, el artículo describirá la configuración de redes en oVirt para una VM usando un puente Linux estándar, que es la opción estándar cuando se usa el hipervisor KVM.

En este sentido, existen varias reglas básicas para trabajar con la red en un clúster, que es mejor no violar:

  • Todas las configuraciones de red en los hosts antes de agregarlos a oVirt deben ser idénticas, excepto las direcciones IP.
  • Una vez que un host ha sido tomado bajo el control de oVirt, no se recomienda cambiar nada manualmente en la configuración de red sin tener total confianza en sus acciones, ya que el agente de oVirt simplemente los revertirá a los anteriores después de reiniciar el host o agente.
  • Agregar una nueva red para una VM, así como trabajar con ella, solo debe realizarse desde la consola de administración de oVirt.

Otro nota importante — para un entorno muy crítico (muy sensible a las pérdidas monetarias), aún así se recomendaría utilizar soporte pago y utilizar Virtualización de Red Hat 4.3. Durante el funcionamiento del clúster oVirt, pueden surgir algunos problemas para los cuales es recomendable recibir ayuda calificada lo antes posible, en lugar de solucionarlos usted mismo.

Y finalmente recomendado Antes de implementar un clúster oVirt, familiarícese con documentación oficial, para conocer al menos los conceptos y definiciones básicos, de lo contrario será un poco difícil leer el resto del artículo.

Básicos para comprender el artículo y los principios de funcionamiento del clúster oVirt son estos documentos de orientación:

El volumen no es muy grande, en una o dos horas puedes dominar bastante los principios básicos, pero para quienes gustan de los detalles, se recomienda leer. Documentación del producto para Red Hat Virtualization 4.3 - RHEV y oVirt son esencialmente lo mismo.

Entonces, si se han completado todas las configuraciones básicas en los hosts, conmutadores y sistemas de almacenamiento, procedemos directamente a la implementación de oVirt.

Parte 2. Instalación y configuración del clúster oVirt 4.3

Para facilitar la orientación, enumeraré las secciones principales de este artículo, que deben completarse una por una:

  1. Instalación del servidor de gestión oVirt
  2. Creación de un nuevo centro de datos.
  3. Creando un nuevo clúster
  4. Instalación de hosts adicionales en un entorno autohospedado
  5. Crear un área de almacenamiento o dominios de almacenamiento
  6. Creación y configuración de redes para máquinas virtuales.
  7. Crear una imagen de instalación para implementar una máquina virtual
  8. Crear una máquina virtual

Instalación del servidor de gestión oVirt

Servidor de gestión oVirt es el elemento más importante de la infraestructura de oVirt, en forma de máquina virtual, host o dispositivo virtual que gestiona toda la infraestructura de oVirt.

Sus análogos cercanos del mundo de la virtualización son:

  • VMware vSphere - servidor vCenter
  • Microsoft Hyper-V: Administrador de máquinas virtuales de System Center (VMM).

Para instalar el servidor de gestión oVirt, tenemos dos opciones:

1 opción
Implementar un servidor en forma de máquina virtual o host especializado.

Esta opción funciona bastante bien, pero siempre que dicha VM funcione independientemente del clúster, es decir. no se ejecuta en ningún host de clúster como una máquina virtual normal que ejecuta KVM.

¿Por qué no se puede implementar una máquina virtual de este tipo en hosts de clúster?

Al comienzo del proceso de implementación del servidor de administración oVirt, tenemos un dilema: necesitamos instalar una VM de administración, pero en realidad todavía no existe un clúster y, por lo tanto, ¿qué se nos ocurre sobre la marcha? Así es: instale KVM en un futuro nodo del clúster, luego cree una máquina virtual en él, por ejemplo, con CentOS OS e implemente el motor oVirt en él. Por lo general, esto se puede hacer por razones de control total sobre dicha máquina virtual, pero es una intención equivocada, porque en este caso, en el futuro habrá un 100% de problemas con dicha máquina virtual de control:

  • no se puede migrar en la consola oVirt entre hosts (nodos) del clúster;
  • al migrar usando KVM a través de virsh migrar, esta VM no estará disponible para su administración desde la consola oVirt.
  • Los hosts del clúster no se pueden mostrar en Modo de mantenimiento (modo de mantenimiento), si migra esta VM de un host a otro usando virsh migrar.

Así que haga todo de acuerdo con las reglas: use un host separado para el servidor de administración oVirt o una máquina virtual independiente que se ejecute en él, o mejor aún, haga lo que está escrito en la segunda opción.

2 opción
Instalación de oVirt Engine Appliance en un host de clúster administrado por él.

Es esta opción la que se considerará más correcta y adecuada en nuestro caso.
Los requisitos para dicha máquina virtual se describen a continuación; solo agregaré que se recomienda tener al menos dos hosts en la infraestructura en los que se pueda ejecutar la máquina virtual de control para que sea tolerante a fallas. Aquí me gustaría agregar que, como ya escribí en los comentarios del artículo anterior, nunca pude conseguir cerebro dividido en un clúster oVirt de dos hosts, con la capacidad de ejecutar máquinas virtuales con motor alojado en ellos.

Instalación de oVirt Engine Appliance en el primer host del clúster

Enlace a la documentación oficial - Guía del motor autohospedado oVirt, capítulo "Implementación del motor autohospedado mediante la línea de comando»

El documento especifica los requisitos previos que se deben cumplir antes de implementar una máquina virtual con motor alojado y también describe en detalle el proceso de instalación en sí, por lo que no tiene mucho sentido repetirlo palabra por palabra, por lo que nos centraremos en algunos detalles importantes.

  • Antes de comenzar todas las acciones, asegúrese de habilitar la compatibilidad con virtualización en la configuración del BIOS del host.
  • Instale el paquete para el instalador del motor alojado en el host:

yum -y install http://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm 
yum -y install epel-release
yum install screen ovirt-hosted-engine-setup

  • Comenzamos el procedimiento para implementar oVirt Hosted Engine en la pantalla del host (puede salir con Ctrl-A + D, cerrar con Ctrl-D):

screen
hosted-engine --deploy

Si lo desea, puede ejecutar la instalación con un archivo de respuesta preparado previamente:

hosted-engine --deploy --config-append=/var/lib/ovirt-hosted-engine-setup/answers/answers-ohe.conf

  • Al implementar el motor alojado, especificamos todos los parámetros necesarios:

- имя кластера
- количество vCPU и vRAM (рекомендуется 4 vCPU и 16 Гб)
- пароли
- тип хранилища для hosted engine ВМ – в нашем случае FC
- номер LUN для установки hosted engine
- где будет находиться база данных для hosted engine – рекомендую для простоты выбрать Local (это БД PostgreSQL работающая внутри этой ВМ)
и др. параметры. 

  • Para instalar una máquina virtual de alta disponibilidad con un motor alojado, previamente creamos un LUN especial en el sistema de almacenamiento, número 4 y 150 GB de tamaño, que luego se presentó a los hosts del clúster; consulte artículo anterior.

Anteriormente también comprobamos su visibilidad en los hosts:

multipath -ll
…
3600a098000e4b4b3000003c95d171065 dm-3 DELL    , MD38xxf
size=150G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 15:0:0:4  sdc 8:32  active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 18:0:0:4  sdj 8:144 active ready running

  • El proceso de implementación del motor alojado en sí no es complicado; al final deberíamos recibir algo como esto:

[ INFO  ] Generating answer file '/var/lib/ovirt-hosted-engine-setup/answers/answers-20191129131846.conf'
[ INFO  ] Generating answer file '/etc/ovirt-hosted-engine/answers.conf'
[ INFO  ] Stage: Pre-termination
[ INFO  ] Stage: Termination
[ INFO  ] Hosted Engine successfully deployed

Comprobamos la presencia de servicios oVirt en el host:

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Si todo se hizo correctamente, una vez completada la instalación, use un navegador web para ir a https://ovirt_hostname/ovirt-engine desde la computadora del administrador y haga clic en [Portal de administración].

Captura de pantalla del “Portal de administración”

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Al ingresar el nombre de usuario y la contraseña (establecidos durante el proceso de instalación) en la ventana como en la captura de pantalla, accedemos al panel de control de Open Virtualization Manager, en el que puede realizar todas las acciones con la infraestructura virtual:

  1. agregar centro de datos
  2. agregar y configurar un clúster
  3. agregar y administrar hosts
  4. agregar áreas de almacenamiento o dominios de almacenamiento para discos de máquinas virtuales
  5. agregar y configurar redes para máquinas virtuales
  6. agregar y administrar máquinas virtuales, imágenes de instalación, plantillas de VM

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Todas estas acciones se comentarán más a fondo, algunas en grandes celdas, otras con más detalle y con matices.
Pero primero recomendaría leer este complemento, que probablemente será de utilidad para muchos.

Adición

1) En principio, si existe tal necesidad, nada le impide instalar el hipervisor KVM en los nodos del clúster de antemano utilizando paquetes. libvirt и qemu-kvm (o qemu-kvm-ev) de la versión deseada, aunque al implementar un nodo del clúster oVirt, puede hacerlo él mismo.

Pero si libvirt и qemu-kvm Si no ha instalado la última versión, es posible que reciba el siguiente error al implementar un motor alojado:

error: unsupported configuration: unknown CPU feature: md-clear

Aquellos. debe tener Versión actualizada libvirt con protección de MDS, que apoya esta política:

<feature policy='require' name='md-clear'/>

Instale libvirt v.4.5.0-10.el7_6.12, con soporte md-clear:

yum-config-manager --disable mirror.centos.org_centos-7_7_virt_x86_64_libvirt-latest_

yum install centos-release-qemu-ev
yum update
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer libguestfs libguestfs-tools dejavu-lgc-sans-fonts virt-top libvirt libvirt-python libvirt-client

systemctl enable libvirtd
systemctl restart libvirtd && systemctl status libvirtd

Verifique el soporte para 'md-clear':

virsh domcapabilities kvm | grep require
      <feature policy='require' name='ss'/>
      <feature policy='require' name='hypervisor'/>
      <feature policy='require' name='tsc_adjust'/>
      <feature policy='require' name='clflushopt'/>
      <feature policy='require' name='pku'/>
      <feature policy='require' name='md-clear'/>
      <feature policy='require' name='stibp'/>
      <feature policy='require' name='ssbd'/>
      <feature policy='require' name='invtsc'/>

Después de esto, puede continuar instalando el motor alojado.

2) En oVirt 4.3, la presencia y uso de un firewall firewalld es un requisito obligatorio.

Si durante la implementación de una VM para motor alojado recibimos el siguiente error:

[ ERROR ] fatal: [localhost]: FAILED! => {"changed": false, "msg": "firewalld is required to be enabled and active in order to correctly deploy hosted-engine. Please check, fix accordingly and re-deploy.n"}
[ ERROR ] Failed to execute stage 'Closing up': Failed executing ansible-playbook
[https://bugzilla.redhat.com/show_bug.cgi?id=1608467

Luego debe desactivar otro firewall (si se usa) e instalarlo y ejecutarlo. firewalld:

yum install firewalld
systemctl enable firewalld
systemctl start firewalld

firewall-cmd --state
firewall-cmd --get-default-zone
firewall-cmd --get-active-zones
firewall-cmd --get-zones

Posteriormente, al instalar el agente ovirt en un nuevo host para el clúster, configurará los puertos requeridos en firewalld automáticamente

3) Reiniciar un host con una VM ejecutándose con un motor alojado.

Como siempre Enlace 1 и Enlace 2 a los documentos rectores.

Toda la gestión de la máquina virtual del motor alojado se realiza ÚNICAMENTE mediante el comando motor alojado en el host donde se ejecuta, aproximadamente Virsh debemos olvidar, además del hecho de que puedes conectarte a esta VM vía SSH y ejecutar el comando “cierre".

Procedimiento para poner una VM en modo de mantenimiento:

hosted-engine --set-maintenance --mode=global

hosted-engine --vm-status
!! Cluster is in GLOBAL MAINTENANCE mode !!
--== Host host1.test.local (id: 1) status ==--
conf_on_shared_storage             : True
Status up-to-date                  : True
Hostname                           : host1.test.local
Host ID                            : 1
Engine status                      : {"health": "good", "vm": "up", "detail": "Up"}
Score                              : 3400
stopped                            : False
Local maintenance                  : False
crc32                              : dee1a774
local_conf_timestamp               : 1821
Host timestamp                     : 1821
Extra metadata (valid at timestamp):
        metadata_parse_version=1
        metadata_feature_version=1
        timestamp=1821 (Sat Nov 29 14:25:19 2019)
        host-id=1
        score=3400
        vm_conf_refresh_time=1821 (Sat Nov 29 14:25:19 2019)
        conf_on_shared_storage=True
        maintenance=False
        state=GlobalMaintenance
        stopped=False

hosted-engine --vm-shutdown

Reiniciamos el host con el agente del motor alojado y hacemos lo que necesitamos con él.

Después del reinicio, verifique el estado de la VM con el motor alojado:

hosted-engine --vm-status

Si nuestra VM con motor alojado no se inicia y si vemos errores similares en el registro de servicio:

Error en el registro de servicio:

journalctl -u ovirt-ha-agent
...
Jun 29 14:34:44 host1 journal: ovirt-ha-agent ovirt_hosted_engine_ha.agent.hosted_engine.HostedEngine ERROR Failed to start necessary monitors
Jun 29 14:34:44 host1 journal: ovirt-ha-agent ovirt_hosted_engine_ha.agent.agent.Agent ERROR Traceback (most recent call last):#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/agent.py", line 131, in _run_agent#012    return action(he)#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/agent.py", line 55, in action_proper#012    return he.start_monitoring()#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/hosted_engine.py", line 413, in start_monitoring#012    self._initialize_broker()#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/hosted_engine.py", line 537, in _initialize_broker#012    m.get('options', {}))#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/lib/brokerlink.py", line 86, in start_monitor#012    ).format(t=type, o=options, e=e)#012RequestError: brokerlink - failed to start monitor via ovirt-ha-broker: [Errno 2] No such file or directory, [monitor: 'ping', options: {'addr': '172.20.32.32'}]
Jun 29 14:34:44 host1 journal: ovirt-ha-agent ovirt_hosted_engine_ha.agent.agent.Agent ERROR Trying to restart agent

Luego conectamos el almacenamiento y reiniciamos el agente:

hosted-engine --connect-storage
systemctl restart ovirt-ha-agent
systemctl status ovirt-ha-agent

hosted-engine --vm-start
hosted-engine --vm-status

Luego de iniciar la VM con hosting-engine, la sacamos del modo de mantenimiento:

Procedimiento para eliminar una VM del modo de mantenimiento:

hosted-engine --check-liveliness
hosted-engine --set-maintenance --mode=none
hosted-engine --vm-status

--== Host host1.test.local (id: 1) status ==--

conf_on_shared_storage             : True
Status up-to-date                  : True
Hostname                           : host1.test.local
Host ID                            : 1
Engine status                      : {"health": "good", "vm": "up", "detail": "Up"}
Score                              : 3400
stopped                            : False
Local maintenance                  : False
crc32                              : 6d1eb25f
local_conf_timestamp               : 6222296
Host timestamp                     : 6222296
Extra metadata (valid at timestamp):
        metadata_parse_version=1
        metadata_feature_version=1
        timestamp=6222296 (Fri Jan 17 11:40:43 2020)
        host-id=1
        score=3400
        vm_conf_refresh_time=6222296 (Fri Jan 17 11:40:43 2020)
        conf_on_shared_storage=True
        maintenance=False
        state=EngineUp
        stopped=False

4) Eliminando el motor alojado y todo lo asociado con él.

A veces es necesario eliminar correctamente un motor alojado previamente instalado. enlace al documento de orientación.

Simplemente ejecute el comando en el host:

/usr/sbin/ovirt-hosted-engine-cleanup

A continuación, eliminamos los paquetes innecesarios y hacemos una copia de seguridad de algunas configuraciones anteriores, si es necesario:

yum autoremove ovirt* qemu* virt* libvirt* libguestfs 

Creación de un nuevo centro de datos.

Documentación de referencia: Guía de administración de oVirt. Capítulo 4: Centros de datos

Primero definamos qué es centro de datos (Cito de la ayuda) es una entidad lógica que define un conjunto de recursos utilizados en un entorno específico.

Un centro de datos es una especie de contenedor que consta de:

  • Recursos lógicos en forma de clusters y hosts.
  • recursos de red de clúster en forma de redes lógicas y adaptadores físicos en hosts,
  • recursos de almacenamiento (para discos de VM, plantillas, imágenes) en forma de áreas de almacenamiento (dominios de almacenamiento).

Un centro de datos puede incluir múltiples clústeres que constan de múltiples hosts con máquinas virtuales ejecutándose en ellos, y también puede tener múltiples áreas de almacenamiento asociadas.
Puede haber varios centros de datos; funcionan de forma independiente unos de otros. Ovirt tiene una separación de poderes por roles y puedes configurar permisos de forma individual, tanto a nivel del centro de datos como en sus elementos lógicos individuales.

El centro de datos, o los centros de datos si son varios, se gestionan desde una única consola o portal administrativo.

Para crear un centro de datos, vaya al portal administrativo y cree un nuevo centro de datos:
Calcular >> Centros de datos >> Nuevo

Dado que utilizamos almacenamiento compartido en el sistema de almacenamiento, el Tipo de almacenamiento debe ser Compartido:

Captura de pantalla del asistente de creación del centro de datos

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Al instalar una máquina virtual con motor alojado, se crea un centro de datos de forma predeterminada. Centro de datos1y luego, si es necesario, puede cambiar su Tipo de almacenamiento a otro.

Crear un centro de datos es una tarea sencilla, sin matices complicados, y todas las acciones adicionales se describen en la documentación. Lo único que señalaré es que los hosts individuales que solo tienen almacenamiento local (disco) para VM no podrán ingresar a un centro de datos con Tipo de almacenamiento: Compartido (no se pueden agregar allí), y para ellos es necesario crear un centro de datos separado, es decir Cada host individual con almacenamiento local necesita su propio centro de datos independiente.

Creando un nuevo clúster

Enlace a la documentación - Guía de administración de oVirt. Capítulo 5: Clústeres

Sin detalles innecesarios, grupo – esta es una agrupación lógica de hosts que tienen un área de almacenamiento común (en forma de discos compartidos en un sistema de almacenamiento, como en nuestro caso). También es deseable que los hosts del clúster sean idénticos en hardware y tengan el mismo tipo de procesador (Intel o AMD). Por supuesto, lo mejor es que los servidores del clúster sean completamente idénticos.

El cluster es parte de un centro de datos (con un tipo específico de almacenamiento - Local o Compartido), y todos los hosts deben pertenecer a algún tipo de clúster, dependiendo de si tienen almacenamiento compartido o no.

Al instalar una máquina virtual con un motor alojado en un host, se crea un centro de datos de forma predeterminada: Centro de datos1, junto con el clúster – Clúster1, y en el futuro podrá configurar sus parámetros, habilitar opciones adicionales, agregarle hosts, etc.

Como es habitual, para obtener detalles sobre todas las configuraciones del clúster, es recomendable consultar la documentación oficial. De algunas de las características de configurar un clúster, solo agregaré que al crearlo, basta con configurar solo los parámetros básicos en la pestaña General.

Notaré los parámetros más importantes:

  • tipo de procesador — se selecciona en función de qué procesadores están instalados en los hosts del clúster, de qué fabricante son y qué procesador de los hosts es el más antiguo, de modo que, dependiendo de esto, se utilizan todas las instrucciones de procesador disponibles en el clúster.
  • Tipo de interruptor – en nuestro cluster solo usamos el puente Linux, por eso lo elegimos.
  • Tipo de cortafuegos – Aquí todo está claro, esto es firewalld, que debe estar habilitado y configurado en los hosts.

Captura de pantalla con parámetros del clúster

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Instalación de hosts adicionales en un entorno autohospedado

Enlace para documentación.

Los hosts adicionales para un entorno autohospedado se agregan de la misma manera que un host normal, con el paso adicional de implementar una máquina virtual con un motor alojado: Elija la acción de implementación del motor alojado >> Despliegue. Dado que al host adicional también se le debe presentar un LUN para una VM con un motor alojado, esto significa que este host puede, si es necesario, usarse para alojar una VM con un motor alojado.
Para fines de tolerancia a fallos, se recomienda encarecidamente que haya al menos dos hosts en los que se pueda colocar una máquina virtual de motor alojada.

En el host adicional, deshabilite iptables (si está habilitado), habilite firewalld

systemctl stop iptables
systemctl disable iptables

systemctl enable firewalld
systemctl start firewalld

Instale la versión de KVM requerida (si es necesario):

yum-config-manager --disable mirror.centos.org_centos-7_7_virt_x86_64_libvirt-latest_

yum install centos-release-qemu-ev
yum update
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer libguestfs libguestfs-tools dejavu-lgc-sans-fonts virt-top libvirt libvirt-python libvirt-client

systemctl enable libvirtd
systemctl restart libvirtd && systemctl status libvirtd

virsh domcapabilities kvm | grep md-clear

Instale los repositorios necesarios y el instalador del motor alojado:

yum -y install http://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
yum -y install epel-release
yum update
yum install screen ovirt-hosted-engine-setup

Luego, ve a la consola. Abrir administrador de virtualización, agregue un nuevo host y haga todo paso a paso, como está escrito en documentación.

Como resultado, después de agregar un host adicional, deberíamos obtener algo como la imagen en la consola administrativa, como en la captura de pantalla.

Captura de pantalla del portal administrativo - hosts

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

El host en el que está activa actualmente la VM del motor alojado tiene una corona dorada y la inscripción "Ejecución de la máquina virtual del motor alojado", el host en el que se puede iniciar esta VM si es necesario: la inscripción "Puede ejecutar la máquina virtual del motor alojado".

En caso de una falla del host en la que "Ejecución de la máquina virtual del motor alojado", se reiniciará automáticamente en el segundo host. Esta VM también se puede migrar del host activo al host en espera para su mantenimiento.

Configuración de administración de energía/cercado en hosts oVirt

Enlaces de documentación:

Si bien puede parecer que ya ha terminado de agregar y configurar un host, eso no es del todo cierto.
Para el funcionamiento normal de los hosts y para identificar/resolver fallas con cualquiera de ellos, se requieren configuraciones de administración de energía/cercado.

Esgrima, o vallado, es el proceso de excluir temporalmente un host defectuoso o fallido del clúster, durante el cual se reinician los servicios oVirt en él o el host mismo.

Todos los detalles sobre las definiciones y parámetros de Administración de energía/cercado se brindan, como es habitual, en la documentación; solo daré un ejemplo de cómo configurar este importante parámetro, aplicado a los servidores Dell R640 con iDRAC 9.

  1. Vaya al portal administrativo, haga clic Calcular >> Tu guía seleccione un anfitrión.
  2. Hacemos clic Editar.
  3. Haga clic en la pestaña Administración de energía.
  4. Marque la casilla junto a la opción Habilitar administración de energía.
  5. Marque la casilla junto a la opción Integración de Kdumppara evitar que el host entre en modo de protección mientras graba un volcado de memoria del kernel.

Nota.

Después de habilitar la integración de Kdump en un host que ya se está ejecutando, se debe reinstalar de acuerdo con el procedimiento en la Guía de administración de oVirt -> Capítulo 7: Anfitriones -> Reinstalación de hosts.

  1. Opcionalmente, puede marcar la casilla Deshabilitar el control de políticas de administración de energía, si no queremos que la política de programación del clúster controle la administración de energía del host.
  2. Clic en el botón (+) para agregar un nuevo dispositivo de administración de energía, se abrirá la ventana de edición de propiedades del agente.
    Para iDRAC9, complete los campos:

    • Dirección – Dirección de iDRAC9
    • Usuario Contraseña – nombre de usuario y contraseña para iniciar sesión en iDRAC9, respectivamente
    • Tipo de Propiedad —drac5
    • marca Seguro
    • agregue las siguientes opciones: cmd_prompt=>,login_timeout=30

Captura de pantalla con parámetros de "Administración de energía" en las propiedades del host

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Crear un área de almacenamiento o dominios de almacenamiento

Enlace a la documentación - Guía de administración de oVirt, Capítulo 8: Almacenamiento.

Dominio de almacenamiento, o área de almacenamiento, es una ubicación centralizada para almacenar discos de máquinas virtuales, imágenes de instalación, plantillas e instantáneas.

Las áreas de almacenamiento se pueden conectar al centro de datos mediante varios protocolos, sistemas de archivos de red y clústeres.

oVirt tiene tres tipos de área de almacenamiento:

  • Dominio de datos – para almacenar todos los datos asociados con las máquinas virtuales (discos, plantillas). Data Domain no se puede compartir entre diferentes centros de datos.
  • Dominio ISO (tipo obsoleto de área de almacenamiento): para almacenar imágenes de instalación del sistema operativo. El dominio ISO se puede compartir entre diferentes centros de datos.
  • Exportar dominio (tipo obsoleto de área de almacenamiento): para el almacenamiento temporal de imágenes movidas entre centros de datos.

En nuestro caso particular, un área de almacenamiento del tipo Data Domain utiliza el protocolo Fibre Channel (FCP) para conectarse a los LUN del sistema de almacenamiento.

Desde el punto de vista de oVirt, cuando se utilizan sistemas de almacenamiento (FC o iSCSI), cada disco virtual, instantánea o plantilla es un disco lógico.
Los dispositivos de bloque se ensamblan en una sola unidad (en hosts del clúster) usando Volume Group y luego se dividen usando LVM en volúmenes lógicos, que se usan como discos virtuales para VM.

Todos estos grupos y muchos volúmenes LVM se pueden ver en el host del clúster usando los comandos vgs и lvs. Naturalmente, todas las acciones con dichos discos deben realizarse únicamente desde la consola oVirt, excepto en casos especiales.

Los discos virtuales para VM pueden ser de dos tipos: QCOW2 o RAW. Los discos pueden ser "Delgado"O"grueso". Las instantáneas siempre se crean como "delgado".

La forma de administrar dominios de almacenamiento, o áreas de almacenamiento a las que se accede a través de FC, es bastante lógica: para cada disco virtual de VM hay un volumen lógico separado en el que solo puede escribir un host. Para conexiones FC, oVirt usa algo así como LVM en clúster.

Las máquinas virtuales ubicadas en la misma área de almacenamiento se pueden migrar entre hosts que pertenecen al mismo clúster.

Como podemos ver en la descripción, un clúster en oVirt, como un clúster en VMware vSphere o Hyper-V, esencialmente significa lo mismo: es una agrupación lógica de hosts, preferiblemente idéntica en composición de hardware y que tiene almacenamiento común para virtuales. discos de máquina.

Procedamos directamente a crear un área de almacenamiento de datos (discos VM), ya que sin ella el centro de datos no se inicializará.
Permítame recordarle que todos los LUN presentados a los hosts del clúster en el sistema de almacenamiento deben ser visibles en ellos mediante el comando "multitrayecto -ll".

según documentación, ve al portal ve a Almacenamiento >> dominios -> Nuevo dominio y siga las instrucciones de la sección "Agregar almacenamiento FCP".

Después de iniciar el asistente, complete los campos obligatorios:

  • Nombre — establecer el nombre del clúster
  • Función de dominio -Datos
  • Tipo de almacenamiento — Canal de fibra
  • Anfitrión a utilizar — seleccione un host en el que esté disponible el LUN que necesitamos

En la lista de LUN, marque el que necesitamos, haga clic en Añada y luego Bueno. Si es necesario, puede ajustar parámetros adicionales del área de almacenamiento haciendo clic en Parámetros avanzados.

Captura de pantalla del asistente para agregar "dominio de almacenamiento"

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Según los resultados del asistente, deberíamos recibir una nueva área de almacenamiento y nuestro centro de datos debería pasar al estado UP, o inicializado:

Capturas de pantalla del centro de datos y las áreas de almacenamiento que contiene:

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Creación y configuración de redes para máquinas virtuales.

Enlace a la documentación - Guía de administración de oVirt, Capítulo 6: Redes lógicas

Las redes, o redes, sirven para agrupar redes lógicas utilizadas en la infraestructura virtual oVirt.

Para interactuar entre el adaptador de red en la máquina virtual y el adaptador físico en el host, se utilizan interfaces lógicas como el puente de Linux.

Para agrupar y dividir el tráfico entre redes, se configuran VLAN en los conmutadores.

Al crear una red lógica para máquinas virtuales en oVirt, se le debe asignar un identificador correspondiente al número de VLAN en el conmutador para que las VM puedan comunicarse entre sí, incluso si se ejecutan en diferentes nodos del clúster.

La configuración preliminar de los adaptadores de red en los hosts para conectar máquinas virtuales debía realizarse en artículo anterior – interfaz lógica configurada bond1, entonces todas las configuraciones de red deben realizarse únicamente a través del portal administrativo de oVirt.

Después de crear una VM con motor alojado, además de la creación automática de un centro de datos y un clúster, también se creó automáticamente una red lógica para administrar nuestro clúster. ovritmgmt, al que estaba conectada esta VM.

Si es necesario, puede ver la configuración de la red lógica. ovritmgmt y ajustarlos, pero debes tener cuidado de no perder el control de la infraestructura de oVirt.

Configuración de red lógica ovritmgmt

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Para crear una nueva red lógica para máquinas virtuales normales, en el portal administrativo, vaya a Nuestra red >> Redes >> Nuevo, y en la pestaña General agregue una red con el ID de VLAN deseado y también marque la casilla junto a "Red de máquinas virtuales", esto significa que se puede utilizar para la asignación a una máquina virtual.

Captura de pantalla de la nueva red lógica VLAN32

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

lengüeta Médico, adjuntamos esta red a nuestro cluster Clúster1.

Después de esto vamos a Calcular >> Tu guía, vaya a cada host por turno, a la pestaña Interfaces de redy ejecuta el asistente Configurar redes de host, para vincularse a los hosts de una nueva red lógica.

Captura de pantalla del asistente "Configurar redes de host"

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

El agente oVirt realizará automáticamente todas las configuraciones de red necesarias en el host: creará una VLAN y un PUENTE.

Archivos de configuración de ejemplo para nuevas redes en el host:

cat ifcfg-bond1
# Generated by VDSM version 4.30.17.1
DEVICE=bond1
BONDING_OPTS='mode=1 miimon=100'
MACADDR=00:50:56:82:57:52
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

cat ifcfg-bond1.432
# Generated by VDSM version 4.30.17.1
DEVICE=bond1.432
VLAN=yes
BRIDGE=ovirtvm-vlan432
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

cat ifcfg-ovirtvm-vlan432
# Generated by VDSM version 4.30.17.1
DEVICE=ovirtvm-vlan432
TYPE=Bridge
DELAY=0
STP=off
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

Permítanme recordarles una vez más que en el host del clúster NO NECESITO crear interfaces de red manualmente por adelantado ifcfg-bond1.432 и ifcfg-ovirtvm-vlan432.

Después de agregar una red lógica y verificar la conexión entre el host y la VM del motor alojado, se puede usar en la máquina virtual.

Crear una imagen de instalación para implementar una máquina virtual

Enlace a la documentación - Guía de administración de oVirt, Capítulo 8: Almacenamiento, sección Carga de imágenes a un dominio de almacenamiento de datos.

Sin una imagen de instalación del SO no será posible instalar una máquina virtual, aunque por supuesto esto no supone un problema si, por ejemplo, está instalada en la red. Zapatero con imágenes prediseñadas.

En nuestro caso, esto no es posible, por lo que tendrás que importar esta imagen a oVirt tú mismo. Anteriormente, esto requería la creación de un dominio ISO, pero en la nueva versión de oVirt ha quedado obsoleto y, por lo tanto, ahora puede cargar imágenes directamente al dominio de almacenamiento desde el portal administrativo.

En el portal administrativo vaya a Almacenamiento >> discos >> Subir >> Inicio
Agregamos nuestra imagen de sistema operativo como un archivo ISO, completamos todos los campos del formulario y hacemos clic en el botón "Conexión de prueba".

Captura de pantalla del asistente para agregar imagen de instalación

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Si recibimos un error como este:

Unable to upload image to disk d6d8fd10-c1e0-4f2d-af15-90f8e636dadc due to a network error. Ensure that ovirt-imageio-proxy service is installed and configured and that ovirt-engine's CA certificate is registered as a trusted CA in the browser. The certificate can be fetched from https://ovirt.test.local/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA`

Luego debe agregar el certificado oVirt a "CA raíz de confianza"(Trusted Root CA) en la estación de control del administrador, desde donde intentamos descargar la imagen.

Después de agregar el certificado a la CA raíz de confianza, haga clic nuevamente en "Conexión de prueba", debería obtener:

Connection to ovirt-imageio-proxy was successful.

Después de completar la acción de agregar el certificado, puede intentar cargar la imagen ISO en el dominio de almacenamiento nuevamente.

En principio, puede crear un dominio de almacenamiento separado con el tipo de datos para almacenar imágenes y plantillas por separado de los discos de VM, o incluso almacenarlas en un dominio de almacenamiento para el motor alojado, pero esto queda a discreción del administrador.

Captura de pantalla con imágenes ISO en Storage Domain para motor alojado

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Crear una máquina virtual

Enlace de documentación:
oGuía de administración de máquinas virtuales oVirt –> Capítulo 2: Instalación de máquinas virtuales Linux
Recursos para clientes de consola

Después de cargar la imagen de instalación con el sistema operativo en oVirt, puede proceder directamente a crear una máquina virtual. Se ha trabajado mucho, pero ya estamos en la etapa final por la cual se inició todo esto: obtener una infraestructura tolerante a fallas para alojar máquinas virtuales de alta disponibilidad. Y todo esto es absolutamente gratis: no se gastó ni un centavo en la compra de licencias de software.

Para crear una máquina virtual con CentOS 7, se debe descargar la imagen de instalación del sistema operativo.

Nos dirigimos al portal administrativo, vamos a Calcular >> Maquinas virtualese inicie el asistente de creación de VM. Complete todos los parámetros y campos y haga clic Bueno. Todo es muy sencillo si sigues la documentación.

Como ejemplo, daré la configuración básica y adicional de una VM de alta disponibilidad, con un disco creado, conectado a la red y arrancando desde una imagen de instalación:

Capturas de pantalla con configuraciones de VM de alta disponibilidad

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Después de terminar de trabajar con el asistente, ciérrelo, inicie una nueva VM e instale el sistema operativo en ella.
Para ello acceda a la consola de esta VM a través del portal administrativo:

Captura de pantalla de la configuración del portal administrativo para conectarse a la consola de VM

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Para conectarse a la consola VM, primero debe configurar la consola en las propiedades de la máquina virtual.

Captura de pantalla de la configuración de VM, pestaña "Consola"

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Para conectarse a la consola VM puede utilizar, por ejemplo, Visor de máquinas virtuales.

Para conectarse a la consola VM directamente en la ventana del navegador, la configuración de conexión a través de la consola debe ser la siguiente:

Creación de una infraestructura TI tolerante a fallos. Parte 2. Instalación y configuración del clúster oVirt 4.3

Después de instalar el sistema operativo en la VM, es recomendable instalar el agente invitado oVirt:

yum -y install epel-release
yum install -y ovirt-guest-agent-common
systemctl enable ovirt-guest-agent.service && systemctl restart ovirt-guest-agent.service
systemctl status ovirt-guest-agent.service

Por lo tanto, como resultado de nuestras acciones, la VM creada tendrá alta disponibilidad, es decir. Si el nodo del clúster en el que se está ejecutando falla, oVirt lo reiniciará automáticamente en el segundo nodo. Esta VM también se puede migrar entre hosts del clúster para su mantenimiento u otros fines.

Conclusión

Espero que este artículo haya logrado transmitir que oVirt es una herramienta completamente normal para administrar infraestructura virtual, que no es tan difícil de implementar; lo principal es seguir ciertas reglas y requisitos descritos tanto en el artículo como en la documentación.

Debido al gran volumen del artículo, no fue posible incluir muchas cosas en él, como la ejecución paso a paso de varios asistentes con todas las explicaciones detalladas y capturas de pantalla, conclusiones largas de algunos comandos, etc. De hecho, esto requeriría escribir un libro completo, lo cual no tiene mucho sentido debido a que constantemente aparecen nuevas versiones de software con innovaciones y cambios. Lo más importante es comprender el principio de cómo funciona todo en conjunto y obtener un algoritmo general para crear una plataforma tolerante a fallas para administrar máquinas virtuales.

Aunque hemos creado una infraestructura virtual, ahora necesitamos enseñarle a interactuar tanto entre sus elementos individuales: hosts, máquinas virtuales, redes internas y con el mundo exterior.

Este proceso es una de las tareas principales de un administrador de sistema o red, que se tratará en el siguiente artículo: sobre el uso de enrutadores virtuales VyOS en la infraestructura tolerante a fallas de nuestra empresa (como habrá adivinado, funcionarán como virtuales máquinas en nuestro clúster oVirt).

Fuente: habr.com

Añadir un comentario