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¨®
Es requereixen dos ±è²¹°ù¨¤³¾±ð³Ù°ù±ðs a la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® del servidor per iniciar un servidor Áú»¢¶Ä²© com a node de cl¨²ster:
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 (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):
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 Áú»¢¶Ä²©.
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
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
Áú»¢¶Ä²© 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
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:
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.
Per desactivar un cl¨²ster d'alta disponibilitat:
Per fer una actualitzaci¨® gran de la versi¨® per als nodes HA:
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.
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 Áú»¢¶Ä²©.