{"id":2631,"date":"2025-06-20T09:13:38","date_gmt":"2025-06-20T07:13:38","guid":{"rendered":"http:\/\/clark.tipistrani.it\/?p=2631"},"modified":"2026-01-19T11:07:29","modified_gmt":"2026-01-19T10:07:29","slug":"cluster-ha-concetti-di-base","status":"publish","type":"post","link":"http:\/\/clark.tipistrani.it\/?p=2631","title":{"rendered":"Cluster HA concetti di base"},"content":{"rendered":"<p>Un cluster ad alta disponibilit\u00e0 (HA), in ambito informatico, \u00e8 un insieme di due o pi\u00f9 server (o altri componenti hardware) che lavorano insieme per garantire la continuit\u00e0 dei servizi, anche in caso di guasto di uno dei componenti. In sostanza, se un server fallisce, un altro prende il suo posto, evitando interruzioni del servizio.<\/p>\n<p>In dettaglio, un cluster HA tipicamente include:<\/p>\n<p>Server master\/primario (o attivo): Esegue i servizi e gestisce il carico di lavoro principale.<\/p>\n<p>Server slave\/secondario (o di backup): Resta in standby, pronto a subentrare in caso di guasto del server primario.<br \/>\nMeccanismo di monitoraggio: Rileva il guasto del server primario e avvia il processo di failover.<br \/>\nIndirizzo IP virtuale: Un indirizzo IP condiviso dai server del cluster, che rimane attivo anche in caso di failover, garantendo la continuit\u00e0 dell&#8217;accesso ai servizi.<\/p>\n<p>I cluster HA sono fondamentali per applicazioni critiche dove l&#8217;interruzione del servizio non \u00e8 accettabile, come ad esempio database, server web, applicazioni aziendali e altro. L&#8217;obiettivo \u00e8 ridurre al minimo i tempi di inattivit\u00e0 e garantire la disponibilit\u00e0 continua dei servizi.<br \/>\nIn sintesi, i cluster HA sono una soluzione efficace per aumentare la resilienza dei sistemi informatici e ridurre il rischio di perdite dovute a interruzioni del servizio.<\/p>\n<p>Questa \u00e8 una buona definizione di un cluster HA, nel nostro caso il discorso \u00e8 lievemente diverso, parliamo di un sistema a due nodi che sono contemporaneamente attivo e passivo, e che possono diventare contemporaneamente master per il tempo necessario a compiere delle determinate operazioni.<br \/>\nTutta la struttura si appoggia essenzialmente a due software dedicati, DRBD ed Heartbeat il primo \u00e8 sostanzialmente un RAID1 over tcp un mirroring via rete in parole ancora pi\u00f9 semplici, il secondo svolge funzioni di monitoraggio e in caso di necessit\u00e0 compie le azioni adeguate.<br \/>\nNormalmente al nostro interno si ha una situazione di questo tipo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2633 aligncenter\" src=\"http:\/\/clark.tipistrani.it\/wp-content\/uploads\/2025\/06\/drbd-300x62.png\" alt=\"\" width=\"1000\" height=\"206\" srcset=\"http:\/\/clark.tipistrani.it\/wp-content\/uploads\/2025\/06\/drbd-300x62.png 300w, http:\/\/clark.tipistrani.it\/wp-content\/uploads\/2025\/06\/drbd-1024x211.png 1024w, http:\/\/clark.tipistrani.it\/wp-content\/uploads\/2025\/06\/drbd-768x158.png 768w, http:\/\/clark.tipistrani.it\/wp-content\/uploads\/2025\/06\/drbd.png 1351w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Quindi come si vede dati due nodi A e B e due volumi DRBD r0 ed r1 si avr\u00e0 sul nodo A r0 master r1 slave e sul nodo B r0 slave ed r1 master.<br \/>\nHeartbeat monitora istante per istante la situazione e decide alla bisogna, in caso di emergenza ipotizzando che il nodo A vada offline heartbeat con le sue librerie di sistema provvede a fare lo switch dello stato DRBD facendo diventare r0 master e acquisisce (takeover) le risorse dell&#8217;altro nodo.<br \/>\nQuesto stesso concetto viene usato anche per fare manutenzione ai nodi, infatti ipotizzando di dover aggiornare il firmware ai server che hostano il sistema si mette in slave un nodo, si fanno tutte le operazioni che sono necessarie, si riavvia il nodo e una volta online in automatico si sincronizza col nodo attivo, prende la parte master di sua competenza e migra le VM al proprio posto in modo praticamente trasparente all&#8217;utenza (un rallentamento durante la migrazione \u00e8 inevitabile), una volta allineati i due nodi si compiono le stesse operazioni nello stesso ordine\u00a0 sull&#8217;altro nodo in modo che a fine lavori i due server avranno il firmware aggiornato.<br \/>\nVisto quanto sopra \u00e8 intuitivo che i due nodi devono essere pensati a livello HW\u00a0 con risorse sufficienti (RAM, spazio, capacit\u00e0 di calcolo) a lavorare da soli alla bisogna e al 50% circa in condizioni normali.<br \/>\nQuesto modo di lavorare oltre a sfruttare i due nodi contemporaneamente e non uno alla volta come in modo master\/slave bilancia anche il carico di lavoro in modo da allungare la vita dei server.<\/p>\n<p><a href=\"http:\/\/clark.tipistrani.it\/?p=2624\">back<\/a>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <a href=\"http:\/\/clark.tipistrani.it\/?p=2596\">next<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un cluster ad alta disponibilit\u00e0 (HA), in ambito informatico, \u00e8 un insieme di due o pi\u00f9 server (o altri componenti hardware) che lavorano insieme per garantire la continuit\u00e0 dei servizi, anche in caso di guasto di uno dei componenti. In sostanza, se un server fallisce, un altro prende il suo posto, evitando interruzioni del servizio. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,8,304,6],"tags":[37,36],"class_list":["post-2631","post","type-post","status-publish","format-standard","hentry","category-cluster","category-linux","category-lvm2","category-work","tag-cluster-2","tag-ha"],"_links":{"self":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/2631","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2631"}],"version-history":[{"count":8,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/2631\/revisions"}],"predecessor-version":[{"id":2646,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/2631\/revisions\/2646"}],"wp:attachment":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2631"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2631"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}