Agrupación en Proxmox VE



En artículos anteriores, comenzamos a hablar sobre qué es Proxmox VE y cómo funciona. Hoy hablaremos sobre cómo puede usar la función de agrupamiento y le mostraremos qué ventajas ofrece.

¿Qué es un clúster y por qué es necesario? Un clúster (del clúster inglés) es un grupo de servidores conectados por canales de comunicación de alta velocidad, que funcionan y representan al usuario en su conjunto. Existen varios escenarios básicos para usar un clúster:

  • Proporciona tolerancia a fallas (alta disponibilidad).
  • Balanceo de carga (Balanceo de carga).
  • Aumento de la productividad (alto rendimiento).
  • Realizar computación distribuida

Cada escenario presenta sus propios requisitos para los componentes del clúster. Por ejemplo, para un clúster que realiza computación distribuida, el requisito principal es una alta velocidad de operaciones de punto flotante y baja latencia de la red. Dichos grupos se utilizan a menudo con fines de investigación.

Dado que tocamos el tema de la computación distribuida, quiero señalar que todavía existe un sistema de cuadrícula(del inglés. grid - celosía, red). A pesar de la similitud general, no confunda el sistema de cuadrícula y el clúster. Grid no es un clúster en el sentido habitual. A diferencia del clúster, los nodos incluidos en la cuadrícula son a menudo heterogéneos y se caracterizan por una baja disponibilidad. Este enfoque simplifica la solución de problemas informáticos distribuidos, pero no permite crear un todo a partir de nodos.
Un ejemplo sorprendente de un sistema de red es la popular plataforma informática BOINC (Berkeley Open Infrastructure for Network Computing). Esta plataforma se creó originalmente para el proyecto SETI @ home (Búsqueda de inteligencia extraterrestre en el hogar), que trata el problema de la búsqueda de inteligencia extraterrestre mediante el análisis de señales de radio.
Cómo funciona
, , , - ( SETI@home ). SETI. , .

Ahora que tenemos una comprensión clara de lo que es un clúster, sugerimos considerar cómo se puede crear y desplegar. Utilizaremos el sistema de virtualización de código abierto Proxmox VE .

Antes de comenzar a crear un clúster, es especialmente importante comprender claramente las limitaciones y los requisitos del sistema de Proxmox, a saber:

  • el número máximo de nodos en un clúster es 32 ;
  • todos los nodos deben tener la misma versión de Proxmox (hay excepciones, pero no se recomiendan para la producción);
  • si en el futuro se planea usar la funcionalidad de Alta disponibilidad, entonces el clúster debe tener al menos 3 nodos ;
  • para que los nodos se comuniquen entre sí, los puertos UDP / 5404 , UDP / 5405 para corosync y TCP / 22 para SSH deben estar abiertos ;
  • el retraso de la red entre nodos no debe exceder los 2 ms .

Creación de clúster


¡Importante! La siguiente configuración es de prueba. Asegúrese de consultar la documentación oficial de Proxmox VE.

Para iniciar el clúster de prueba, tomamos tres servidores con el hipervisor Proxmox instalado de la misma configuración (2 núcleos, 2 GB de RAM).
Si desea saber cómo instalar Proxmox, le recomendamos que lea nuestro artículo anterior: La magia de la virtualización: un curso introductorio en Proxmox VE .
Inicialmente, después de instalar el sistema operativo, se ejecuta un único servidor en modo independiente .


Cree un clúster haciendo clic en el botón Crear clúster en la sección correspondiente.


Nombramos el futuro clúster y seleccionamos la conexión de red activa.


Haz clic en el botón Crear. El servidor generará una clave de 2048 bits y la escribirá junto con los parámetros del nuevo clúster en los archivos de configuración.


La inscripción TAREA OK indica una operación exitosa. Ahora, mirando la información general sobre el sistema, está claro que el servidor ha cambiado al modo de clúster. Hasta ahora, el clúster consta de un solo nodo, es decir, mientras que no tiene las capacidades para las cuales se necesita el clúster.


Unirse a un clúster


Antes de conectarnos al clúster creado, necesitamos obtener información para completar la conexión. Para hacer esto, vaya a la sección Clúster y haga clic en el botón Unir información .


En la ventana que se abre, nos interesan los contenidos del campo del mismo nombre. Tendrá que ser copiado.


Todos los parámetros de conexión necesarios están codificados aquí: dirección del servidor para la conexión y huella digital. Pasamos al servidor que debe incluirse en un clúster. Haga clic en el botón Unirse al clúster y, en la ventana que se abre, pegue el contenido copiado.


Los campos Dirección de pares y Huella digital se completarán automáticamente. Ingrese la contraseña raíz del nodo número 1, seleccione la conexión de red y haga clic en el botón Unirse .


Cuando se une a un clúster, la página web de la GUI puede dejar de actualizarse. Esto es normal, solo vuelva a cargar la página. Exactamente de la misma manera agregamos un nodo más y, como resultado, recibimos un grupo completo de 3 nodos de trabajo.


Ahora podemos controlar todos los nodos del clúster desde una GUI.


Organización de alta disponibilidad


Proxmox listo para usar admite la funcionalidad de organización de HA para máquinas virtuales y contenedores LXC. La utilidad ha-manager detecta y procesa errores y fallas al realizar una conmutación por error de un nodo fallido a uno funcional. Para que el mecanismo funcione correctamente, es necesario que las máquinas virtuales y los contenedores tengan un almacenamiento de archivos común.

Después de activar la funcionalidad de alta disponibilidad, la pila de software ha-manager comenzará a monitorear continuamente el estado de la máquina virtual o contenedor e interactuará asincrónicamente con otros nodos en el clúster.

Adjuntar almacenamiento compartido


Por ejemplo, implementamos un pequeño almacenamiento de archivos NFS en 192.168.88.18. Para que todos los nodos del clúster puedan usarlo, debe realizar las siguientes manipulaciones.

Seleccionamos en el menú de la interfaz web Datacenter - Storage - Add - NFS .


Rellene los campos ID y Servidor . En la lista desplegable Exportar , seleccione el directorio deseado de los disponibles y, en la lista Contenido , los tipos de datos necesarios. Después de hacer clic en el botón Agregar , el almacenamiento se conectará a todos los nodos del clúster.


Al crear máquinas virtuales y contenedores en cualquiera de los nodos, especificamos nuestro almacenamiento como almacenamiento.

Personaliza HA


Por ejemplo, cree un contenedor con Ubuntu 18.04 y configure High Availability para él. Después de crear e iniciar el contenedor, vaya a la sección Centro de datos - HA - Agregar . En el campo que se abre, especifique la ID de la máquina / contenedor virtual y el número máximo de intentos para reiniciar y moverse entre nodos.
Si se excede esta cantidad, el hipervisor marcará la VM como fallida y la transferirá al estado de Error, después de lo cual dejará de realizar cualquier acción con ella.

Después de hacer clic en el botón Agregar , la utilidad ha-manager notificará a todos los nodos del clúster que la VM con la ID especificada ahora se está monitoreando y, si cae, debe reiniciarse en otro nodo.


Hacer un choque


Para ver cómo funciona el mecanismo de conmutación, paguemos de forma anormal la fuente de alimentación del nodo 1. Miramos desde otro nodo lo que le sucede al clúster. Vemos que el sistema registró una falla.

La operación del mecanismo HA no significa la operación continua de la VM. Tan pronto como el nodo se haya "caído", la operación de VM se detiene temporalmente hasta que se reinicie automáticamente en otro nodo.
Y aquí comienza la "magia": el clúster reasignó automáticamente el nodo para ejecutar nuestra VM y en 120 segundos el trabajo se restableció automáticamente.


Extinguimos el nodo 2 en nutrición. Veamos si el clúster puede resistir y la VM volverá al estado de funcionamiento automáticamente.


Por desgracia, como vemos, tuvimos un problema con el hecho de que el único nodo sobreviviente no tiene más quórum, lo que deshabilita automáticamente la HA. Le damos el comando para forzar la instalación del quórum en la consola.

pvecm expected 1


Después de 2 minutos, el mecanismo HA funcionó correctamente y al no encontrar el nodo 2, lanzó nuestra VM en el nodo 3.


Tan pronto como volvimos a activar node1 y node2, el clúster se restauró por completo. Tenga en cuenta que la VM no migra de regreso al nodo1, pero esto se puede hacer manualmente.

Para resumir


Le contamos cómo funciona el mecanismo de agrupación en Proxmox y también le mostramos cómo se configura HA para máquinas virtuales y contenedores. El uso adecuado de clustering y HA mejora enormemente la confiabilidad de la infraestructura y también proporciona recuperación ante desastres.

Antes de crear un clúster, debe planificar de inmediato para qué fines se utilizará y cuánto tendrá que escalar en el futuro. También debe verificar la disponibilidad de la infraestructura de red con demoras mínimas para que el clúster futuro funcione sin fallas.

Cuéntanos: ¿utilizas las capacidades de agrupación en Proxmox? Nos vemos en los comentarios.

Artículos anteriores sobre el hipervisor Proxmox VE:


All Articles