Implementare un server cluster NFS su OCI utilizzando lo storage degli oggetti come repository
Quando abbiamo una quantità illimitata di dati critici e non strutturati a cui si accede frequentemente all'inizio, ma, in seguito, non di frequente, l'opzione migliore è Oracle Cloud Infrastructure Object Storage.
Tuttavia, poiché alcune applicazioni non possono utilizzare lo storage degli oggetti in maniera nativa, dobbiamo utilizzare soluzioni di terze parti. Per questa architettura utilizzeremo:
- Duplica per la lettura e la scrittura nello storage degli oggetti.
- Corosync e Pacemaker da creare nel cluster (standby attivo) e per garantire l'alta disponibilità richiesta dalle applicazioni strategiche (ad esempio, Rclone, IP secondario, servizio NFS, punto di accesso e così via).
- IP secondario per eseguire il MOUNT del file system di rete (NFS) condiviso dal cluster e per il failover automatico tra i nodi del cluster.
Questa architettura di riferimento descrive una configurazione ispirata al cliente, che combina alta disponibilità e flessibilità.
Architettura
Il diagramma riportato di seguito illustra questa architettura di riferimento.
In questo scenario, per velocizzare il processo di switchover, sono stati mantenuti: i servizi Rclone e NFS in esecuzione; Rclone nel modello di MOUNT; il servizio NFS che condivide la cartella di cui è stato eseguito il MOUNT da Rclone e l'IP secondario collegato a uno solo dei nodi.
L'architettura è dotata dei componenti elencati di seguito.
oci-rclone-architettura-diagramma-oracle.zip
Il processo di switchover tra i nodi può essere visualizzato in OTube.
APP Server => inst-i6hjc-rclone-ha - Client Server
/mnt/nfs_rclone_v2 = Mount point client side
NFS - Floating IP = 172.10.0.100
RCLONE => nfs-rclone = Cluster Node1 = IP = 172.10.0.287
RCLONE STANDBY => inst-e2fc3-rclone-ha = Cluster Node 2 - IP = 172.10.0.121
NFS - SHARE
/mnt/nfs_rclone = From Object Storage
È possibile utilizzare il backup tra più aree per creare un recupero da errori irreversibili. Se si utilizza una variabile nell'impostazione, la configurazione Rclone è statica.
oci-nfs-cluster-architettura-diagramma-oracle.zip
Per il disaster recovery:
- Usa la replica dello storage degli oggetti per il recupero da errori irreversibili creando una replica dei dati in altre aree. Scopri di più: Utilizzo della replica.
- Crea una soluzione di recupero da errori irreversibili per le istanze di computazione. Ulteriori informazioni: replica di un volume.
Questa architettura contiene i componenti elencati di seguito.
- Area
Un'area Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, definiti domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (in tutti i paesi o anche in continenti).
- Domini di disponibilità
I domini di disponibilità sono data center standalone indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse presenti negli altri domini di disponibilità, che offrono tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione, il raffreddamento o la rete interna del dominio di disponibilità. È pertanto improbabile che l'eventuale guasto di un dominio di disponibilità influenzi gli altri domini di disponibilità nell'area.
- domini di errore
Un dominio di errore è un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando distribuisci risorse su più domini di errore, le tue applicazioni possono tollerare errori fisici del server, manutenzione del sistema e errori di alimentazione all'interno di un dominio di errore.
- Rete cloud virtuale (VCN) e subnet
Una VCN è una rete personalizzabile e definita dal software configurata in un'area Oracle Cloud Infrastructure. Analogamente alle reti di data center tradizionali, i VCN offrono il controllo completo sull'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che puoi modificare dopo aver creato la VCN. Puoi segmentare una VCN nelle subnet che possono essere definite nell'area o in un dominio di disponibilità. Ogni subnet è composta da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. Puoi modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
- Memoria oggetti
Lo storage degli oggetti garantisce un accesso rapido a grandi quantità di dati strutturati e non strutturati di qualsiasi tipo di contenuto, inclusi backup del database, dati analitici e contenuti avanzati, ad esempio immagini e video. Puoi memorizzare i dati in tutta sicurezza e poi recuperarli direttamente da Internet o dall'interno della piattaforma cloud. Puoi ridimensionare lo storage in modo trasparente senza alcun peggioramento a livello di prestazioni o affidabilità dei servizi. Utilizza lo storage standard per lo storage "hot" a cui devi accedere in modo rapido, immediato e frequente. Utilizzare lo storage di archivio per lo storage "freddo" che si mantiene per lunghi periodi di tempo e raramente può accedere.
- Clona
Rclone è un programma di riga di comando open source per gestire i file nello storage cloud, usato qui per fornire lo storage degli oggetti tramite NFS.
- Corosync e Pacemaker
Corosync e Pacemaker sono entrambi servizi open source adatti a cluster di piccole e grandi dimensioni e responsabili della fornitura di alta disponibilità all'interno delle applicazioni.
- OCI CLI
L'interfaccia CLI OCI è responsabile dell'integrazione della risorsa Linux Corosync/Pacemaker VirtualIP IPaddr2 con l'IP secondario vNIC di Oracle Cloud Infrastructure.
- Oracle Linux
Per ospitare questo ambiente vengono utilizzate le istanze di Oracle Linux 8.6. Possono essere utilizzate anche altre distribuzioni Linux, purché supportino Linux Rclone/Corosync/Pacemaker.
- IP secondario
Un IP privato secondario può essere aggiunto a un'istanza dopo l'avvio. Puoi aggiungerlo alla VNIC primaria o secondaria sull'istanza. Questo IP secondario fluttuerà tra i nodi. Se un nodo è inattivo, l'IP mobile passerà a un altro. Corosync e Pacemaker saranno responsabili di questo processo di cambiamento.
Suggerimenti
- Clona
Utilizzare lo stesso nome directory in entrambi i nodi del cluster. Prestare attenzione alla configurazione di esportazione NFS in modo che non si verifichino problemi utilizzando il file system Rclone. Se per attivare la directory si utilizza l'interfaccia grafica, è possibile monitorarla mediante l'interfaccia grafica.
Se non si configurano i servizi Rclone nel cluster Linux, si consiglia di utilizzare uno script shell in crontab per avviare i servizi durante l'avvio del server
- VCN
Quando crei una rete VCN, determina il numero di blocchi CIDR necessari e la dimensione di ogni blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Usa blocchi CIDR che si trovano nello spazio di indirizzi IP privati standard.
Selezionare i blocchi CIDR che non si sovrappongono ad altre reti (in Oracle Cloud Infrastructure, nel data center on premise o in un altro provider cloud) a cui si intende impostare connessioni private.
Dopo aver creato una VCN, puoi modificarne, aggiungere e rimuovere i blocchi CIDR.
Quando si progettano le subnet, tenere in considerazione il flusso di traffico e i requisiti di sicurezza. Collegare tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può essere utilizzata come limite di sicurezza.
- Forme di computazione
Questa architettura utilizza un'immagine del sistema operativo Oracle Linux con forma flessibile E3 o E4 con risorse minime per ospitare gli host di computazione sui nodi cluster. Se la tua applicazione richiede una maggiore quantità di throughput di rete, memoria o memorie centrali, puoi scegliere una forma diversa.
- Cluster Oracle Linux
Una volta eseguito il provisioning delle istanze Oracle Linux, dovrai impostare l'interfaccia CLI come indicato nella documentazione pubblica e installare e configurare il cluster Corosync/Pacemaker insieme ai relativi requisiti (stonit, quorum, risorse, vincoli e così via). Dopo aver configurato il cluster Corosync/Pacemaker e l'interfaccia CLI, sarà necessario impostare la risorsa VirtualIP. In questo collegamento viene illustrato un esempio rapido di come impostare una risorsa VirtualIP su Corosync/Pacemaker utilizzando la riga di comando. Lo stesso processo può essere eseguito anche tramite l'interfaccia utente del browser Web.
- Memorizzazione degli oggetti
Utilizzare la gestione del ciclo di vita degli oggetti (vedere Esplora altro) per modificare il tipo e utilizzare le regole di conservazione per conservare i dati (vedere Esplora altro) per modificare e gestire i dati nel bucket dopo il caricamento dei file.
- Corosync e Pacemaker
Utilizzare il maggior numero possibile di variabili durante l'integrazione di Linux Corosync e Pacemaker con l'interfaccia CLI OCI per mantenere lo script statico e indipendente dal server in esecuzione.
Visualizza altro
Ulteriori informazioni sul recupero da errori irreversibili.
Esaminare le risorse aggiuntive riportate di seguito.
- OCI
- Uso della replica
- Replica di un volume
- Uso della gestione del ciclo di vita degli oggetti
- Uso delle regole di conservazione per conservare i dati
- Framework basato sulle best practice per Oracle Cloud Infrastructure
- Panoramica di Memorizzazione oggetti
- Impostazione della configurazione cluster High Availability
- Il failover automatico degli IP virtuali su Oracle Cloud Infrastructure sembra difficile, ma non lo è
- Ripristino di un backup su un nuovo volume
- Altro