Alta disponibilità GCP con SafeKit: installare il modulo mirror.safe per il failover
Guida rapida all’installazione ad alta disponibilità per GCP
Questa guida spiega come configurare un cluster mirror per GCP utilizzando SafeKit, garantendo il failover automatico e la replica sincrona senza la necessità di uno storage condiviso.
Per assistenza, puoi utilizzare SafeKit AI 🤖.
1. Panoramica
- Architettura: utilizza un sistema a due nodi (primario/secondario).
- Protezione dei dati: implementa la replica sincrona in tempo reale per una perdita di dati pari a zero (RPO = 0).
2. Installazione
- Software: installare il motore SafeKit su entrambi i server.
- Modulo: Scarica il modulo dell’applicazione
mirror.safepreconfigurato.
3. Configurazione
- Console Web: configurare le cartelle specifiche contenenti i file GCP.
- Monitoraggio: avvia il monitoraggio e la protezione dell’applicazione GCP.
Limitazioni SafeKit High Availability
| Limite/Requisito | Motivo e impatto | Alternativa consigliata |
|---|---|---|
| Dimensioni della replica: alcuni TB | Tempo di risincronizzazione dopo un errore (passaggio 3): • Rete da 1 Gb/s ≈ 3 ore/TB • Rete da 10 Gb/s ≈ 1 ora/TB (a seconda delle prestazioni di scrittura del disco) | • Utilizzare un’unità di archiviazione condivisa esterna (più costosa e più complessa). |
| Numero di file: < 1.000.000 | • Prestazioni del tempo di risincronizzazione dopo un guasto (passaggio 3). • Tempo necessario per confrontare ciascun file tra i due nodi. | • Inserire i numerosi file da replicare in un disco rigido virtuale/macchina virtuale. • In questo caso, verranno replicati e risincronizzati solo i file che rappresentano il disco rigido virtuale/la macchina virtuale. |
| Capacità di failover: ≤ 32 VM | • Ogni VM viene eseguita in un modulo mirror indipendente. • Massimo 32 moduli mirror in esecuzione sullo stesso cluster. | • Utilizzare un’unità di archiviazione esterna condivisa e un’altra soluzione di clustering per macchine virtuali (più costosa e complessa). |
| Architettura di rete: rete LAN/VLAN tra siti remoti | • Failover automatico dell’indirizzo IP virtuale con 2 nodi nella stessa sottorete. • Buona larghezza di banda per la risincronizzazione (passaggio 3). • Bassa latenza per la replica sincrona: in genere < 5 ms RTT; i valori più elevati devono essere convalidati in base alla velocità di scrittura dell’applicazione. | • Se i due nodi si trovano in sottoreti diverse (comune nel cloud), utilizzare altre opzioni di reindirizzamento: un bilanciatore del carico, le CLI del provider cloud, BGP o il reindirizzamento DNS. • Utilizzare soluzioni di backup con replica asincrona per reti ad alta latenza. |
Panoramica della soluzione mirror SafeKit/GCP
La soluzione è descritta qui: 💡 Alta disponibilità di Google GCP: replica sincrona e failover SafeKit.
Installazione della soluzione mirror SafeKit/GCP su Windows e Linux (mirror.safe)
Configurazione del bilanciatore del carico Google GCP
Il bilanciatore del carico deve essere configurato se si desidera implementare un indirizzo IP virtuale.
Inoltre, il bilanciatore del carico deve essere configurato per inviare periodicamente pacchetti di stato ai nodi.
A tale scopo, SafeKit fornisce un controllo dello stato di salute che viene eseguito all’interno dei nodi e che
- restituisce OK quando lo stato del modulo mirror è PRIM (verde) o ALONE (verde)
- restituisce NOT FOUND in tutti gli altri stati
È necessario configurare il bilanciatore del carico Google GCP con:
- Protocollo HTTP
- porta 9010, la porta del server web SafeKit
- URL /var/modules/mirror/ready.txt (se mirror è il nome del modulo che verrà distribuito in seguito)
Per maggiori informazioni, consultare la configurazione del bilanciatore del carico di Google GCP.
⚠️ Non configurare un indirizzo IP virtuale al passaggio 4 nella configurazione dettagliata riportata di seguito. L’indirizzo IP virtuale è già impostato nel bilanciatore del carico Google GCP. L’impostazione di un IP virtuale al passaggio 4 è utile solo per la configurazione on-premise.
Configurazione della sicurezza di rete di Google GCP
La sicurezza della rete deve essere configurata per abilitare le comunicazioni per i seguenti protocolli e porte:
- UDP - 4800 per il servizio safeadmin (tra i nodi SafeKit)
- UDP - 8888 per l’ heartbeat del modulo (tra i nodi SafeKit)
- TCP – 5600 per il modulo di replica dei file in tempo reale (tra i nodi SafeKit)
- TCP – 9010 per il controllo dello stato del load-balancer e per la console web SafeKit in esecuzione in modalità http
- TCP – 9001 per configurare la modalità https per la console
- TCP – 9453 per la console web SafeKit in esecuzione in modalità https
Installazione del pacchetto su Windows
- Scarica e installa la versione gratuita di SafeKit su 2 nodi Windows.
Nota: la versione gratuita include tutte le funzionalità SafeKit. Al termine del periodo di prova, è possibile attivare le chiavi di licenza permanenti senza disinstallare il pacchetto. - Al termine dell’installazione del pacchetto, selezionare Imposta subito le credenziali della console e le regole del firewall e configurare una password per l’utente admin della console SafeKit.
Imposta la stessa password su tutti i nodi. - Escludere dalla scansione antivirus C:/safekit/ (la directory di installazione predefinita) e tutte le cartelle replicate che si intende definire.
Gli antivirus potrebbero incontrare difficoltà nel rilevare SafeKit a causa della sua stretta integrazione con il sistema operativo, dei meccanismi IP virtuali, della replica in tempo reale e del riavvio dei servizi critici.
Installazione del pacchetto su Linux
- Installare la versione gratuita di SafeKit su 2 nodi Linux. Nota: la versione di prova gratuita include tutte le funzionalità SafeKit. Al termine della prova, è possibile attivare le chiavi di licenza permanenti senza disinstallare il pacchetto.
- Dopo aver scaricato il pacchetto safekit_xx.bin, eseguilo per estrarre l’rpm e lo script safekitinstall, quindi esegui lo script safekitinstall
- Rispondere sì alla configurazione automatica del firewall
- Impostare la password per la console web e per l’utente predefinito admin. Impostare la stessa password su tutti i nodi.
Nota: il modulo generico mirror.safe che si sta per configurare è fornito all’interno del pacchetto.
Configurazione passo-passo della soluzione mirror SafeKit/GCP
Prerequisiti
- Windows installata su 2 nodi.
- I dati totali replicati sono limitati a pochi terabyte; oltre questa soglia, il tempo di risincronizzazione diventa significativo.
- Interconnessione minima di 1 Gb/s tra i nodi (10 Gb/s consigliati per una risincronizzazione più rapida).
- Il failover IP richiede che entrambi i nodi si trovino sulla stessa LAN o LAN estesa (L2); le reti L3 instradate non sono supportate (eccetto con i bilanciatori del carico cloud 🛠️).
1. Avviare la console SafeKit
- Avviare la console web in un browser su un nodo del cluster collegandosi a
http://localhost:9010. - Inserire
admincome nome utente e la password definita durante l’installazione.
È inoltre possibile eseguire la console in un browser su una workstation esterna al cluster.
⚠️ La configurazione di SafeKit viene eseguita su entrambi i nodi da un unico browser.
ℹ️ Per proteggere la console web, consultare 🛠️ 11. Protezione del servizio web SafeKit nella Guida per l’utente.

2. Configurare gli indirizzi dei nodi
- Inserisci gli indirizzi IP dei nodi, premi il
Tab keyper verificare la connettività e compila i nomi dei nodi. Se node1 o node2 sono di colore rosso, controlla la connettività del browser con entrambi i nodi e controlla il firewall su entrambi i nodi per la 🛠️ risoluzione dei problemi. - Quindi, fare clic su
Save and applyper salvare la configurazione. - Controllare il messaggio
Success✅ su entrambi i nodi. - Se si verifica un
Failuredi configurazione ❌ su un nodo, aprire il ▼ fisco di quel nodo e rivedere i messaggi. Si noti che è possibile utilizzare SafeKit AI 🤖 per assistenza.
ℹ️ Se lo desideri, puoi aggiungere una nuova LAN and nodes (prima ➕) per creare un secondo heartbeat e una rete di replica dedicata.
ℹ️ Se si fa clic su Advanced configuration, viene visualizzato il file cluster.xml. Questo file viene popolato automaticamente dalla console e distribuito sui nodi.

3. Seleziona un modulo
- Nel
New module, fare clic sul modulomirror.safe.
ℹ️ Nel banner blu in alto, 🛜 node1 rappresenta il nodo di connessione della console. Questo nodo inoltra le richieste a node2 quando necessario.
ℹ️ La console cerca xxx.safe nella directory Application_Modules/generic/ sul nodo di connessione (node1) se hai inserito un modulo lì durante l’installazione.

4. Configurare il modulo
- In
Module startup at boot, scegliere un avvio automatico del modulo all’avvio senza ritardo. - In
Macros/SERVICES, inserisci i nomi dei servizi della tua applicazione, nell’ordine di avvio, separati da virgole. Consulta questo screenshot per un esempio visivo dei servizi Milestone XProtect 🖼️. - Nelle
Heartbeat networks, è necessario disporre di una singola rete heartbeat su cui viene eseguita la replica. Se è stata aggiunta una LAN privata al passaggio 2, è possibile configurare due heartbeat con il flusso di replica sulla LAN privata. - In
Virtual IP addresses, inserire un indirizzo IP virtuale. Un indirizzo IP virtuale è un indirizzo IP standard nella stessa rete IP (stessa sottorete) degli indirizzi IP di entrambi i nodi.
I client dell’applicazione devono essere configurati con l’indirizzo IP virtuale (o il nome DNS associato all’indirizzo IP virtuale).
L’indirizzo IP virtuale viene commutato automaticamente in caso di guasto. - In
Replicated directories, impostare i percorsi delle directory da replicare. Verificare che esistano su entrambi i nodi e che contengano i dati dell’applicazione.
La replica dei dati e dei log è essenziale per un database.
È possibile creare ulteriori directory replicate in base alle esigenze.
Per un esempio visivo della replica SQL Milestone XProtect consultare questa schermata 🖼️. - In
Checkers, sarà possibile configurare i checker, se necessario, come il monitoraggio dei processi, i checker personalizzati, TCP, ping o i checker split-brain.
Ad esempio, se un nome di processo viene visualizzato inMonitored processes/services, verrà monitorato con un’azione di riavvio in caso di errore. La configurazione di un nome di processo errato farà sì che il modulo si arresti subito dopo l’avvio.
ℹ️ Se si fa clic su Advanced configuration, viene visualizzato il file userconfig.xml. Questo file viene popolato automaticamente dalla console e distribuito sui nodi con gli script di riavvio.
ℹ️ In una distribuzione cloud, non è necessario configurare un indirizzo IP virtuale in SafeKit. L’IP virtuale è gestito a livello di 🛠️ bilanciatore del carico cloud.
ℹ️ Quando si applica la configurazione SafeKit, il startup type dei servizi viene automaticamente impostato su Manual nei servizi Windows. Ciò garantisce che i servizi non si avviino automaticamente all’avvio del sistema, ma vengano avviati solo quando il modulo stesso viene avviato (lo stesso vale su Linux).

5. Modifica gli script (facoltativo)
- Questo passaggio è facoltativo e può essere saltato nella maggior parte dei casi, poiché gli script di riavvio sono già preconfigurati per riavviare i servizi definiti nel passaggio precedente.
- Quindi, fai clic direttamente su
Next step. start_prim.ps1avvia tutti i servizi nell’ordine specificato nell’elencoSERVICES, mentrestop_prim.ps1arresta tutti i servizi nell’ordine inverso.- Inoltre,
start_prim.ps1controlla l’avvio di ciascun servizio e arresta il modulo se un servizio non si avvia correttamente.

6. Crittografia della comunicazione (opzionale)
- Mantenere la crittografia della comunicazione tra i nodi.

7. Salva e applica
Save and applyla configurazione e gli script su entrambi i nodi.

8. Verifica della corretta configurazione
- Controllare il messaggio
Success✅ su entrambi i nodi e fare clic suMonitor modules. - Se si verifica un
Failuredi configurazione ❌ su un nodo, aprire il ▼ fisco di quel nodo e rivedere i messaggi. Si noti che è possibile utilizzare SafeKit AI 🤖 per assistenza.
⚠️ Su Linux, in questo passaggio potrebbe verificarsi un errore se le directory replicate sono punti di montaggio. 🛠️ Per risolvere il problema, consultare SK-0030.

9. Avviare il nodo con i dati aggiornati
- Se il nodo 1 dispone delle directory replicate aggiornate, selezionarlo e ⋯
Force start▶As primary.
Quando il nodo 2 verrà avviato, tutti i dati verranno copiati dal nodo 1 al nodo 2.
⚠️ Se si effettua la scelta sbagliata, si corre il rischio di sincronizzare dati obsoleti su entrambi i nodi.
⚠️ Si presuppone inoltre che l’applicazione Windows sia arrestata sul nodo 1 in modo che SafeKit installi i meccanismi di replica e quindi avvii l’applicazione nello script start_prim.
⚠️ Utilizzare Start per gli avvii successivi: SafeKit mantiene il server più aggiornato. L’avvio As primary è un avvio speciale la prima volta o durante operazioni eccezionali.

10. Attendere la transizione a ALONE (verde)
- Il nodo 1 dovrebbe raggiungere lo stato ALONE (verde), il che significa che l’IP virtuale è impostato e che lo script
start_primè stato eseguito sul nodo 1.
⚠️ Se ALONE (verde) non viene raggiunto o se l’applicazione non viene avviata, analizzare il motivo con il log del modulo 🖼️ del nodo 1.
- Fare clic sull’icona del log 🔍 del
node1per aprire il log del modulo e cercare messaggi di errore, ad esempio un checker che rileva un errore e arresta il modulo. - Fare clic su
start_primnel log: i messaggi di output dello script vengono visualizzati a destra e possono essere rilevati errori, ad esempio un servizio avviato in modo errato. - Usa SafeKit AI 🤖 per ricevere assistenza con i messaggi di log.
⚠️ Se il cluster è in stato WAIT (red) not uptodate, STOP (red) not uptodate, arrestare il nodo WAIT e forzarne l’avvio come primario 🖼️.

11. Avviare il nodo 2
- ⋯
Startil nodo 2 con il suo menu contestuale. - Attendere il SECOND stato (verde).
ℹ️ Il nodo 2 rimane nel SECOND stato (arancione) durante la risincronizzazione delle directory replicate (copia dal nodo 1 al nodo 2).
- Questa operazione potrebbe richiedere del tempo, a seconda delle dimensioni dei file da risincronizzare nelle directory replicate e della larghezza di banda della rete.
- Per visualizzare l’avanzamento della copia, consultare il registro del modulo 🖼️ e le risorse di replica 🖼️ del nodo 2. Utilizzare SafeKit AI 🤖 per assistenza con i messaggi di registro.

12. Verificare che il cluster sia operativo
- Verificare che il cluster sia verde/verde con i servizi Windows in esecuzione sul nodo PRIM e non in esecuzione sul nodo SECOND.
In questo stato, solo le modifiche all’interno dei file vengono replicate in tempo reale.
⚠️ I componenti che sono client dei servizi Windows devono essere configurati con l’indirizzo IP virtuale. La configurazione può essere eseguita con un nome DNS (se è stato creato un nome DNS ed è stato associato all’indirizzo IP virtuale).

13. Test
- Arrestare il nodo PRIM scorrendo il relativo menu contestuale e facendo clic su
Stop. - Verificare che sia presente un failover sul SECOND nodo, che dovrebbe diventare ALONE (verde).
- E con Microsoft Management Console (MMC) su Windows o con le righe di comando su Linux, controllare il failover dei servizi Windows (arrestati sul nodo 1 nello script
stop_prime avviati sul nodo 2 nello scriptstart_prim).
⚠️ Se ALONE (verde) non viene raggiunto sul node2 o se l’applicazione non viene avviata, analizzare il motivo con il log del modulo 🖼️ del nodo 2.
- Fare clic sull’icona del registro 🔍 del
node2per aprire il registro del modulo e cercare messaggi di errore, ad esempio un checker che rileva un errore e arresta il modulo. - Fare clic su
start_primnel log: i messaggi di output dello script vengono visualizzati a destra e possono essere rilevati errori, ad esempio un servizio avviato in modo errato. - Usa SafeKit AI 🤖 per ricevere assistenza con i messaggi di log.
⚠️
- Se tutto è a posto, avviare il node1, che risincronizzerà le directory replicate dal node2.
- Se le cose vanno male, arrestare node2 e forzare node 1 ad avviarsi come primario 🖼️, che si riavvierà con i suoi dati localmente integri al momento dell’arresto.
ℹ️ Trova maggiori dettagli, insieme ai video, nella formazione online SafeKit.

14. Supporto
- Per ottenere assistenza, eseguire 2
SnapshotsSafeKit (2 file .zip), uno per ciascun nodo.
ℹ️ Maggiori informazioni sul supporto qui.

Dimostrazione della soluzione mirror SafeKit
Video SafeKit: clustering a livello di applicazione (8:47)
In questo video, scopri come SafeKit implementa un cluster HA mirror senza la complessità di una SAN. Sebbene questa dimostrazione utilizzi Microsoft SQL Server, la soluzione funziona in modo identico per altri database e applicazioni.
Capitoli
- 🎬 2 nodi con SQL Server (0:32)
- 🎬 Configurare il cluster e il modulo mirror.safe (3:58)
- 🎬 Avviare e testare la replica, la migrazione e il failover di SQL in caso di arresto anomalo (4:17)
Implementazione passo-passo
- 🛠️ Leggi la guida sulla configurazione di un cluster mirror su Windows
- 🛠️ Leggi la guida su come configurare un cluster mirror su Linux
🔍 Esplora SafeKit
Trova informazioni sulle funzionalità, le architetture, i video, la documentazione e la versione di prova gratuita di SafeKit.
| Risorsa | Descrizione | Link |
|---|---|---|
| Caratteristiche principali | Scopri perché SafeKit è una soluzione di alta disponibilità semplice ed economica. | Scopri le caratteristiche principali |
| Casi d’uso | Scopri come SafeKit mantiene disponibili le applicazioni e le infrastrutture critiche. | Esplora i casi d’uso |
| Modello di distribuzione | SafeKit offre un’elevata disponibilità senza SAN o storage condiviso. | Esplora il modello di distribuzione |
| Strategie di alta disponibilità | Confronta l’alta disponibilità per le macchine virtuali con l’alta disponibilità per le applicazioni. | Confronta le due strategie |
| Specifiche tecniche | Controllare i requisiti tecnici e le limitazioni per i cluster SafeKit. | Leggi le specifiche tecniche |
| Video | Guarda le dimostrazioni della configurazione di SafeKit e del failover automatico. | Guarda i video tecnici |
| Architettura | Scopri come il cluster mirror replica i file in tempo reale e gestisce il failover. | Esplora l’architettura Mirror |
| Architettura | Scopri come il cluster farm bilancia il traffico di rete e gestisce il failover. | Esplora l’architettura Farm |
| Confronto tra prodotti | Confronta SafeKit con i cluster tradizionali ad alta disponibilità. | Confronta le soluzioni |
| Risorse tecniche | Trova la documentazione tecnica, scarica SafeKit e accedi alla versione di prova gratuita. | Accedi alla documentazione e alla prova gratuita |
| Moduli dell’applicazione | Utilizzate i moduli SafeKit preconfigurati per impostare l’alta disponibilità delle vostre applicazioni. | Esplora i moduli dell’applicazione |