LVM Snapshots back-up en herstel op Linux

in onze vorige tutorials hebben we gezien dat het implementeren van LVM volumes zeer nuttig kan zijn om de ruimte op uw host te beheren.

de logical Volume Management layer toont een API die gebruikt kan worden om naar believen ruimte toe te voegen of te verwijderen terwijl uw systeem draait.

er is echter nog een andere belangrijke functie die door LVM wordt getoond en die zeer nuttig kan zijn voor systeembeheerders : LVM snapshots.

in de informatica worden snapshots gebruikt om de toestand van een systeem op een bepaald moment te beschrijven.

in deze tutorial gaan we zien hoe u LVM snapshots eenvoudig kunt implementeren.

we gaan ook zien hoe u een back-up van een volledig bestandssysteem kunt maken met behulp van snapshots en het naar believen kunt herstellen.

inhoudsopgave:

Prerequisites

om LVM snapshots te maken, moet er natuurlijk minstens een logisch volume op uw systeem aangemaakt worden.

als u niet zeker weet of dit het geval is of niet, kunt u het commando “lvs” uitvoeren om bestaande logische volumes weer te geven.

$ lvs
logische volumes weergeven op linux

In deze situatie hebben we een 3 GB logisch volume gemaakt op ons systeem.

echter, het hebben van een 3 GB logisch volume betekent niet noodzakelijk dat de volledige ruimte wordt gebruikt op ons systeem.

om de werkelijke grootte van uw logische volume te controleren, kunt u de gebruikte schijfruimte controleren met het “df” Commando.

$ df -h

opmerking : uw logische volume moet worden gemonteerd om u de gebruikte ruimte te controleren..

als u niet zeker bent over het aankoppelen van logische volumes of partities, bekijk dan onze tutorial over het aankoppelen van bestandssystemen.

grootte van logisch volume controleren op linux

zoals je hier kunt zien, heeft het logische volume een capaciteit van 3 GB, maar er wordt slechts 3.1 MB gebruikt op het bestandssysteem.

als voorbeeld, laten we zeggen dat we een back-up willen maken van de /etc map van onze server.

$ cp -R /etc /mnt/lv_mount

nu onze configuratiemap is gekopieerd naar ons logische volume, laten we eens kijken hoe we een LVM snapshot van dit bestandssysteem kunnen maken.

LVM-Snapshots maken met lvcreate

om een LVM-snapshot van een logisch volume te maken, moet u het commando “lvcreate” uitvoeren met de optie “- s” voor “snapshot”, de optie “- L” met de grootte en de naam van het logische volume.

Optioneel kunt u een naam opgeven voor uw snapshot met de optie “-n”.

$ lvcreate -s -n <snapshot_name> -L <size> <logical_volume>
een LVM-snapshot maken met lvcreate

Opmerking: U zult niet in staat zijn om snapshot namen te maken met “snapshot” in de naam omdat het een gereserveerd trefwoord is.

u moet er ook voor zorgen dat u voldoende ruimte overhoudt in de volumegroep, aangezien de snapshot standaard in dezelfde volumegroep wordt gemaakt.

nu uw snapshot is gemaakt, kunt u deze inspecteren door het commando “lvs” of het commando “lvdisplay” direct uit te voeren.

$ lvs$ lvdisplay <snapshot_name>
het weergeven van de lvm ' s maken met lvs

Zoals u kunt zien, is de logische volume is een set van verschillende kenmerken in vergelijking met de oorspronkelijke logische volume :

  • s : voor momentopname, “o”, wat betekent oorsprong voor de originele logische volume gekopieerd naar de momentopname;
  • w : voor beschrijfbare betekent dat uw snapshot heeft lees en schrijf rechten op heeft;
  • i : voor “overgenomen”;
  • a : voor “toegewezen”, wat betekent dat de werkelijke ruimte is gewijd aan deze logische volume,
  • o : (in het zesde veld) wat “open” betekent en aangeeft dat het logische volume is aangekoppeld;
  • s : snapshot doeltype voor beide logische volumes

nu uw snapshot logische volume is aangemaakt, moet u het mounten om een back-up van het bestandssysteem uit te voeren.

LVM-snapshot aankoppelen met mount

om een LVM-snapshot aan te koppelen, moet u het commando “mount” gebruiken, het volledige pad naar het logische volume specificeren en het te gebruiken koppelpunt specificeren.

$ mount <snapshot_path> <mount_point>

als voorbeeld, laten we zeggen dat we het “/dev/vg_1/lvol0” willen mounten naar het “/mnt/lv_snapshot” koppelpunt op ons systeem.

om dat te bereiken, zouden we het volgende commando uitvoeren :

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

u kunt onmiddellijk controleren of de montage werkt is effectief door het uitvoeren van de & Amp; Quot; lsblk & amp; quot; commando opnieuw.

$ lsblk
een LVM snapshot aankoppelen op linux

een back-up maken van LVM Snapshots

nu uw snapshot is aangekoppeld, kunt u een back-up maken met de TAR-of rsync-commando ‘ s.

bij het maken van back-ups hebt u in wezen twee opties : u kunt een lokale kopie Uitvoeren, of u kunt ervoor kiezen om archieven rechtstreeks naar een externe back-upserver over te dragen.

een lokale LVM-snapshotback-up aanmaken

de makkelijkste manier om een LVM-snapshot te back-uppen is door het “tar” – commando te gebruiken met de “- c” – optie voor “create”, de “z” – optie om een gzip-bestand aan te maken en “- f” om een doelbestand op te geven.

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

in ons geval, als de snapshot is aangekoppeld op het”/mnt / lv_snapshot ” aankoppelpunt, zou het backup Commando :

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

wanneer dit commando wordt uitgevoerd, zal er een back-up worden gemaakt in uw huidige werkmap.

een LVM-snapshotback-up aanmaken en overdragen

in sommige gevallen bezit u een back-upserver die gebruikt kan worden om LVM-back-ups regelmatig op te slaan.

om dergelijke back-ups te maken, gebruikt u het “rsync” Commando, specificeer het bestandssysteem dat geback-upt moet worden en de te gebruiken doelserver.

# 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>

opmerking: als je niet zeker bent over bestandsoverdrachten op Linux, moet je de tutorial bekijken die we over dit onderwerp hebben geschreven.

als voorbeeld, laten we zeggen dat de snapshot is aangekoppeld op het “/mnt/lv_snapshot” en dat we de snapshot willen sturen naar de back-upserver die op het “192.168.178.33” IP-adres zit.

om verbinding te maken met de externe back-upserver gebruiken we het “kubuntu” – account en kiezen we ervoor om bestanden op te slaan in de map “/backups”.

$ rsync -aPh /mnt/lv_snapshot :/backups

nu een back-up is gemaakt van uw logische volume snapshot, kunt u deze gemakkelijk herstellen op aanvraag.

lvm-back-ups op afstand maken

LVM Snapshots

nu er een back-up van uw LVM is gemaakt, kunt u deze herstellen op uw lokale systeem.

om een LVM logisch volume te herstellen, moet u het “lvconvert” commando gebruiken met de “–mergesnapshot” optie en de naam van de logische volume snapshot opgeven.

bij het gebruik van de” – mergesnapshot”, wordt de snapshot samengevoegd in het oorspronkelijke logische volume en direct daarna verwijderd.

$ lvconvert --mergesnapshot <snapshot_logical_volume>

in ons geval werd de logische volume snapshot lvol0 genoemd, dus zouden we het volgende commando uitvoeren

$ lvconvert --mergesnapshot vg_1/lvol0
snapshot samenvoegen met lvconvert

zoals je waarschijnlijk gemerkt hebt, kunnen beide apparaten (het origineel en de snapshot niet open zijn om de samenvoeging te laten slagen.

als alternatief kunt u het logische volume vernieuwen om het opnieuw te activeren met behulp van de nieuwste metadata met behulp van “lvchange”

$ lvchange --refresh vg_1/lv_1

nadat het samenvoegen is geslaagd, kunt u controleren of uw logische volume is verwijderd uit de lijst met beschikbare logische volumes.

$ lvs
logische volumes weergeven zonder snapshot

klaar!

de logische volume-snapshot is nu verwijderd en de wijzigingen werden samengevoegd tot het oorspronkelijke logische volume.

conclusie

In deze tutorial leerde u over LVM snapshots, wat ze zijn en hoe ze kunnen worden gebruikt om een back-up te maken en bestandssystemen te herstellen.

regelmatig back-ups maken is essentieel, vooral wanneer u in een middelgroot tot groot bedrijf werkt.

back-ups maken en ze gemakkelijk kunnen herstellen is de beste manier om ervoor te zorgen dat u in staat bent om groot verlies van gegevens op uw systemen te voorkomen.

Als u geïnteresseerd bent in Linux systeembeheer, hebben we een volledige sectie gewijd aan het op de website, dus zorg ervoor om het te controleren!