Informazioni sui backup in Proxmox VE

Informazioni sui backup in Proxmox VE
Nell'articolo «La magia della virtualizzazione: corso introduttivo a Proxmox VE» abbiamo installato con successo un hypervisor sul server, collegato uno storage, garantito la sicurezza di base e persino creato la prima macchina virtuale. Ora analizziamo come affrontare le operazioni più basilari che è necessario eseguire per garantire sempre la possibilità di ripristinare i servizi in caso di guasto.

Gli strumenti standard di Proxmox non solo consentono di eseguire il backup dei dati, ma anche di creare set di immagini di sistemi operativi preconfigurati per un rapido deployment. Questo non solo aiuta a creare un nuovo server per qualsiasi servizio in pochi secondi, ma riduce anche il tempo di inattività al minimo.

Non parleremo della necessità di creare backup, poiché è ovvio ed è già da tempo un'assioma. Ci concentreremo su alcune questioni meno evidenti e sui dettagli.

Iniziamo a esaminare come vengono salvati i dati durante la procedura di backup.

Algoritmi di backup

Iniziamo col dire che Proxmox offre un buon toolkit per creare backup delle macchine virtuali. Permette di salvare facilmente tutti i dati della macchina virtuale e supporta due meccanismi di compressione, oltre a tre metodi di creazione di questi backup.

Analizziamo innanzitutto i meccanismi di compressione:

  1. Compressione LZO. È un algoritmo di compressione dei dati senza perdita, ideato a metà degli anni '90. Il codice è stato scritto da Markus Oberhummer (implementato in Proxmox tramite l'utilità lzop). La caratteristica principale di questo algoritmo è la rapidità di decompressione. Di conseguenza, qualsiasi backup creato utilizzando questo algoritmo può essere ripristinato in minimal tempo, se necessario.
  2. Compressione GZIP. Utilizzando questo algoritmo, il backup sarà compresso «al volo» tramite l'utilità GNU Zip, che utilizza il potente algoritmo Deflate creato da Phil Katz. Si pone particolare enfasi sulla massima compressione dei dati, consentendo di ridurre lo spazio su disco occupato dai backup. La principale differenza rispetto a LZO è che le procedure di compressione/decompressione richiedono un tempo considerevole.

Modalità di archiviazione

Proxmox offre tre metodi di backup a disposizione dell'amministratore di sistema. Questi metodi permettono di affrontare le necessità richieste, stabilendo un equilibrio tra il downtime necessario e l'affidabilità della copia di backup creata:

  1. Modalità Snapshot. Questa modalità è conosciuta anche come Live backup, poiché non richiede di fermare l'operatività della macchina virtuale. L'uso di questo meccanismo non interrompe il funzionamento della VM, ma presenta due seri svantaggi: possono insorgere problemi a causa di lock dei file da parte del sistema operativo e la velocità di creazione è la più bassa. Le copie di backup create con questo metodo devono essere sempre verificate in un ambiente di test. Altrimenti, esiste il rischio che in caso di recupero d'emergenza possano fallire.
  2. Modalità Suspend. La macchina virtuale «congela» temporaneamente il proprio stato fino al termine del processo di backup. Il contenuto della memoria RAM non viene eliminato, permettendo di riprendere il lavoro esattamente da dove era stato interrotto. Questo comporta naturalmente un'interruzione del server durante la copia delle informazioni, ma non c'è necessità di spegnere/riaccendere la macchina virtuale, il che è piuttosto critico per alcuni servizi, specialmente se l'avvio di parte dei servizi non è automatico. Tuttavia, anche questi backup dovrebbero essere ripristinati in un ambiente di test per verifiche.
  3. Modalità Stop. Il metodo di backup più affidabile, ma richiede lo spegnimento completo della macchina virtuale. Viene inviata un'istruzione di arresto, dopo che è stato fermato il sistema viene eseguito il backup e poi viene impartito l'ordine di riaccensione della macchina virtuale. Il numero di errori con questo approccio è minimo e di solito si riduce a zero. I backup creati in questo modo si ripristinano praticamente sempre in modo corretto.

Esecuzione della procedura di backup

Per creare un backup:

  1. Accediamo alla macchina virtuale desiderata.
  2. Selezioniamo l'opzione Riserva.
  3. Clicchiamo il pulsante Prenota ora. Si aprirà una finestra in cui sarà possibile scegliere le opzioni per il futuro backup.

    Informazioni sui backup in Proxmox VE

  4. Come archivio, indichiamo quello che abbiamo collegato nella parte precedente.
  5. Dopo aver selezionato le opzioni, clicchiamo il pulsante Riserva e aspettiamo che il backup venga creato. Questo sarà indicato dall'etichetta TASK OK.

    Informazioni sui backup in Proxmox VE

Ora gli archivi creati con i backup delle macchine virtuali saranno disponibili per il download dal server. Il modo più semplice e banale di copia è utilizzare SFTP. A tal fine, utilizzate il popolare client FTP multipiattaforma FileZilla, che supporta il protocollo SFTP.

  1. Nel campo Host inseriamo l'indirizzo IP del nostro server di virtualizzazione, nel campo Nome utente inseriamo root, nel campo Password — quella scelta durante l'installazione, e nel campo Porta indichiamo "22" (o qualsiasi altra porta assegnata per le connessioni SSH).
  2. Clicchiamo il pulsante Connessione veloce e, se tutti i dati sono stati inseriti correttamente, nella barra attiva vedrete tutti i file situati sul server.
  3. Passiamo alla directory /mnt/storage. Tutti i backup creati saranno memorizzati nella sottodirectory "dump". Saranno nel formato:
    • vzdump-qemu-numero_macchina-data-ora.vma.gz nel caso in cui venga scelto il metodo GZIP;
    • vzdump-qemu-numero_macchina-data-ora.vma.lzo nel caso in cui venga scelto il metodo LZO.

Si consiglia di scaricare immediatamente i backup dal server e di salvarli in un luogo sicuro, ad esempio nel nostro storage cloud. Se si decomprime un file con estensione vma utilizzando l'utility omonima fornita con Proxmox, all'interno ci saranno file con le estensioni raw, conf e fw. Questi file contengono quanto segue:

  • raw — immagine del disco;
  • conf — configurazione della VM;
  • fw — impostazioni del firewall.

Ripristino da backup

Consideriamo la situazione in cui la macchina virtuale è stata accidentalmente eliminata e si richiede un ripristino urgente dal backup:

  1. Apriamo lo storage in cui si trova il backup.
  2. Andiamo alla scheda Contenuto.
  3. Selezioniamo il backup desiderato e premiamo il pulsante Ripristino.

    Informazioni sui backup in Proxmox VE

  4. Indichiamo lo storage di destinazione e l'ID che sarà assegnato alla macchina dopo il completamento del processo.
  5. Clicchiamo il pulsante Ripristino.

Una volta completato il ripristino, la VM apparirà nella lista di quelle disponibili.

Clonazione della macchina virtuale

Per esempio, supponiamo che in un'azienda sia necessario apportare modifiche a un servizio critico. Tale modifica viene realizzata tramite una serie di interventi sui file di configurazione. Il risultato, in questo caso, è imprevedibile e qualsiasi errore può causare un malfunzionamento del servizio. Per garantire che tale esperimento non influisca sul server in funzione, si consiglia di procedere alla clonazione della macchina virtuale.

Il meccanismo di clonazione creerà una copia esatta del server virtuale, sulla quale sarà possibile apportare qualsiasi modifica senza influenzare il funzionamento del servizio principale. Successivamente, se le modifiche vengono applicate con successo, la nuova VM verrà messa in funzione e la vecchia verrà spenta. In questo processo c'è un aspetto da tenere sempre in considerazione. Sulla macchina clonata, l'indirizzo IP sarà esattamente lo stesso di quello della VM originale, cioè al suo avvio si verificherà un conflitto di indirizzi.

Ti spiegheremo come evitare questa situazione. Prima di eseguire la clonazione, è necessario apportare modifiche alla configurazione di rete. Per questo motivo, è necessario cambiare temporaneamente l'indirizzo IP, senza riavviare il servizio di rete. Dopo aver completato la clonazione sulla macchina principale, bisogna ripristinare le impostazioni e assegnare un altro indirizzo IP alla macchina clonata. In questo modo, avremo due copie dello stesso server su indirizzi diversi. Questo consentirà di attivare rapidamente il nuovo servizio.

Se questo servizio è un server web, è sufficiente modificare il record A presso il tuo provider DNS, dopo di che le richieste dei clienti a questo nome di dominio saranno indirizzate all'indirizzo della macchina virtuale clonata.

A proposito, Selectel offre a tutti i suoi clienti il servizio di hosting di un numero illimitato di domini sui server NS gratuitamente. La gestione dei record avviene sia tramite il nostro pannello di controllo che tramite un'API specifica. Leggi di più nella nostra base conoscenze.

La clonazione di VM in Proxmox è un compito molto semplice. Per eseguirla, è necessario seguire i seguenti passaggi:

  1. Passa alla macchina di cui abbiamo bisogno.
  2. Seleziona dal menu Di più voce Clone.
  3. Nella finestra che si aprirà, compila il campo Nome.

    Informazioni sui backup in Proxmox VE

  4. Esegui la clonazione premendo il pulsante Clone.

Questo strumento consente di creare una copia della macchina virtuale non solo sul server locale. Se più server di virtualizzazione sono uniti in un cluster, utilizzare questo strumento permette di spostare immediatamente la copia creata sul server fisico desiderato. Una funzione utile è la selezione dello storage disk (parametro Target Storage), il che è molto comodo quando si sposta una macchina virtuale da un dispositivo fisico a un altro.

Formati di archiviazione virtuale

Parleremo in dettaglio dei formati di archiviazione utilizzati in Proxmox:

  1. RAW. È il formato più chiaro e semplice. Si tratta di un file con i dati del disco rigido "byte per byte" senza compressione o ottimizzazione. Questo è un formato molto comodo, poiché può essere montato facilmente con il comando standard mount in qualsiasi sistema linux. Inoltre, è il "tipo" di archiviazione più veloce, poiché l'iper-v non deve elaborarlo in alcun modo.

    Un serio svantaggio di questo formato è che lo spazio che hai allocato per la macchina virtuale occupa esattamente quello stesso spazio su disco rigido, indipendentemente dallo spazio effettivamente utilizzato all'interno della macchina virtuale.

  2. Formato immagine QEMU (qcow2). Probabilmente il formato più versatile per qualsiasi compito. Il suo vantaggio è che il file dei dati conterrà solo lo spazio effettivamente occupato all'interno della macchina virtuale. Ad esempio, se sono stati allocati 40 GB di spazio, ma ne sono stati realmente utilizzati solo 2 GB, l'ulteriore spazio sarà disponibile per altre VM. Questo è particolarmente rilevante in un contesto di economia dello spazio su disco.

    Un piccolo inconveniente nell'uso di questo formato è che per montare tale immagine in un'altra macchina è necessario prima caricare un driver nbd speciale, oltre a utilizzare l'utilità qemu-nbd, che consentirà al sistema operativo di accedere al file come a un normale dispositivo a blocchi. Dopo di che, l'immagine diventerà accessibile per il montaggio, la partizione, il controllo del filesystem e altre operazioni.

    È importante ricordare che tutte le operazioni di input-output quando si utilizza questo formato sono gestite programmaticamente, il che comporta un rallentamento durante le operazioni attive con il sottosistema di archiviazione. Se l'obiettivo è distribuire un database su un server, è meglio scegliere il formato RAW.

  3. Formato immagine VMware (vmdk). Questo formato è "nativo" per l'ipervisore VMware vSphere ed è stato incluso in Proxmox per compatibilità. Consente di migrare una macchina virtuale VMware nell'infrastruttura Proxmox.

    L'uso del vmdk in modo permanente non è raccomandato, poiché questo formato è il più lento in Proxmox, quindi è utile solo per la migrazione, niente di più. Probabilmente, in un futuro prossimo, questo problema sarà risolto.

Lavorare con le immagini dei dischi

In dotazione con Proxmox c'è un'ottima utility chiamata qemu-img. Una delle sue funzioni è la conversione delle immagini dei dischi virtuali. Per utilizzarla, basta aprire la console dell'ipervisore ed eseguire il comando nel formato:

qemu-img convert -f vmdk test.vmdk -O qcow2 test.qcow2

Nell'esempio fornito, l'immagine vmdk del dispositivo di archiviazione virtuale VMware chiamata test verrà convertita nel formato qcow2. Questo è un comando molto utile quando è necessario correggere un errore nella scelta iniziale del formato.

Grazie a questo stesso comando è possibile forzare la creazione dell'immagine necessaria, utilizzando l'argomento create:

qemu-img create -f raw test.raw 40G

Questo comando creerà un'immagine test nel formato RAW, di dimensioni 40 GB. Ora è idonea per essere collegata a qualsiasi macchina virtuale.

Ridimensionamento del disco virtuale

Infine, mostreremo come aumentare le dimensioni dell'immagine del disco, se per qualche motivo lo spazio disponibile è diventato insufficiente. Per questo utilizzeremo l'argomento resize:

qemu-img resize -f raw test.raw 80G

Ora la nostra immagine è diventata di 80 GB. È possibile visualizzare informazioni dettagliate sull'immagine usando l'argomento info:

qemu-img info test.raw

Non dimenticate che l'estensione stessa dell'immagine non aumenterà automaticamente le dimensioni della partizione — semplicemente aggiungerà spazio disponibile. Per aumentare la partizione, utilizzate il comando:

resize2fs /dev/sda1

dove /dev/sda1 — la partizione necessaria.

Automazione della creazione di backup

L'uso del metodo manuale per la creazione di backup è un compito piuttosto laborioso e richiede molto tempo. Ecco perché Proxmox VE include uno strumento per il backup automatico programmato. Vediamo come fare:

  1. Utilizzando l'interfaccia web dell'iper-v, apriamo la voce Data center.
  2. Selezioniamo l'opzione Riserva.
  3. Clicchiamo il pulsante Aggiungi.
  4. Impostiamo i parametri per il pianificatore.

    Informazioni sui backup in Proxmox VE

  5. Selezioniamo la casella Attivare.
  6. Salviamo le modifiche utilizzando il pulsante Crea.

Ora il pianificatore avvierà automaticamente il programma di backup all'orario specificato, secondo il piano impostato.

Conclusione

Abbiamo esaminato i metodi standard di backup e ripristino delle macchine virtuali. Il loro utilizzo consente di salvaguardare tutti i dati senza particolari problemi e di ripristinarli rapidamente in caso di emergenze.

Naturalmente, questo non è l'unico modo per salvaguardare dati importanti. Esistono molti strumenti, ad esempio, Duplicity, che consentono di creare copie complete e incremental dei contenuti dei server virtuali basati su Linux.

Quando si eseguono procedure di backup, è sempre importante tenere presente che esse caricano attivamente il sottosistema del disco. Pertanto, è consigliabile eseguire queste procedure nei momenti di carico minimo, per evitare ritardi nelle operazioni di input-output all'interno delle macchine. È possibile monitorare lo stato dei ritardi delle operazioni sui dischi direttamente dall'interfaccia web del hypervisor (parametro IO delay).

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster