MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

ClusterControl - Gestione avanzata dei backup - MongoDB

Il ripristino di emergenza non viene completato senza un sistema di backup adeguato. Quando succede qualcosa di brutto, i dati possono essere ripristinati utilizzando il backup preferibilmente con l'ultimo. Potremmo voler evitare di ripristinare i dati che non sono aggiornati. Probabilmente potrebbero esserci delle informazioni che mancano con il vecchio backup. Questo è il motivo per cui avere una buona pratica di backup è fondamentale per la maggior parte dei sistemi al giorno d'oggi.

MongoDB è diventato più popolare anno dopo anno. Ci sono molte aziende che hanno iniziato a utilizzare MongoDB come uno dei loro database. Una delle caratteristiche e probabilmente il motivo per cui MongoDB è popolare è la sua velocità e MongoDB è facile da scalare. MongoDB è uno dei database supportati in ClusterControl. È possibile distribuire, importare, ridimensionare e persino eseguire il backup con ClusterControl. In questo post del blog, esamineremo la funzionalità di backup avanzato per il set di repliche MongoDB e il cluster partizionato.

Tipi di backup MongoDB

MongoDB supporta sia il backup logico che fisico. In aggiunta a ciò, MongoDB supporta anche il Point In Time Recovery (PITR). Vediamo qual è la differenza tra tutti e 3 i tipi di backup.

Backup logico

mongodump

Questa utilità creerà un'esportazione binaria del contenuto di un database. Non solo, mongodump può esportare dati da istanze mongod o mongos, può esportare dati da distribuzioni standalone, set di repliche e cluster partizionati

Backup fisico

NA

Il backup fisico in MongoDB può essere eseguito solo a livello di sistema. Al momento, non è disponibile alcun backup fisico in ClusterControl. Il modo in cui funziona il backup fisico consiste nel creare uno snapshot su LVM o dispositivo di archiviazione.

PITR

Backup Percona per MongoDB

Percona Backup per MongoDB ereditato da e sostituisce mongodb_consistent_backup, che è già deprecato. Si tratta di una soluzione distribuita a basso impatto per ottenere backup coerenti sia per i cluster partizionati MongoDB che per i set di repliche. Questo tipo di backup è logico ma allo stesso tempo potrebbe fungere da backup PITR.

Ora che sappiamo qual è la differenza tra il tipo di backup.

Gestione backup MongoDB

ClusterControl consente di creare il backup in tempo reale e di pianificarlo secondo la pianificazione desiderata. Una cosa degna di nota, nel caso in cui desideri pianificare, ClusterControl utilizzerà il fuso orario UTC. Quindi devi scegliere l'ora giusta che si adatta al tuo fuso orario in modo che il programma venga eseguito nell'orario meno occupato.

Andiamo avanti e proviamo a utilizzare la funzione di backup in ClusterControl. Oltre a ciò, esamineremo anche una delle funzionalità avanzate che consiste nel caricare il backup nel cloud. A partire da ClusterControl 1.9.0, MongoDB supporta il caricamento su cloud che consente di caricare il backup sul provider di archiviazione cloud preferito.

Backup logico MongoDB

Iniziamo con il backup logico. Prima che la funzionalità di caricamento del backup nel cloud possa essere utilizzata, è necessario integrarla con il provider cloud preferito. Nel nostro caso, lo integreremo con il cloud AWS. Per eseguire l'integrazione AWS completa, puoi seguire i seguenti passaggi:

  • Utilizza l'indirizzo e-mail e la password dell'account AWS per accedere alla Console di gestione AWS come utente root dell'account AWS .

  • Nella pagina IAM Dashboard, scegli il nome del tuo account nella barra di navigazione, quindi scegli Le mie credenziali di sicurezza.

  • Se viene visualizzato un avviso sull'accesso alle credenziali di sicurezza per il tuo account AWS, scegli Continua su Credenziali di sicurezza.

  • Espandi la sezione Chiavi di accesso (ID chiave di accesso e chiave di accesso segreta).

  • Scegli Crea nuova chiave di accesso. Quindi scegli Scarica file chiave per salvare l'ID chiave di accesso e la chiave di accesso segreta in un file sul tuo computer. Dopo aver chiuso la finestra di dialogo, non potrai più recuperare questa chiave di accesso segreta.

Supponendo che tu abbia già il cluster MongoDB pronto, avvieremo il nostro processo di backup. Innanzitutto, vai su cluster MongoDB -> Backup -> Crea backup

Nella pagina successiva, puoi specificare se vuoi abilitare la crittografia o non. Per la crittografia, ClusterControl utilizzerà OpenSSL per crittografare il backup utilizzando l'algoritmo AES-256 CBC. La crittografia avviene sul nodo di backup. Se si sceglie di archiviare il backup sul nodo controller, i file di backup vengono trasmessi in streaming in formato crittografato tramite socat o netcat. La crittografia è considerata una delle funzionalità di backup avanzate che potrebbero essere utilizzate, quindi nel nostro caso abiliteremo questa opzione. Puoi anche definire il periodo di conservazione del tuo backup in questa pagina. Nel nostro caso, utilizzeremo l'impostazione predefinita di 31 giorni.

Nella terza pagina è necessario specificare il login per il provider cloud , scegli/crea il bucket. Puoi anche specificare la conservazione per il tuo backup su cloud, l'impostazione predefinita è 180 giorni.

Dopo aver fatto clic sul pulsante Crea backup, il processo verrà avviato immediatamente e ci vorrà del tempo a seconda delle dimensioni del database. Allo stesso tempo, il backup verrà caricato nel cloud storage (AWS). Potresti notare che le icone "chiave" e "nuvola" sono evidenziate al termine del backup come segue:

Ora che hai il backup pronto, per ripristinare il backup il passaggio è molto semplice. Tutto quello che devi fare è fare clic sul collegamento "Ripristina" e fare clic sul pulsante "Fine" nella pagina di ripristino come la seguente:

Backup PITR MongoDB

Come accennato in precedenza, Percona Backup for MongoDB è un tipo di backup PITR. Prima di poter utilizzare questo tipo di backup, è necessario installare l'agente (pbm-agent) su tutti i nodi/istanze MongoDB. Prima di ciò, è necessario montare anche una directory condivisa su tutti i nodi. Iniziamo!

Per prima cosa, devi configurare il server NFS. Per installare un server NFS è necessario scegliere o distribuire una macchina virtuale, nel nostro caso installeremo il server NFS nel nodo ClusterControl (Centos):

[[email protected] ~]# dnf install nfs-utils

Una volta installata l'utilità NFS, puoi avviare il servizio e abilitarlo all'avvio del sistema:

[[email protected] ~]# # systemctl avvia nfs-server.service

[[email protected] ~]# # systemctl abilita nfs-server.service

[[email protected] ~]# # stato systemctl nfs-server.service

Il passaggio successivo consiste nel configurare il file /etc/exports in modo che la directory sia accessibile dai client NFS:

[[email protected] ~]# vi /etc/exports

/mnt/backups                    10.10.80.10(rw,sync,no_root_squash,no_subtree_check)

Nel nodo client che è il nostro database, dobbiamo installare anche i pacchetti NFS necessari:

[[email protected] ~]# dnf install nfs-utils nfs4-acl-tools

Una volta installati i pacchetti, possiamo creare la directory e montarla:

[[email protected] ~]# mkdir -p /mnt/backups

[[email protected] ~]# mount -t nfs 10.10.80.10:/mnt/backups /mnt/backups

Assicurati di eseguire il mount su tutti i nodi del database per consentirci di installare pbm-agent. Considerando che tutti i nodi hanno già la directory montata NFS, procederemo ora con l'installazione dell'agente. Vai al cluster MongoDB -> Backup -> Impostazioni -> Percona Backup

Dopo aver fatto clic sul pulsante Installa Percona Backup, apparirà la seguente schermata . Qui è necessario specificare la directory condivisa. Ancora una volta, assicurati che la directory sia stata montata in tutti i tuoi nodi MongoDB. Una volta specificata la Directory di backup, puoi fare clic sul pulsante Installa e attendere il completamento dell'installazione.

L'installazione riuscita dovrebbe essere come la seguente schermata. Ora potremmo procedere con il processo di backup:

Per creare il backup utilizzando Percona Backup, i passaggi sono semplici. Sfortunatamente, non è possibile utilizzare l'opzione per crittografare il backup utilizzando questo metodo. Per utilizzare la funzione di caricamento nel cloud, è necessario abilitare l'opzione prima di scegliere il tipo di backup, altrimenti il ​​backup non verrà caricato. Noterai che la funzione di caricamento scomparirà una volta scelto "percona-backup-mongodb".

Nella seconda pagina è possibile specificare la conservazione locale:

Per quanto riguarda l'ultima pagina, puoi specificare i dettagli del cloud e la conservazione come nell'esempio precedente. Il processo di ripristino è lo stesso dell'esempio precedente, è sufficiente fare clic sul collegamento "Ripristina" e seguire i passaggi nella pagina di ripristino:

Conclusione

Con ClusterControl, puoi creare e caricare il tuo backup MongoDB sul cloud. Il caricamento nel cloud è una delle funzionalità nuove e avanzate per MongoDB che è stata introdotta a partire da ClusterControl 1.9.0 a condizione che l'integrazione con il provider cloud sia stata eseguita correttamente. Puoi anche crittografare il tuo backup utilizzando ClusterControl se desideri proteggere il tuo backup.