Clustering in Proxmox VE

Clustering in Proxmox VE

Negli articoli precedenti abbiamo iniziato a parlare di cos’è Proxmox VE e di come funziona. Oggi parleremo di come utilizzare la possibilità di clustering e mostreremo quali vantaggi offre.

Cos’è un cluster e perché è necessario? Un cluster (dall'inglese cluster) è un gruppo di server uniti da canali di comunicazione ad alta velocità, che funzionano e appaiono all'utente come un unico insieme. Esistono diversi scenari principali per l'utilizzo di un cluster:

  • Fornire tolleranza agli errori (alta disponibilità).
  • Bilancio del carico (Bilancio del carico).
  • Aumento della produttività (alte prestazioni).
  • Esecuzione del calcolo distribuito (Calcolo distribuito).

Ogni scenario ha i propri requisiti per i membri del cluster. Ad esempio, per un cluster che esegue calcoli distribuiti, il requisito principale è l'elevata velocità delle operazioni in virgola mobile e una bassa latenza di rete. Tali cluster vengono spesso utilizzati per scopi di ricerca.

Dato che abbiamo toccato il tema del calcolo distribuito, vorrei sottolineare che esiste anche qualcosa come sistema a griglia (dalla griglia inglese - reticolo, rete). Nonostante la somiglianza generale, non confondere il sistema a griglia e il cluster. La griglia non è un cluster nel senso comune del termine. A differenza di un cluster, i nodi inclusi nella griglia sono molto spesso eterogenei e sono caratterizzati da una bassa disponibilità. Questo approccio semplifica la soluzione dei problemi di calcolo distribuito, ma non consente di creare un unico insieme dai nodi.

Un esempio lampante di sistema a griglia è una popolare piattaforma informatica BOINC (Infrastruttura aperta di Berkeley per l'informatica di rete). Questa piattaforma è stata originariamente creata per il progetto SETI @ home Project (Search for Extra-Terrestrial Intelligence at Home), che affronta il problema della ricerca di intelligenze extraterrestri attraverso l'analisi dei segnali radio.

Come funzionaUna vasta gamma di dati ricevuti dai radiotelescopi viene suddivisa in tanti piccoli pezzi e inviati ai nodi del sistema a griglia (nel progetto SETI@home, i computer volontari svolgono il ruolo di tali nodi). I dati vengono elaborati nei nodi e una volta completata l'elaborazione vengono inviati al server centrale del progetto SETI. Pertanto, il progetto risolve il problema globale più complesso senza avere a disposizione la potenza di calcolo necessaria.

Ora che abbiamo una chiara comprensione di cosa sia un cluster, proponiamo di considerare come può essere creato e utilizzato. Utilizzeremo un sistema di virtualizzazione open source Proxmox VE.

È particolarmente importante comprendere chiaramente le limitazioni e i requisiti di sistema di Proxmox prima di iniziare a creare un cluster, ovvero:

  • numero massimo di nodi in un cluster - 32;
  • tutti i nodi devono avere la stessa versione di Proxmox (ci sono delle eccezioni, ma non sono consigliate per la produzione);
  • se in futuro si prevede di utilizzare la funzionalità Alta disponibilità, il cluster dovrebbe averla almeno 3 nodi;
  • le porte devono essere aperte affinché i nodi possano comunicare tra loro UDP/5404, UDP/5405 per corosync e TCP / 22 per SSH;
  • il ritardo di rete tra i nodi non deve superare 2 мс.

Crea un gruppo

Importante! La seguente configurazione è di prova. Non dimenticare di verificare con documentazione ufficiale Proxmox V.E.

Per eseguire un cluster di test, abbiamo preso tre server con l'hypervisor Proxmox installato con la stessa configurazione (2 core, 2 GB di RAM).

Se vuoi sapere come installare Proxmox, ti consigliamo di leggere il nostro articolo precedente - La magia della virtualizzazione: un corso introduttivo a Proxmox VE.

Inizialmente, dopo l'installazione del sistema operativo, viene eseguito un singolo server modalità autonoma.

Clustering in Proxmox VE
Crea un cluster facendo clic sul pulsante Crea cluster nella relativa sezione.

Clustering in Proxmox VE
Impostiamo un nome per il futuro cluster e selezioniamo una connessione di rete attiva.

Clustering in Proxmox VE
Fare clic sul pulsante Crea. Il server genererà una chiave a 2048 bit e la scriverà insieme ai parametri del nuovo cluster nei file di configurazione.

Clustering in Proxmox VE
iscrizione COMPITO OK indica il buon esito dell'operazione. Ora, guardando le informazioni generali sul sistema, si può vedere che il server è passato alla modalità cluster. Finora il cluster è costituito da un solo nodo, ovvero non ha ancora le capacità per le quali è necessario un cluster.

Clustering in Proxmox VE

Partecipazione a un cluster

Prima di connetterci al cluster creato, dobbiamo ottenere informazioni per completare la connessione. Per fare ciò, vai alla sezione Cluster e premere il pulsante Informazioni sull'adesione.

Clustering in Proxmox VE
Nella finestra che si apre siamo interessati al contenuto del campo omonimo. Dovrà essere copiato.

Clustering in Proxmox VE
Qui sono codificati tutti i parametri di connessione necessari: l'indirizzo del server per la connessione e l'impronta digitale. Andiamo al server che deve essere incluso nel cluster. Premiamo il pulsante Unisciti al cluster e nella finestra che si apre, incolla il contenuto copiato.

Clustering in Proxmox VE
Campo Indirizzo pari и Fingerprint verrà compilato automaticamente. Immettere la password root per il nodo numero 1, selezionare la connessione di rete e premere il pulsante Registrati.

Clustering in Proxmox VE
Durante il processo di unione a un cluster, la pagina Web della GUI potrebbe interrompere l'aggiornamento. Va bene, basta ricaricare la pagina. Esattamente allo stesso modo, aggiungiamo un altro nodo e di conseguenza otteniamo un cluster a tutti gli effetti di 3 nodi funzionanti.

Clustering in Proxmox VE
Ora possiamo controllare tutti i nodi del cluster da un'unica GUI.

Clustering in Proxmox VE

Organizzazione ad alta disponibilità

Proxmox supporta immediatamente la funzionalità di organizzazione HA sia per le macchine virtuali che per i contenitori LXC. Utilità ha-manager rileva e gestisce errori e guasti, eseguendo un failover da un nodo guasto a uno funzionante. Affinché il meccanismo funzioni correttamente, è necessario che macchine virtuali e contenitori abbiano uno spazio di archiviazione file comune.

Dopo aver attivato la funzionalità Alta disponibilità, lo stack software ha-manager monitorerà continuamente lo stato della macchina virtuale o del contenitore e interagirà in modo asincrono con altri nodi del cluster.

Allegare spazio di archiviazione condiviso

Ad esempio, abbiamo distribuito una piccola condivisione di file NFS su 192.168.88.18. Affinché tutti i nodi del cluster possano utilizzarlo, è necessario eseguire le seguenti manipolazioni.

Selezionare dal menu dell'interfaccia web Datacenter - Archiviazione - Aggiungi - NFS.

Clustering in Proxmox VE
Compila i campi ID и server. Nell'elenco a discesa Esportare selezionare la directory desiderata tra quelle disponibili e nell'elenco Contenuti — tipi di dati richiesti. Dopo aver premuto il pulsante Aggiungi lo spazio di archiviazione sarà connesso a tutti i nodi del cluster.

Clustering in Proxmox VE
Quando creiamo macchine virtuali e contenitori su uno qualsiasi dei nodi, specifichiamo our conservazione come deposito.

Configurazione dell'HA

Ad esempio, creiamo un contenitore con Ubuntu 18.04 e configuriamo l'alta disponibilità per esso. Dopo aver creato ed eseguito il contenitore, vai alla sezione Datacenter-HA-Aggiungi. Nel campo che si apre, specifica l'ID della macchina virtuale/contenitore e il numero massimo di tentativi di riavvio e spostamento tra i nodi.

Se questo numero viene superato, l'hypervisor contrassegnerà la VM come guasta e la metterà nello stato Errore, dopodiché smetterà di eseguire qualsiasi azione con essa.

Clustering in Proxmox VE
Dopo aver fatto clic sul pulsante Aggiungi utilità ha-manager avviserà tutti i nodi del cluster che ora la VM con l'ID specificato è controllata e in caso di crash dovrà essere riavviata su un altro nodo.

Clustering in Proxmox VE

Facciamo un incidente

Per vedere come funziona esattamente il meccanismo di commutazione, spegniamo l'alimentazione del nodo 1 in modo anomalo. Guardiamo da un altro nodo cosa sta succedendo con il cluster. Vediamo che il sistema ha corretto un errore.

Clustering in Proxmox VE

Il funzionamento del meccanismo HA non significa la continuità della VM. Non appena il nodo "cade", il funzionamento della VM viene temporaneamente interrotto fino a quando non viene riavviata automaticamente su un altro nodo.

Ed è qui che inizia la "magia": il cluster ha riassegnato automaticamente il nodo per eseguire la nostra VM ed entro 120 secondi il lavoro è stato ripristinato automaticamente.

Clustering in Proxmox VE
Estinguiamo il nodo2 sulla nutrizione. Vediamo se il cluster sopravvivrà e se la VM tornerà automaticamente funzionante.

Clustering in Proxmox VE
Purtroppo, come possiamo vedere, abbiamo un problema con il fatto che non esiste più un quorum sull'unico nodo sopravvissuto, il che disabilita automaticamente l'HA. Diamo il comando per forzare l'installazione di un quorum nella console.

pvecm expected 1

Clustering in Proxmox VE
Dopo 2 minuti, il meccanismo HA ha funzionato correttamente e, non trovando il nodo2, ha avviato la nostra VM sul nodo3.

Clustering in Proxmox VE
Non appena abbiamo riattivato i nodi 1 e 2, il cluster è stato completamente ripristinato. Tieni presente che la VM non migra di nuovo al nodo 1 da sola, ma questa operazione può essere eseguita manualmente.

Riassumendo

Ti abbiamo spiegato come funziona il meccanismo di clustering di Proxmox e ti abbiamo anche mostrato come viene configurata l'HA per macchine virtuali e contenitori. L'uso corretto del clustering e dell'HA aumenta notevolmente l'affidabilità dell'infrastruttura, oltre a fornire il ripristino di emergenza.

Prima di creare un cluster, è necessario pianificare immediatamente per quali scopi verrà utilizzato e quanto dovrà essere scalato in futuro. È inoltre necessario verificare che l'infrastruttura di rete sia pronta a funzionare con ritardi minimi in modo che il futuro cluster funzioni senza guasti.

Raccontaci: stai utilizzando le funzionalità di clustering di Proxmox? Ti aspettiamo nei commenti.

Articoli precedenti sull'hypervisor Proxmox VE:

Fonte: habr.com

Aggiungi un commento