GNU/Linux >> Linux Esercitazione >  >> Cent OS

Una guida sugli snapshot LVM con ext4 su CentOS 7

LVM è un gestore di volumi logici per il kernel Linux che gestisce le unità disco e dispositivi di archiviazione di massa simili. Questi volumi logici possono essere composti da diversi dischi rigidi fisici, ma appariranno come un'unica partizione su cui è possibile installare un file system.

Lo snapshot LVM può essere utilizzato come backup completo del volume. Ti consentirà di ripristinare l'intero volume nel caso qualcosa vada storto. La versione Centos 7 ha apportato importanti modifiche alle istantanee per renderle più perfette. Con gli snapshot del volume logico, puoi bloccare uno stato corrente di qualsiasi volume logico. È un tipo speciale di volume che presenta tutti i dati che erano nel volume al momento della creazione dello snapshot. Ciò significa che puoi creare facilmente un backup e, una volta necessario, ripristinare lo stato del volume logico originale. Questo metodo è molto simile a quello che già sai dall'utilizzo della virtualizzazione, in cui puoi semplicemente scattare un'istantanea dell'intera macchina virtuale e ripristinarla nel caso qualcosa sia andato storto.

1. Creazione dell'istantanea

Un volume di snapshot può essere grande o piccolo quanto vuoi, ma deve essere abbastanza grande da contenere tutte le modifiche che potrebbero verificarsi al volume originale durante la vita dello snapshot.

controllare le informazioni LV prima di

Per creare un nuovo snapshot è necessario indicare il VG e il LV corrispondente con cui creeremo uno snapshot

# lvcreate --size 1G --snapshot --name nameofthesnapshot /dev/nameofVG/nameofLV

Le istantanee LVM inizialmente non contengono dati, memorizzeranno solo le modifiche apportate al volume originale, ciò farà risparmiare molto spazio. Poiché la dimensione dell'istantanea aumenta al variare del volume di origine, è importante monitorare regolarmente la percentuale del volume dell'istantanea con il comando lvs per assicurarsi che non si riempia. Uno snapshot pieno al 100% viene perso completamente, poiché una scrittura su parti invariate dell'origine non sarebbe in grado di avere esito positivo senza danneggiare lo snapshot.

Se uno snapshot esaurisce lo spazio, l'intero snapshot viene eliminato e non può essere utilizzato. Tuttavia, se noti che lo spazio è esaurito (controllalo usando i comandi lvdisplay o lvs), puoi aumentarne le dimensioni proprio come qualsiasi altro volume logico. Dopo aver creato lo snapshot, verrà visualizzato nell'output del comando lvdisplay in questo modo:

2. Utilizzo dell'istantanea LVM

Ora puoi utilizzare lo snapshot lvm come una normale partizione, puoi montarlo in una cartella, apportarvi modifiche e se sei soddisfatto delle modifiche puoi unire le modifiche al volume originale.

Per montarlo devi solo creare una cartella e usare il comando mount in questo modo:

# mkdir /mnt/snap1
# mount /dev/test/snap1 /mnt/snap1

Ora puoi testare tutto ciò che desideri su /mnt/snap1 cartella senza modificare il sistema originale.

Se stai usando XFS come filesystem dovrai aggiungere il nouuid opzione al comando di montaggio

# mount /dev/test/snap1 /mnt/snap1 -o nouuid,ro

Quando si monta lo snapshot, i metadati scritti al momento dell'acquisizione dello snapshot consentono la mappatura dei blocchi del pool di snapshot sui blocchi modificati nel volume (o snapshot di livello superiore). In questo modo, quando arriva un accesso per un blocco specifico, LVM sa a quale blocco accede. Per quanto riguarda il filesystem su quel volume, non ci sono snapshot. Non appena crei uno snapshot, LVM crea un pool di blocchi. Questo pool contiene anche una copia completa dei metadati LVM del volume. Quando si verificano scritture sul volume principale, come l'aggiornamento di un inode, il blocco sovrascritto viene copiato in questo nuovo pool e il nuovo blocco viene scritto nel volume principale. Questo è il copy-on-write. Per questo motivo, più dati vengono modificati tra l'acquisizione di uno snapshot e lo stato corrente del volume principale, più spazio verrà consumato da quel pool di snapshot.

3. Crea un backup della nostra istantanea

Ora possiamo creare un backup dello snapshot su un disco o una partizione che abbiamo creato. Puoi scegliere un disco, un LUN, qualunque cosa ti piaccia per salvarlo. Le istantanee crescono solo se i dati sul volume logico originale cambiano o se scrivi tu stesso nello snapshot (ulteriori informazioni sull'aspetto di scrittura più avanti). Quindi, se per il momento ci dimentichiamo di scrivere manualmente negli snapshot, gli unici dati nell'istantanea sono blocchi di dati del volume originale che sono cambiati sul volume originale da quando è stato acquisito lo snapshot

Hai solo bisogno di una postazione per salvare l'istantanea.

# tar -pczf /media/backup/snap1.tar.gz /mnt/snap1

oppure puoi usare

# dd if=/mnt/snap1 of=/media/backup/snap1.img

4. Unisci l'istantanea

È possibile utilizzare uno snapshot solo per ripristinare un volume logico originale se l'originale esiste ancora. Quindi le istantanee sono una funzionalità fantastica ma non sono backup nel senso convenzionale di avere una copia completa di tutti i dati originali. Se desideri una copia separata dei tuoi dati completamente indipendente al momento di uno snapshot, puoi eseguirne una copia come faresti per qualsiasi altro dispositivo, ad es. usando i comandi cp o dd.

Se sei soddisfatto delle modifiche apportate allo snapshot e desideri unirle al volume originale. L'unione inizierà immediatamente se i filesystem nel volume originale e nello snapshot non sono montati.

Questa operazione può richiedere tempo perché i dati devono essere copiati dallo snapshot al volume originale. Non appena inizia l'unione, qualsiasi operazione di lettura e scrittura sul volume originale viene reindirizzata in modo trasparente allo snapshot che è in fase di unione. Pertanto, l'operazione è trasparente per l'utente che pensa di utilizzare il volume unito. Ciò significa che non appena inizia l'unione, gli utenti interagiscono con un volume che contiene i dati al momento della creazione dello snapshot (+ dati che sono stati eventualmente scritti nello snapshot da allora).

Puoi usare lvconvert --merge comando come nell'esempio seguente:

Se il volume originale è montato, sarà necessario riavviare il sistema affinché le modifiche abbiano effetto. Ora il volume logico originale è stato ripristinato/unito allo stato dell'istantanea. Ricorda che questo richiederà un riavvio se uno dei volumi è montato

Tieni presente che una volta che hai utilizzato un'istantanea per ripristinare/unire, l'istantanea scompare dal tuo sistema.

5. Rimuovi l'istantanea

Puoi anche rimuovere lo snapshot se non hai bisogno delle modifiche o se non hai più usi per esso. Se il volume logico è attualmente montato, smontare il volume prima di rimuoverlo. Inoltre, in un ambiente cluster è necessario disattivare un volume logico prima che possa essere rimosso. Tutti i dati che sono stati eventualmente scritti nello snapshot vengono persi.

Per rimuovere lo snapshot, utilizza il seguente comando:

lvremove /dev/test/snap1

Come puoi vedere, l'utilizzo degli snapshot LVM è un ottimo modo per testare e sperimentare diverse modifiche al sistema in totale sicurezza.

Conclusione

L'utilità delle istantanee del volume logico è enorme e ti aiuterà sicuramente con le tue attività, sia che tu sia un amministratore di sistema o uno sviluppatore. LVM è l'unico metodo di partizione in cui possiamo espanderci di più e avere molte funzionalità.


Cent OS
  1. Come configurare LVM su Linux / CentOS / Redhat

  2. Creazione di volumi logici in Linux con LVM

  3. CentOS / RHEL LVM:backup dei metadati del gruppo di volumi

  4. Sincronizza gli snapshot LVM sul server di backup

  5. È possibile ridurre in linea un volume EXT4 con LVM?

Aggiungi spazio di archiviazione con LVM

Guida passo passo per installare CentOS 8 (con screenshot)

Come creare un gruppo di volumi in Linux con LVM

DRBD con MySQL Centos 8

Guida all'installazione desktop di CentOS 6.5 con schermate

Guida per principianti a LVM (Gestione del volume logico)