Agrupación en Proxmox VE

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 se puede utilizar la posibilidad de agrupación y mostraremos los beneficios que ofrece.

¿Qué es un clúster y por qué es necesario? Un clúster (del inglés cluster) es un grupo de servidores unidos por canales de comunicación de alta velocidad, que funcionan y aparecen ante el usuario como un todo. Hay varios escenarios principales para usar un clúster:

  • Proporcionar tolerancia a fallos (alta disponibilidad).
  • Balanceo de carga (Balanceo de carga).
  • Aumento de la productividad (alto rendimiento).
  • Realizar computación distribuida (Computación distribuída).

Cada escenario tiene sus propios requisitos para los miembros 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 una baja latencia de red. Estos grupos se utilizan a menudo con fines de investigación.

Ya que hemos tocado el tema de la informática distribuida, me gustaría señalar que también existe algo como sistema de red (de la cuadrícula inglesa - celosía, red). A pesar de la similitud general, no confunda el sistema de red y el clúster. Grid no es un clúster en el sentido habitual. A diferencia de un clúster, los nodos incluidos en la red suelen ser heterogéneos y se caracterizan por una baja disponibilidad. Este enfoque simplifica la solución de problemas de computación distribuida, pero no permite crear un todo único a partir de nodos.

Un ejemplo sorprendente de un sistema grid es una plataforma informática popular. BOINC (Infraestructura abierta de Berkeley para informática en red). Esta plataforma fue creada originalmente para el proyecto. SETI @ home (Búsqueda de inteligencia extraterrestre en casa), que aborda el problema de encontrar inteligencia extraterrestre mediante el análisis de señales de radio.

¿Cómo funciona estoUna gran cantidad de datos recibidos de los radiotelescopios se divide en muchos pedazos pequeños y se envían a los nodos del sistema de red (en el proyecto SETI@home, las computadoras voluntarias desempeñan el papel de dichos nodos). Los datos se procesan en los nodos y, una vez completado el procesamiento, se envían al servidor central del proyecto SETI. De este modo, el proyecto resuelve el problema global más complejo sin tener a su disposición la potencia informática necesaria.

Ahora que tenemos una comprensión clara de qué es un clúster, proponemos considerar cómo se puede crear y utilizar. Usaremos un sistema de virtualización de código abierto. Proxmox VE.

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

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

Crear un clúster

¡Importante! La siguiente configuración es de prueba. No olvides consultar con documentación oficial Proxmox V.E.

Para ejecutar un clúster de prueba, tomamos tres servidores con el hipervisor Proxmox instalado con la misma configuración (2 núcleos, 2 GB de RAM).

Si desea saber cómo instalar Proxmox, le recomendamos leer nuestro artículo anterior: La magia de la virtualización: un curso de introducción a Proxmox VE.

Inicialmente, después de instalar el sistema operativo, se ejecuta un único servidor en modo independiente.

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

Agrupación en Proxmox VE
Establecemos un nombre para el futuro clúster y seleccionamos una conexión de red activa.

Agrupación en Proxmox VE
Haga 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.

Agrupación en Proxmox VE
Leyenda TAREA OK indica la finalización exitosa de la operación. Ahora, al observar la información general sobre el sistema, se puede ver que el servidor ha cambiado al modo de clúster. Hasta ahora, el clúster consta de un solo nodo, es decir, aún no tiene las capacidades para las que se necesita un clúster.

Agrupación en Proxmox VE

Unirse a un grupo

Antes de conectarnos al clúster creado, necesitamos obtener información para completar la conexión. Para ello dirígete a la sección Médico y presiona el botón Unirse a la información.

Agrupación en Proxmox VE
En la ventana que se abre nos interesa el contenido del campo del mismo nombre. Será necesario copiarlo.

Agrupación en Proxmox VE
Aquí están codificados todos los parámetros de conexión necesarios: la dirección del servidor para la conexión y la huella digital. Nos dirigimos al servidor que debe incluirse en el clúster. Pulsamos el botón Unirse al grupo y en la ventana que se abre, pega el contenido copiado.

Agrupación en Proxmox VE
campos Dirección de pares и Huella dactilar se completará automáticamente. Ingrese la contraseña de root para el nodo número 1, seleccione la conexión de red y presione el botón Únete.

Agrupación en Proxmox VE
Durante el proceso de unirse a un clúster, la página web de la GUI puede dejar de actualizarse. Está bien, simplemente recarga la página. Exactamente de la misma manera, agregamos otro nodo y como resultado obtenemos un grupo completo de 3 nodos en funcionamiento.

Agrupación en Proxmox VE
Ahora podemos controlar todos los nodos del clúster desde una GUI.

Agrupación en Proxmox VE

Organización de alta disponibilidad

Proxmox listo para usar admite la funcionalidad de organización HA tanto para máquinas virtuales como para contenedores LXC. Utilidad ha-gerente detecta y maneja errores y fallas, realizando una conmutación por error de un nodo fallido a uno que funciona. 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 monitoreará continuamente el estado de la máquina virtual o contenedor e interactuará de forma asincrónica con otros nodos del clúster.

Adjuntar almacenamiento compartido

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

Seleccione desde el menú de la interfaz web Centro de datos - Almacenamiento - Agregar - NFS.

Agrupación en Proxmox VE
Complete los campos ID и Servidor. En la lista desplegable Exportar seleccione el directorio deseado entre los disponibles y en la lista Contenido — tipos de datos requeridos. Después de presionar el botón Añada el almacenamiento se conectará a todos los nodos del clúster.

Agrupación en Proxmox VE
Al crear máquinas virtuales y contenedores en cualquiera de los nodos, especificamos nuestro STORAGE como almacenamiento.

Configurar alta disponibilidad

Por ejemplo, creemos un contenedor con Ubuntu 18.04 y configuremos Alta Disponibilidad para él. Después de crear y ejecutar el contenedor, vaya a la sección Centro de datos-HA-Agregar. En el campo que se abre, especifique la ID del contenedor/máquina virtual y el número máximo de intentos para reiniciar y moverse entre nodos.

Si se excede este número, el hipervisor marcará la VM como fallida y la pondrá en estado de Error, después de lo cual dejará de realizar cualquier acción con ella.

Agrupación en Proxmox VE
Después de hacer clic en el botón Añada Utilita ha-gerente notificará a todos los nodos del clúster que ahora la VM con el ID especificado está controlada y, en caso de falla, se debe reiniciar en otro nodo.

Agrupación en Proxmox VE

Hagamos un choque

Para ver cómo funciona exactamente el mecanismo de conmutación, apaguemos la fuente de alimentación del nodo 1 de manera anormal. Miramos desde otro nodo qué está pasando con el cluster. Vemos que el sistema ha solucionado un fallo.

Agrupación en Proxmox VE

El funcionamiento del mecanismo HA no significa la continuidad de la VM. Tan pronto como el nodo "cae", la operación de la VM se detiene temporalmente hasta que se reinicia 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.

Agrupación en Proxmox VE
Extinguimos el nodo2 en nutrición. Veamos si el clúster sobrevivirá y si la VM volverá a funcionar automáticamente.

Agrupación en Proxmox VE
Lamentablemente, como podemos ver, tenemos un problema con el hecho de que ya no hay quórum en el único nodo superviviente, lo que desactiva automáticamente HA. Damos el comando para forzar la instalación de un quórum en la consola.

pvecm expected 1

Agrupación en Proxmox VE
Después de 2 minutos, el mecanismo HA funcionó correctamente y, al no encontrar el nodo2, inició nuestra VM en el nodo3.

Agrupación en Proxmox VE
Tan pronto como volvimos a activar el nodo 1 y el nodo 2, el clúster se restauró por completo. Tenga en cuenta que la máquina virtual no vuelve a migrar al nodo1 por sí sola, pero esto se puede hacer manualmente.

En resumen

Le contamos cómo funciona el mecanismo de agrupación en clústeres de Proxmox y también le mostramos cómo se configura HA para máquinas virtuales y contenedores. El uso adecuado de la agrupación en clústeres y la HA aumenta en gran medida la confiabilidad de la infraestructura, además de proporcionar recuperación ante desastres.

Antes de crear un clúster, es necesario planificar inmediatamente para qué se utilizará y cuánto será necesario escalarlo en el futuro. También debe verificar que la infraestructura de la red esté lista para funcionar con retrasos mínimos para que el futuro clúster funcione sin fallas.

Cuéntenos: ¿está utilizando las capacidades de agrupación en clústeres de Proxmox? Te esperamos en los comentarios.

Artículos anteriores sobre el hipervisor Proxmox VE:

Fuente: habr.com

Añadir un comentario