Zoeken op website

Hoe u een 'Snapshot van logisch volume en herstel' kunt maken in LVM - Deel III


LVM Snapshots zijn ruimtebesparende point-in-time kopieën van lvm-volumes. Het werkt alleen met lvm en neemt alleen ruimte in beslag als er wijzigingen worden aangebracht in het logische bronvolume in het snapshotvolume. Als er op het bronvolume grote wijzigingen zijn aangebracht in de som van 1 GB, worden dezelfde wijzigingen aangebracht in het snapshotvolume. Het is het beste om altijd een kleine hoeveelheid wijzigingen aan te brengen vanwege de ruimte-efficiëntie. Als de momentopname onvoldoende opslagruimte heeft, kunnen we lvextend gebruiken om te groeien. En als we de momentopname moeten verkleinen, kunnen we lvreduce gebruiken.

Als we per ongeluk een bestand hebben verwijderd nadat we een momentopname hebben gemaakt, hoeven we ons geen zorgen te maken, omdat de momentopname het originele bestand bevat dat we hebben verwijderd. Het is mogelijk dat het bestand aanwezig was toen de momentopname werd gemaakt. Wijzig het snapshotvolume niet, maar laat het zoals het is terwijl de snapshot wordt gebruikt voor snel herstel.

Snapshots kunnen niet worden gebruikt als back-upoptie. Back-ups zijn primaire kopieën van sommige gegevens, dus we kunnen geen momentopnamen gebruiken als back-upoptie.

Vereisten

  1. Creëer schijfopslag met LVM in Linux – DEEL 1
  2. Hoe LVM's in Linux uit te breiden/verminderen - Deel II
Mijn serverconfiguratie
  1. Besturingssysteem – CentOS 6.5 met LVM-installatie
  2. Server-IP – 192.168.0.200

Stap 1: LVM-momentopname maken

Controleer eerst of er vrije ruimte is in de volumegroep om een nieuwe momentopname te maken met behulp van de volgende opdracht ‘vgs’.

vgs
lvs

U ziet dat er nog 8 GB vrije ruimte over is in de bovenstaande vgs-uitvoer. Laten we dus een momentopname maken voor een van mijn volumes met de naam tecmint_datas. Voor demonstratiedoeleinden ga ik een snapshotvolume van slechts 1 GB maken met behulp van de volgende opdrachten.

lvcreate -L 1GB -s -n tecmint_datas_snap /dev/vg_tecmint_extra/tecmint_datas        

OR

lvcreate --size 1G --snapshot --name tecmint_datas_snap /dev/vg_tecmint_extra/tecmint_datas

Beide bovenstaande opdrachten doen hetzelfde:

  1. -s – Maakt een momentopname
  2. -n – Naam voor momentopname

Hier vindt u de uitleg van elk hierboven gemarkeerd punt.

  1. Grootte van de momentopname die ik hier maak.
  2. Creëert een momentopname.
  3. Creëert een naam voor de momentopname.
  4. Nieuwe naam voor momentopnamen.
  5. Een volume waarvan we een momentopname gaan maken.

Als u een momentopname wilt verwijderen, kunt u de opdracht ‘lvremove’ gebruiken.

# lvremove /dev/vg_tecmint_extra/tecmint_datas_snap

Maak nu een lijst van de nieuw gemaakte momentopname met behulp van de volgende opdracht.

lvs

U ziet hierboven dat er met succes een momentopname is gemaakt. Ik heb met een pijl gemarkeerd waar de snapshots vandaan komen en waar ze zijn gemaakt. Het is tecmint_datas. Ja, omdat we een momentopname hebben gemaakt voor tecmint_datas l-volume.

Laten we enkele nieuwe bestanden toevoegen aan tecmint_datas. Het volume bevat nu enkele gegevens van ongeveer 650 MB en onze momentopnamegrootte is 1 GB. Er is dus voldoende ruimte om een back-up te maken van onze wijzigingen in het snelle volume. Hier kunnen we zien wat de status is van onze momentopname met behulp van de onderstaande opdracht.

lvs

U ziet dat 51% van het momentopnamevolume nu is gebruikt, geen probleem voor meer wijzigingen in uw bestanden. Gebruik de opdracht voor meer gedetailleerde informatie.

lvdisplay vg_tecmint_extra/tecmint_data_snap

Nogmaals, hier is een duidelijke uitleg van elk punt dat in de bovenstaande afbeelding is gemarkeerd.

  1. Naam van het logische momentopnamevolume.
  2. Volumegroepnaam die momenteel in gebruik is.
  3. Snapshot-volume in lees- en schrijfmodus, we kunnen het volume zelfs koppelen en gebruiken.
  4. Een tijdstip waarop de momentopname is gemaakt. Dit is erg belangrijk omdat een momentopname elke wijziging na deze tijd zal opzoeken.
  5. Deze momentopname behoort tot het logische volume tecmint_datas.
  6. Een logisch volume is online en beschikbaar voor gebruik.
  7. Grootte van het bronvolume waarvan we een momentopname hebben gemaakt.
  8. Koetabelgrootte=kopiëren bij schrijven, wat betekent dat alle wijzigingen die zijn aangebracht in het tecmint_data-volume naar deze momentopname worden geschreven.
  9. Momenteel was de gebruikte snapshotgrootte, onze tecmint_datas 10G, maar onze snapshotgrootte was 1GB, wat betekent dat ons bestand ongeveer 650 MB is. Dus wat er nu in 51% zit, als het bestand groeit tot 2 GB in tecmint_datas, zal de grootte meer toenemen dan de toegewezen momentopname. We zullen zeker problemen krijgen met een momentopname. Dat betekent dat we de grootte van het logische volume (momentopnamevolume) moeten vergroten.
  10. Geeft de grootte van het deel voor een momentopname.

Laten we nu meer dan 1 GB aan bestanden kopiëren naar tecmint_datas, laten we kijken wat er zal gebeuren. Als u dat doet, krijgt u een foutmelding met de melding ‘Invoer-/uitvoerfout‘, wat betekent dat er onvoldoende ruimte is in de momentopname.

Als het logische volume vol raakt, wordt het automatisch verwijderd en kunnen we het niet meer gebruiken, zelfs als we de grootte van het snapshotvolume vergroten. Het is het beste idee om dezelfde grootte te hebben als Source bij het maken van een momentopname. De grootte van tecmint_datas was 10G. Als ik een momentopnamegrootte van 10 GB maak, zal deze nooit overlopen zoals hierboven, omdat er voldoende ruimte is om in te nemen snaps van uw volume.

Stap 2: Breid Snapshot uit in LVM

Als we de momentopnamegrootte vóór de overloop moeten uitbreiden, kunnen we dit doen met behulp van.

lvextend -L +1G /dev/vg_tecmint_extra/tecmint_data_snap

Nu was er in totaal 2 GB beschikbaar voor een momentopname.

Controleer vervolgens de nieuwe maat- en COW-tabel met behulp van de volgende opdracht.

lvdisplay /dev/vg_tecmint_extra/tecmint_data_snap

Om de grootte van het snapvolume en gebruik % te kennen.

lvs

Maar als u een momentopnamevolume heeft van dezelfde grootte als het bronvolume, hoeven we ons geen zorgen te maken over deze problemen.

Stap 3: Momentopname herstellen of samenvoegen

Om de momentopname te herstellen, moeten we eerst het bestandssysteem ontkoppelen.

unmount /mnt/tecmint_datas/

Controleer gewoon of het koppelpunt is ontkoppeld of niet.

df -h

Hier is de mount ontkoppeld, dus we kunnen doorgaan met het herstellen van de momentopname. Om de snap te herstellen gebruikt u het commando lvconvert.

lvconvert --merge /dev/vg_tecmint_extra/tecmint_data_snap

Nadat het samenvoegen is voltooid, wordt het snapshotvolume automatisch verwijderd. Nu kunnen we de ruimte van onze partitie zien met behulp van de opdracht df.

df -Th

Nadat het momentopnamevolume automatisch wordt verwijderd. U kunt de grootte van het logische volume zien.

lvs

Belangrijk: om de momentopnamen automatisch uit te breiden, kunnen we dit doen met behulp van enkele wijzigingen in het configuratiebestand. Voor handmatig kunnen we uitbreiden met lvextend.

Open het lvm-configuratiebestand met de editor van uw keuze.

vim /etc/lvm/lvm.conf

Zoek naar het woord automatisch verlengen. Standaard is de waarde vergelijkbaar met hieronder.

Wijzig hier 100 in 75. Als dit het geval is, is de drempel voor automatische verlenging 75 en is het percentage voor automatische verlenging 20 , wordt de grootte met 20 procent vergroot

Als het snapshotvolume 75% bereikt, wordt de grootte van het snapvolume automatisch met 20% groter. Zo kunnen we automatisch uitbreiden. Sla het bestand op en sluit het af met wq!.

Hiermee worden momentopnamen bewaard tegen overflowdaling. Dit zal u ook helpen om meer tijd te besparen. LVM is de enige partitiemethode waarmee we meer kunnen uitbreiden en veel functies hebben, zoals thin provisioning, striping, virtueel volume en meer. Laten we ze in het volgende onderwerp bekijken.