Áú»¢¶Ä²©

1 Alta disponibilitat

Vista general

L'alta disponibilitat (HA) es demana generalment a les infraestructures cr¨ªtiques que no poden permetre's cap temps d'aturada. Per qualsevol servei susceptible de fallar, una opci¨® de balanceig cap a un altre lloc ¨¦s ¨²til per evitar una aturada.

Áú»¢¶Ä²© propoa una soluci¨® d'alta disponibilitat nadiua f¨¤cil de configurar i sense necessitat de cap experi¨¨ncia pr¨¨via en HA. Áú»¢¶Ä²© HA nadiu ¨¦s ¨²til per una capa de protecci¨® contra errades de programari/maquinari del servidor Áú»¢¶Ä²© o per tindre menys temps d'aturada per manteniments.

En mode alta disponibilitat de Áú»¢¶Ä²©, m¨²ltiples servidors executen com a nodes dins un cl¨²ster. Mentre un servidor Áú»¢¶Ä²© ¨¦s actiu, els altres romanen a l'espera a punt de prendre el relleu si escau.

Encara que passem a Áú»¢¶Ä²© HA, sempre es pot fer marxa enrere en tot moment.

Veieu tamb¨¦: Detalls de la implementaci¨®

Activaci¨® de l'alta disponibilitat

Engegada del servidor Áú»¢¶Ä²© com a node d'un cl¨²ster

Es requereixen dos ±è²¹°ù¨¤³¾±ð³Ù°ù±ðs a la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® del servidor per iniciar un servidor Áú»¢¶Ä²© com a node de cl¨²ster:

  • El ±è²¹°ù¨¤³¾±ð³Ù°ù±ð HANodeName s'ha d'especificar per a cada servidor Áú»¢¶Ä²© que ser¨¤ un node de cl¨²ster HA.

Aquest ¨¦s un identificador de node ¨²nic (per exemple, zabbix-node-01) al qual es far¨¤ refer¨¨ncia al servidor en configuracions d'agent i proxy. Si no especifiqueu HANodeName, el servidor s'iniciar¨¤ en mode aut¨°nom.

  • El ±è²¹°ù¨¤³¾±ð³Ù°ù±ð NodeAddress s'ha d'especificar per a cada node.

El ±è²¹°ù¨¤³¾±ð³Ù°ù±ð NodeAddress (adre?a:port) ser¨¤ emprat per la interf¨ªcie Áú»¢¶Ä²© per connectar-se al node del servidor actiu. NodeAddress ha de coincidir amb el nom IP o FQDN del servidor Áú»¢¶Ä²© respectiu.

Reinicieu tots els servidors Áú»¢¶Ä²© despr¨¦s de fer canvis als fitxers de ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®. Ara s'iniciaran com a nodes de cl¨²ster. L'estat dels nous servidors es pot veure a Informes ¡ú Informaci¨® del sistema i tamb¨¦ executant:

zabbix_server -R ha_status

Aquesta ordre d'execuci¨® desar¨¤ l'estat actual del cl¨²ster HA al registre del servidor Áú»¢¶Ä²© (i a stdout):

Preparant la interf¨ªcie

Assegureu-vos que l'adre?a:port del servidor Áú»¢¶Ä²© sigui no definida a la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® de la interf¨ªcie (situada a `conf/zabbix.conf.php' del directori de fitxers de la interf¨ªcie).

La interf¨ªcie Áú»¢¶Ä²© detectar¨¤ autom¨¤ticament el node actiu llegint els ±è²¹°ù¨¤³¾±ð³Ù°ù±ðs de la taula de nodes a la base de dades Áú»¢¶Ä²©. L'adre?a del node actiu s'emprar¨¤ com a adre?a del servidor Áú»¢¶Ä²©.

°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® del proxy

Els nodes de cl¨²ster HA (servidors) s'han d'enumerar a la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® passiva o activa de proxy Áú»¢¶Ä²©.

Per a un proxy passiu, els noms dels nodes s'han d'enumerar al ±è²¹°ù¨¤³¾±ð³Ù°ù±ð del proxy, separats per una coma.

Servidor=zabbix-node-01,zabbix-node-02

Per a un proxy actiu, els noms dels nodes haurien d'¨¦sser llistats al ±è²¹°ù¨¤³¾±ð³Ù°ù±ð del proxy, separats per un punt i coma.

Servidor=zabbix-node-01;zabbix-node-02
°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® de l'agent

Els nodes de cl¨²ster HA (servidors) s'han d'enumerar a la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® de l'agent Áú»¢¶Ä²© o de l'agent Áú»¢¶Ä²© 2.

Per activar les comprovacions passives, els noms dels nodes han d'¨¦sser llistats al ±è²¹°ù¨¤³¾±ð³Ù°ù±ð del servidor, separats per una coma.

Servidor=zabbix-node-01,zabbix-node-02

Per activar les comprovacions actives, els noms dels nodes han d'¨¦sser llistats al ±è²¹°ù¨¤³¾±ð³Ù°ù±ð ServerActive. Tingueu en compte que per a les comprovacions actives, els nodes s'han de separar per comes de qualsevol altre servidor, mentre que els nodes s'han de separar amb un punt i coma, per exemple:

ActiveServer=zabbix-node-01;zabbix-node-02

Failover cap a mode rep¨°s

Áú»¢¶Ä²© passar¨¤ autom¨¤ticament per error a un altre node si el node actiu cau. Hi ha d'haver almenys un node en estat d'espera perqu¨¨ es produeixi la migraci¨® per error.

Amb quina rapidesa es produir¨¤ el failover? Tots els nodes actualitzen el seu darrer temps d'acc¨¦s (i estat, si es canvia) cada 5 segons. Per tant:

  • Si el node actiu s'atura i aconsegueix informar del seu estat com a "aturat", un altre node prendr¨¤ el control en 5 segons.

  • Si el node actiu s'atura/¨¦s indisponible sense poder actualitzar el seu estat, els nodes en espera esperaran a endarreriment per error + 5 segons a prendre el control.

L'endarreriment de la migraci¨® per error ¨¦s configurable, amb un interval compatible de 10 segons a 15 minuts (un minut per defecte). Per canviar l'endarreriment de la migraci¨® per error, podeu executar:

zabbix_server -R ha_set_failover_delay=5m

Geti¨® del cluster d'alta disponibilitat (HA)

L'estat actual del cl¨²ster HA es pot gestionar mitjan?ant les opcions dedicades control en temps d'execuci¨®:

  • ha_status: desa l'estat del cl¨²ster HA al registre del servidor Áú»¢¶Ä²© (i a stdout)
  • ha_remove_node=target - elimina un node HA identificat pel seu <target> - no o ID del node (el nom/ID es pot obtindre a partir de la sortida de l'execuci¨® de ha_status), per exemple:
zabbix_server -R ha_remove_node=zabbix-node-02

Tingueu en compte que els nodes actius/en espera no es poden pas esborrar.

  • ha_set_failover_delay=delay: estableix l'endarreriment de la migraci¨® per error HA (entre 10 segons i 15 minuts; s'admeten sufixos de temps, per exemple, 10 s, 1 m)

L'estat del node es pot controlar:

  • a Informes ¡ú Informaci¨® del sistema
  • al giny del tauler Informaci¨® del sistema
  • emprant l'opci¨® de control d'execuci¨® ha_status del servidor (veieu m¨¦s amunt).

L'element intern zabbix[cluster,discovery,nodes] es pot emprar per a la descoberta de nodes, ja que retorna un JSON amb informaci¨® de nodes d'alta disponibilitat.

Desactivaci¨® del cl¨²ster d'HA

Per desactivar un cl¨²ster d'alta disponibilitat:

  • teu c¨°pies de seguretat dels fitxers de ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®
  • tanqueu els nodes de c¨°pia de seguretat
  • esborreu el ±è²¹°ù¨¤³¾±ð³Ù°ù±ð HANodeName del servidor principal actiu
  • reinicieu el servidor principal (iniciar¨¤ en mode aut¨°nom)

Actualitzant un cl¨²ster d'alta disponibilitat

Per fer una actualitzaci¨® gran de la versi¨® per als nodes HA:

  • atureu tots els nodes;
  • creeu una c¨°pia de seguretat completa de la base de dades;
  • si la base de dades empra replicaci¨®, assegureu-vos que tots els nodes estiguin sincronitzats i que no tinguin cap problema. No actualitzeu si la r¨¨plica ¨¦s trencada.
  • trieu un ¨²nic node que actualitzar¨¤ la base de dades, canvieu la seva ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® al mode aut¨°nom comentant HANodeName i actualitzeu;
  • Assegureu-vos que l'actualitzaci¨® de la base de dades s'hagi completat completament (La informaci¨® del sistema hauria de mostrar que el servidor Áú»¢¶Ä²© s'est¨¤ executant);
  • reinicieu el node en mode HA;
  • actualitzeu i inicieu la resta de nodes (no cal canviar-los al mode aut¨°nom, ja que la base de dades ja est¨¤ actualitzada en aquest moment).

En una actualitzaci¨® de versi¨® menor, n'hi ha prou amb actualitzar el primer node, assegurar-se que s'ha actualitzat b¨¦ i que s'executa correctament i, tot seguit, actualitzar l'altre node.

Detalls de la implementaci¨®

El cl¨²ster d'alta disponibilitat (HA) ¨¦s una soluci¨® activada i ¨¦s compatible amb el servidor Áú»¢¶Ä²©. La soluci¨® nadiua HA ¨¦s dissenyada per ser senzilla d'emprar, funcionar¨¤ en tots els llocs i no t¨¦ requisits espec¨ªfics per a les bases de dades reconegudes per Áú»¢¶Ä²©. Els usuaris poden emprar la soluci¨® nadiua de Áú»¢¶Ä²© HA o una soluci¨® de tercers, la que s'adapti millor als requisits d'alta disponibilitat del seu entorn.

La soluci¨® consta de m¨²ltiples inst¨¤ncies o nodes zabbix_server. Cada node: - es configura per separat - empra la mateixa base de dades - pot tindre diversos modes: actiu, en espera, no disponible, aturat

Nom¨¦s un node pot ¨¦sser actiu alhora. Un node d'espera nom¨¦s executa un proc¨¦s: el gestor d'HA. Un node en espera no fa la recollida de dades, el processament ni altres activitats normals del servidor, ni escolta els ports; t¨¦ connexions de base de dades m¨ªnimes.

Els nodes actius i en espera actualitzen el seu darrer temps d'acc¨¦s cada 5 segons. Cada node d'espera monitora el darrer moment d'acc¨¦s del node actiu. Si el darrer moment d'acc¨¦s del node actiu ¨¦s superior als segons de "temps d'espera de commutaci¨® per error", el node en espera es converteix en el node actiu i assigna l'estat "no disponible" al node anteriorment actiu.

El node actiu controla la seva pr¨°pia connectivitat a la base de dades: si es perd durant m¨¦s de delay de failover-5 segons, hauria d'aturar tot el processament i passar al mode d'espera. El node actiu tamb¨¦ monitora l'estat dels nodes en espera: si el darrer temps d'acc¨¦s d'un node en espera supera els segons de "temps d'espera per a errors", al node en espera se li assigna l'estat "no disponible".

Els nodes s¨®n dissenyats per ¨¦sser compatibles amb versions menors de Áú»¢¶Ä²©.