LVM Snapshots Backup and Restore på LVM

i vores tidligere tutorials har vi set, at implementering af LVM-volumener kan være meget gavnligt for at styre plads på din vært.

det logiske Volumenstyringslag udsætter en API, der kan bruges til at tilføje eller fjerne plads efter ønske, mens dit system kører.

der er dog en anden nøglefunktion eksponeret af LVM, der kan være meget gavnlig for systemadministratorer : LVM snapshots.

i datalogi bruges snapshots til at beskrive et systems tilstand på et bestemt tidspunkt.

i denne vejledning skal vi se, hvordan du nemt kan implementere LVM-snapshots.

vi vil også se, hvordan du kan sikkerhedskopiere et helt filsystem ved hjælp af snapshots og gendanne det efter ønske.

Indholdsfortegnelse

forudsætninger

for at oprette LVM-snapshots skal du naturligvis have mindst et logisk volumen oprettet på dit system.

hvis du ikke er sikker på, om dette er tilfældet eller ej, kan du køre kommandoen “lvs” for at vise eksisterende logiske volumener.

$ lvs
liste over logiske mængder

i denne situation har vi et 3 GB logisk volumen oprettet på vores system.

at have en 3 GB logisk lydstyrke betyder dog ikke nødvendigvis, at hele rummet bruges på vores system.

for at kontrollere den faktiske størrelse af din logiske lydstyrke kan du kontrollere din brugte diskplads ved hjælp af kommandoen “df”.

$ df -h

Bemærk : din logiske lydstyrke skal monteres, så du kan kontrollere det anvendte rum..

hvis du ikke er sikker på montering af logiske volumener eller partitioner, skal du tjekke vores tutorial om montering af filsystemer.

kontrol af størrelsen på logisk lydstyrke

som du kan se her, har den logiske lydstyrke en kapacitet på 3 GB, men alligevel bruges kun 3,1 MB på filsystemet.

lad os som et eksempel sige, at vi vil sikkerhedskopiere /etc-mappen på vores server.

$ cp -R /etc /mnt/lv_mount

nu hvor vores konfigurationsmappe er kopieret til vores logiske lydstyrke, lad os se, hvordan vi kan oprette et LVM-øjebliksbillede af dette filsystem.

oprettelse af LVM-Snapshots ved hjælp af lvcreate

for at oprette et LVM-snapshot af en logisk lydstyrke skal du udføre kommandoen “lvcreate” med indstillingen “- s” til “snapshot”, indstillingen “- L” med størrelsen og navnet på det logiske lydstyrke.

Valgfrit kan du angive et navn til dit øjebliksbillede med indstillingen “-n”.

$ lvcreate -s -n <snapshot_name> -L <size> <logical_volume>
oprettelse af et LVM-øjebliksbillede ved hjælp af lvcreate

Bemærk: Du kan ikke oprette snapshot-navne med “snapshot” i navnet, da det er et reserveret søgeord.

du skal også sørge for, at du har nok resterende plads i volumengruppen, da snapshotet oprettes som standard i den samme volumengruppe.

nu hvor dit øjebliksbillede er oprettet, kan du inspicere det ved at køre kommandoen “lvs” eller kommandoen “lvdisplay” direkte.

$ lvs$ lvdisplay <snapshot_name>
visning af LVM snapshots ved hjælp af lvs

som du kan se, har den logiske lydstyrke et sæt forskellige attributter sammenlignet med den oprindelige logiske lydstyrke :

  • s: for snapshot,” o ” betyder oprindelse for det originale logiske volumen kopieret til snapshot;
  • B : for skrivbar betydning, at dit snapshot har læse-og skrivetilladelser på det;
  • i : for “arvet”;
  • a: for “allokeret”, hvilket betyder, at det faktiske rum er dedikeret til dette logiske volumen;
  • o : (i det sjette felt), der betyder “åben” med angivelse af, at den logiske lydstyrke er monteret;
  • s : snapshot-måltype for begge logiske volumener

nu hvor din snapshot-logiske lydstyrke er oprettet, skal du montere den for at udføre en sikkerhedskopi af filsystemet.

montering af LVM snapshot ved hjælp af mount

for at montere et LVM-snapshot skal du bruge kommandoen “mount”, angive den fulde sti til den logiske lydstyrke og angive det monteringspunkt, der skal bruges.

$ mount <snapshot_path> <mount_point>

lad os som et eksempel sige, at vi vil montere “/dev/vg_1/lvol0” til “/mnt/lv_snapshot” monteringspunktet på vores system.

for at opnå det ville vi køre følgende kommando :

$ mount /dev/vg_1/lvol0 /mnt/snapshot

du kan straks kontrollere, at monteringsoperationen er effektiv ved at køre kommandoen “lsblk” igen.

$ lsblk
montering af et LVM snapshot

sikkerhedskopiering af LVM Snapshots

nu hvor dit snapshot er monteret, vil du være i stand til at udføre en sikkerhedskopi af det ved hjælp af enten tar-eller rsync-kommandoerne.

når du udfører sikkerhedskopier, har du i det væsentlige to muligheder : du kan udføre en lokal kopi, eller du kan vælge at overføre arkiver direkte til en ekstern backup-server.

oprettelse af en lokal LVM snapshot-sikkerhedskopi

den nemmeste måde at sikkerhedskopiere et LVM-snapshot på er at bruge kommandoen “tar” med indstillingen “- c” til “Opret”, indstillingen “å” for at oprette en gsip-fil og “- f” for at specificere en destinationsfil.

$ tar -cvzf backup.tar.gz <snapshot_mount>

i vores tilfælde, da snapshot er monteret på “/mnt/lv_snapshot” mountpoint, ville backup kommandoen være :

$ tar -cvzf backup.tar.gz /mnt/lv_snapshot

når du kører denne kommando, oprettes en sikkerhedskopi i din nuværende arbejdsmappe.

oprettelse og overførsel af en LVM snapshot-sikkerhedskopi

i nogle tilfælde ejer du en backup-server, der kan bruges til at gemme LVM-sikkerhedskopier regelmæssigt.

for at oprette sådanne sikkerhedskopier skal du bruge kommandoen “rsync”, angive det filsystem, der skal sikkerhedskopieres, samt destinationsserveren, der skal bruges.

# If rsync is not installed already, you will have to install using apt$ sudo apt-get install rsync$ rsync -aPh <snapshot_mount> <remote_user>@<destination_server>:<remote_destination>

Bemærk: Hvis du ikke er sikker på filoverførsler på , skal du kontrollere den tutorial, vi skrev om emnet.

lad os som et eksempel sige, at snapshotet er monteret på “/mnt/lv_snapshot”, og at vi vil sende snapshotet til backupserveren, der sidder på IP-adressen “192.168.178.33”.

for at oprette forbindelse til den eksterne backup-server bruger vi “kubuntu” – kontoen, og vi vælger at have filer gemt i mappen “/backups”.

$ rsync -aPh /mnt/lv_snapshot :/backups

nu hvor dit logiske volumenbillede er sikkerhedskopieret, vil du være i stand til at gendanne det let efter behov.

oprettelse af LVM-sikkerhedskopier eksternt

Gendannelse af LVM Snapshots

nu hvor din LVM er sikkerhedskopieret, kan du gendanne den på dit lokale system.

for at gendanne en LVM logisk lydstyrke skal du bruge kommandoen “lvconvert” med indstillingen “–mergesnapshot” og angive navnet på det logiske volumenbillede.

når du bruger “–mergesnapshot”, flettes snapshotet i det oprindelige logiske volumen og slettes lige efter det.

$ lvconvert --mergesnapshot <snapshot_logical_volume>

i vores tilfælde blev det logiske volumenbillede navngivet lvol0, så vi ville køre følgende kommando

$ lvconvert --mergesnapshot vg_1/lvol0
fletning af snapshot ved hjælp af lvconvert

som du sikkert har bemærket, kan begge enheder (originalen og snapshotet ikke være åbne for, at fletningen skal lykkes.

Alternativt kan du opdatere den logiske lydstyrke, så den kan genaktiveres ved hjælp af de nyeste metadata ved hjælp af “lvchange”

$ lvchange --refresh vg_1/lv_1

når den fusionerende handling er lykkedes, kan du kontrollere, at din logiske lydstyrke blev fjernet fra listen over tilgængelige logiske volumener.

$ lvs
visning af logiske volumener uden snapshot

færdig!

det logiske volumenbillede er nu fjernet, og ændringerne blev flettet tilbage til det oprindelige logiske volumen.

konklusion

i denne tutorial lærte du om LVM-snapshots, hvad de er, og hvordan de kan bruges til at sikkerhedskopiere og gendanne filsystemer.

det er vigtigt at oprette sikkerhedskopier regelmæssigt, især når du arbejder i et mellemstort til stort firma.

at have sikkerhedskopier og være i stand til at gendanne dem let er den bedste måde at sikre, at du vil være i stand til at forhindre større datatab på dine systemer.

hvis du er interesseret i systemadministration, har vi et komplet afsnit dedikeret til det på hjemmesiden, så sørg for at tjekke det ud!