Agrupación en Proxmox VE

Agrupación en Proxmox VE

En artigos pasados, comezamos a falar sobre o que é Proxmox VE e como funciona. Hoxe falaremos de como se pode aproveitar a posibilidade de agrupar e mostrar que beneficios dá.

Que é un cluster e por que é necesario? Un clúster (do inglés cluster) é un grupo de servidores unidos por canles de comunicación de alta velocidade, que funcionan e aparecen ante o usuario como un todo. Hai varios escenarios principais para usar un clúster:

  • Proporcionando tolerancia a fallos (alta dispoñibilidade).
  • Equilibrio de carga (Equilibrio de carga).
  • Aumento da produtividade (alto rendemento).
  • Realización de computación distribuída (Informática distribuida).

Cada escenario ten os seus propios requisitos para os membros do clúster. Por exemplo, para un clúster que realiza computación distribuída, o principal requisito é a alta velocidade de operacións de punto flotante e unha baixa latencia de rede. Estes clusters úsanse a miúdo para fins de investigación.

Xa que tocamos o tema da computación distribuída, gustaríame sinalar que tamén existe algo como sistema de reixa (do inglés grid - lattice, network). A pesar da semellanza xeral, non confunda o sistema de reixa e o clúster. Grid non é un cluster no sentido habitual. A diferenza dun clúster, os nodos incluídos na grella son na maioría das veces heteroxéneos e caracterízanse por unha baixa dispoñibilidade. Este enfoque simplifica a solución de problemas de computación distribuída, pero non permite crear un único todo a partir de nodos.

Un exemplo sorprendente de sistema de rede é unha plataforma informática popular BOIN (Berkeley Open Infrastructure for Network Computing). Esta plataforma foi creada orixinalmente para o proxecto SETI @ home (Search for Extra-Terrestrial Intelligence at Home), que trata o problema de atopar intelixencia extraterrestre mediante a análise de sinais de radio.

Chat istoUnha gran variedade de datos recibidos dos radiotelescopios divídese en moitos pequenos anacos, e son enviados aos nodos do sistema de rede (no proxecto SETI@home, os ordenadores voluntarios desempeñan o papel destes nodos). Os datos son procesados ​​nos nodos e despois de completar o procesamento, envíanse ao servidor central do proxecto SETI. Así, o proxecto resolve o problema global máis complexo sen ter á súa disposición a potencia informática necesaria.

Agora que temos unha comprensión clara do que é un clúster, propoñemos considerar como se pode crear e utilizar. Usaremos un sistema de virtualización de código aberto Proxmox VE.

É especialmente importante comprender claramente as limitacións e os requisitos do sistema de Proxmox antes de comezar a crear un clúster, a saber:

  • número máximo de nodos nun clúster - 32;
  • todos os nodos deben ter a mesma versión de Proxmox (hai excepcións, pero non se recomendan para a produción);
  • se no futuro está previsto utilizar a funcionalidade de alta dispoñibilidade, entón o clúster debería ter polo menos 3 nodos;
  • Os portos deben estar abertos para que os nodos poidan comunicarse entre si UDP/5404, UDP/5405 para corosync e TCP/22 para SSH;
  • o atraso da rede entre os nodos non debe exceder 2 ms.

Crear un clúster

Importante! A seguinte configuración é de proba. Non esquezas consultar con documentación oficial Proxmox V.E.

Para executar un clúster de proba, tomamos tres servidores co hipervisor Proxmox instalado coa mesma configuración (2 núcleos, 2 GB de RAM).

Se queres saber como podes instalar Proxmox, recomendamos ler o noso artigo anterior: A maxia da virtualización: un curso de iniciación a Proxmox VE.

Inicialmente, despois de instalar o sistema operativo, execútase un único servidor modo autónomo.

Agrupación en Proxmox VE
Crea un clúster facendo clic no botón Crear clúster no apartado correspondente.

Agrupación en Proxmox VE
Establecemos un nome para o futuro clúster e seleccionamos unha conexión de rede activa.

Agrupación en Proxmox VE
Fai clic no botón Crear. O servidor xerará unha clave de 2048 bits e escribirá xunto cos parámetros do novo clúster nos ficheiros de configuración.

Agrupación en Proxmox VE
Inscrición TAREFA OK indica a finalización exitosa da operación. Agora, mirando a información xeral sobre o sistema, pódese ver que o servidor pasou ao modo cluster. Ata agora, o clúster consta dun só nodo, é dicir, aínda non ten as capacidades para as que se necesita un clúster.

Agrupación en Proxmox VE

Unirse a un Clúster

Antes de conectarnos ao clúster creado, necesitamos obter información para completar a conexión. Para iso, vai á sección Agrupar e нажимаем кнопку Información de unirse.

Agrupación en Proxmox VE
Na xanela que se abre, interésanos o contido do campo do mesmo nome. Haberá que copialo.

Agrupación en Proxmox VE
Aquí codifican todos os parámetros de conexión necesarios: o enderezo do servidor para a conexión e a pegada dixital. Imos ao servidor que hai que incluír no clúster. Prememos o botón Únete ao Clúster e na xanela que se abre, pega o contido copiado.

Agrupación en Proxmox VE
campos Enderezo do compañeiro и Impresión dixital cubrirase automaticamente. Introduza o contrasinal de root para o nodo número 1, seleccione a conexión de rede e prema o botón unirse.

Agrupación en Proxmox VE
Durante o proceso de unión a un clúster, a páxina web da GUI pode deixar de actualizarse. Está ben, só tes que cargar de novo a páxina. Do mesmo xeito, engadimos outro nodo e, como resultado, obtemos un clúster completo de 3 nodos de traballo.

Agrupación en Proxmox VE
Agora podemos controlar todos os nodos do clúster desde unha GUI.

Agrupación en Proxmox VE

Organización de alta dispoñibilidade

Proxmox fóra da caixa admite a funcionalidade de organización HA tanto para máquinas virtuais como para contedores LXC. Utilidade ha-xerente detecta e xestiona erros e fallos, realizando unha conmutación por falla dun nodo fallido a un funcionando. Para que o mecanismo funcione correctamente, é necesario que as máquinas virtuais e os contedores teñan un almacenamento de ficheiros común.

Despois de activar a funcionalidade de alta dispoñibilidade, a pila de software ha-manager supervisará continuamente o estado da máquina virtual ou contenedor e interactuará de forma asíncrona con outros nodos do clúster.

Anexando almacenamento compartido

Como exemplo, implantamos un pequeno ficheiro compartido NFS en 192.168.88.18. Para que todos os nodos do clúster poidan usalo, cómpre facer as seguintes manipulacións.

Seleccione no menú da interface web Centro de datos - Almacenamento - Engadir - NFS.

Agrupación en Proxmox VE
Enche os campos ID и servidor. Na lista despregable Exportar seleccione o directorio desexado entre os dispoñibles e na lista contido - Tipos de datos necesarios. Despois de premer o botón Engadir o almacenamento conectarase a todos os nodos do clúster.

Agrupación en Proxmox VE
Ao crear máquinas virtuais e contedores en calquera dos nodos, especificamos o noso almacenamento como almacenamento.

Configurando HA

Por exemplo, creemos un contedor con Ubuntu 18.04 e configuremos a Alta dispoñibilidade para el. Despois de crear e executar o contedor, vai á sección Datacenter-HA-Add. No campo que se abre, especifique o ID da máquina virtual/contedor e o número máximo de intentos para reiniciar e moverse entre nós.

Se se supera este número, o hipervisor marcará a máquina virtual como fallida e poñeraa no estado Erro, despois de que deixará de realizar calquera acción con ela.

Agrupación en Proxmox VE
Despois de premer o botón Engadir utilidade ha-xerente notificará a todos os nodos do clúster que agora a máquina virtual co ID especificado está controlada e, en caso de falla, debe reiniciarse noutro nodo.

Agrupación en Proxmox VE

Imos facer un accidente

Para ver como funciona exactamente o mecanismo de conmutación, desactivemos a fonte de alimentación do nodo1 de forma anormal. Miramos dende outro nodo o que está a suceder co clúster. Vemos que o sistema solucionou un fallo.

Agrupación en Proxmox VE

O funcionamento do mecanismo HA non significa a continuidade da VM. En canto o nodo "cae", a operación da máquina virtual detense temporalmente ata que se reinicie automaticamente noutro nodo.

E aquí comeza a "maxia": o clúster reasignou automaticamente o nodo para executar a nosa máquina virtual e en 120 segundos o traballo restaurouse automaticamente.

Agrupación en Proxmox VE
Apagamos o nodo 2 sobre a nutrición. Vexamos se o clúster sobrevivirá e se a máquina virtual volverá a funcionar automaticamente.

Agrupación en Proxmox VE
Por desgraza, como podemos ver, temos un problema co feito de que xa non hai quórum no único nodo supervivente, o que desactiva automaticamente HA. Damos o comando para forzar a instalación dun quórum na consola.

pvecm expected 1

Agrupación en Proxmox VE
Despois de 2 minutos, o mecanismo HA funcionou correctamente e, ao non atopar o nodo2, lanzou a nosa máquina virtual no nodo3.

Agrupación en Proxmox VE
En canto volvemos a activar o nodo1 e o nodo2, o clúster restaurouse por completo. Teña en conta que a máquina virtual non migra de novo ao nodo1 por si mesma, pero pódese facer manualmente.

Resumindo

Contámosche como funciona o mecanismo de agrupación Proxmox e tamén che mostramos como se configura HA para máquinas virtuais e contedores. O uso axeitado da agrupación e HA aumenta moito a fiabilidade da infraestrutura, ademais de proporcionar recuperación ante desastres.

Antes de crear un clúster, cómpre planificar inmediatamente para que fins se utilizará e canto terá que escalalo no futuro. Tamén cómpre comprobar que a infraestrutura de rede está preparada para funcionar con atrasos mínimos para que o futuro clúster funcione sen fallos.

Díganos: está a usar as capacidades de agrupación de Proxmox? Agardámoste nos comentarios.

Artigos anteriores sobre o hipervisor Proxmox VE:

Fonte: www.habr.com

Engadir un comentario