Zoeken op website

Hoe schijfopslag te creëren met LVM in Linux - Deel 1


Logisch volumebeheer (LVM) is een krachtige tool die het beheer van schijfruimte aanzienlijk vereenvoudigt. Met LVM wordt het toewijzen van extra ruimte aan een bestandssysteem moeiteloos.

Wanneer een bestandssysteem meer ruimte nodig heeft, kan het eenvoudig putten uit de beschikbare vrije ruimte in de overeenkomstige volumegroep. Als gevolg hiervan kunnen bestandssystemen dynamisch worden aangepast om aan onze specifieke behoeften te voldoen.

Bovendien biedt LVM robuuste gegevensbescherming in het geval van schijfstoringen. Als een schijf tekenen van defect begint te vertonen, kunnen we een vervangende schijf naadloos in de volumegroep integreren als een nieuw fysiek volume.

Door dit te doen kunnen de logische volumes efficiënt naar de nieuwe schijf worden gemigreerd, waardoor de continuïteit wordt gewaarborgd en bescherming wordt geboden tegen mogelijk gegevensverlies.

In wezen stelt LVM beheerders in staat om de toewijzing en het beheer van schijfruimte met ongeëvenaarde flexibiliteit en veerkracht af te handelen. Dankzij de dynamische mogelijkheden voor het aanpassen van de grootte en de ingebouwde redundantiefuncties is het een onmisbare troef voor het optimaliseren van het opslaggebruik en het verbeteren van de gegevensintegriteit in elke systeemconfiguratie.

Introductie van de uitgebreide serie “Voorbereiding voor het instellen van LVM (Logisch Volumebeheer)“, zorgvuldig samengesteld in de delen 1 tot en met 6, met een diepgaande verkenning van de volgende essentiële onderwerpen:

Voordat u doorgaat met de LVM-installatie, moet u rekening houden met de volgende vereisten:

Mijn serverconfiguratie – Vereisten
  • OS – RHEL 9 met LVM-installatie
  • IP – 192.168.0.200
  • Schijven – 3 schijven van elk 20 GB.

Controleer LVM-schijfopslag in Linux

1. Om inzicht te krijgen in onze LVM-installatie, kunnen we de volgende opdrachten gebruiken om de verschillende componenten weer te geven: Fysiek volume (PV), Volumegroep (VG) en Logisch volume (LV).

pvs 
vgs
lvs

Hier vindt u de beschrijving van elke parameter die in de bovenstaande schermafbeelding wordt weergegeven.

  • Fysieke schijfgrootte (PV-grootte)
  • De gebruikte schijf was de virtuele schijf sda.
  • Volumegroepgrootte (VG-grootte)
  • Naam volumegroep (vg_tecmint)
  • Logische volumenaam (LogVol00, LogVol01)
  • LogVol00 Toegewezen voor een swap met een grootte van 956 MB
  • LogVol01 Toegewezen voor/met 18,63 GB

Dus vanaf hier komen we erachter dat er niet genoeg vrije ruimte is op de VDA-schijf.

Maak een nieuwe volumegroep in LVM

2. Om een nieuwe Volumegroep te maken, moeten we nog eens 3 harde schijven aan deze server toevoegen. Het is echter niet verplicht om 3 schijven te gebruiken; slechts 1 is voldoende om een nieuwe VG en LV (Logisch volume) binnen die VG te creëren.

Ik voeg hier de volgende 3 schijven toe voor demonstratiedoeleinden en om meer uitleg over functieopdrachten te geven.

sdb, sdc, sdd

3. Om alle schijven en hun partities weer te geven, zoals de schijfnaam, de grootte, het partitietype, de begin- en eindsectoren en meer, gebruikt u het fdisk-hulpprogramma zoals weergegeven.

fdisk -l

Hier vindt u de beschrijving van elke schijf die in de bovenstaande schermafbeelding wordt weergegeven.

  • De standaardschijf die voor het besturingssysteem wordt gebruikt, is RHEL 9.
  • Partities die op de standaardschijf zijn gedefinieerd, zijn als volgt: (sda1=boot), (sda2=/).
  • Bovendien worden toegevoegde schijven vermeld als Schijf1, Schijf2 en Schijf3.

Elke schijf is 20 GB groot.

4. Voer nu de opdracht vgdisplay uit om gedetailleerde informatie te bekijken over alle volumegroepen die op het systeem aanwezig zijn, inclusief hun naam, grootte, vrije ruimte, fysiek volume (PV) informatie, en meer.

vgdisplay

Hier vindt u de beschrijving van elke parameter die in de bovenstaande schermafbeelding wordt weergegeven.

  • VG-naam – Een volumegroepnaam.
  • Formaat – LVM-architectuur gebruikte lvm2.
  • VG-toegang – De Volumegroep bevindt zich in de lees- en schrijfmodus en is klaar voor gebruik.
  • VG-status – De volumegroep kan van formaat worden gewijzigd. We kunnen het uitbreiden als we meer ruimte nodig hebben.
  • Cur LV – Momenteel zijn er 2 logische volumes in deze volumegroep.
  • CurPV en Act PV – Momenteel is de gebruikte fysieke schijf 1 (vda) en deze is actief. We kunnen deze volumegroep dus gebruiken.
  • PE-grootte – Fysieke omvang (PE's) en grootte voor een schijf kunnen worden gedefinieerd met behulp van PE- of GB-grootte. De standaard PE-grootte van LVM is 4 MB. Als we bijvoorbeeld een logisch volume van 5 GB moeten maken, kunnen we een som van 1280 PE's gebruiken. Snap je wat ik zeg?

Hier is de uitleg: 1 GB is gelijk aan 1024 MB, dus 1024 MB x 5=5120 PE=5 GB. Deel nu 5120 door 4=1280. 4 is de standaard PE-grootte.

  • Totale PE – Deze volumegroep heeft.
  • Alloc PE – Totaal gebruikte PE, volledige PE al gebruikt, 5008 x 4PE=20032.
  • Gratis PE – Hier wordt het al gebruikt, dus er was geen gratis PE.

5. Geef nu de informatie over de schijfruimte van het bestandssysteem weer, hier wordt alleen sda gebruikt met /boot, /, en wisselen op de fysieke sda-schijf met behulp van LVM. Er is geen ruimte meer op deze schijf.

df -TH

De bovenstaande afbeelding toont het koppelpunt dat we gebruiken, en de 19GB wordt volledig gebruikt voor de root, dus er is geen vrije ruimte beschikbaar.

Maak een schijfpartitie

6. Laten we dus een nieuw fysiek volume (PV) en volumegroep (VG) maken met de naam tecmint_add_vg, en daarin logische volumes (LV's) maken. Hier kunnen we vier logische volumes maken met de namen tecmint_documents, tecmint_manager en tecmint_public.

We kunnen de Volumegroep van de momenteel gebruikte VG uitbreiden om meer ruimte te krijgen. In dit geval gaan we echter een nieuwe volumegroep maken en ermee experimenteren. Later kunnen we zien hoe we de bestandssystemen van de Volumegroep die momenteel in gebruik is, kunnen uitbreiden.

Voordat we een nieuwe schijf gebruiken, moeten we de schijf partitioneren met behulp van de opdracht fdisk, zoals weergegeven.

fdisk -c /dev/sdb

Volg vervolgens de onderstaande stappen om een nieuwe partitie te maken.

  • Kies n om een nieuwe te maken.
  • Kies p om een primaire partitie te maken.
  • Kies welk aantal partities we moeten maken.
  • Druk tweemaal op enter om de volledige ruimte op de schijf te gebruiken.
  • We moeten het type van het nieuw aangemaakte partitietype t wijzigen.
  • Welk nummer van de partitie moet worden gewijzigd, kies het nummer waarmee we 1 hebben gemaakt.
  • Hier moeten we het type wijzigen, we moeten LVM aanmaken, dus we gaan de typecode van LVM gebruiken als 8e, als we de typecode niet kennen, druk op L om alle soorten codes weer te geven.
  • Druk de partitie af die we hebben gemaakt om te bevestigen.
  • Hier kunnen we de ID zien als 8e LINUX LVM.
  • Schrijf de wijzigingen en sluit de fdisk af.

7. Voer de bovenstaande stappen uit voor de andere 2 schijven sdc en sdd om nieuwe partities te maken. Start vervolgens de machine opnieuw op om de partitietabel te verifiëren met behulp van de opdracht fdisk.

fdisk -l

Creëer een fysiek LVM-volume

8. Nu is het tijd om Fysieke volumes te maken met behulp van alle drie de schijven. Hier heb ik de fysieke schijven vermeld met behulp van de opdracht ‘pvs’, en nu wordt er slechts één standaard PV vermeld.

pvs

9. Maak vervolgens de nieuwe fysieke schijven aan en bevestig de nieuw gemaakte fysieke schijven.

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
pvs

LVM-volumegroepen maken

10. Maak een volumegroep met de naam tecmint_add_vg met behulp van de beschikbare gratis PV en een PE-grootte van 32. Om weer te geven de huidige volumegroepen, kunnen we zien dat er één volumegroep met 1 PV in gebruik is.

vgs

11. Hierdoor wordt de volumegroep met de naam tecmint_add_vg gemaakt met een PE-grootte van 32 MB en de drie fysieke volumes die we in de laatste stappen hebben gemaakt.

vgcreate -s 32M tecmint_add_vg /dev/sdb1 /dev/sdc1 /dev/sdd1

12. Verifieer vervolgens de volumegroep door de opdracht vgs opnieuw uit te voeren.

vgs

Inzicht in de uitvoer van vgs-opdrachten:

  • Naam volumegroep.
  • Fysieke volumes die in deze volumegroep worden gebruikt.
  • Toont de beschikbare vrije ruimte in deze volumegroep.
  • Totale grootte van de volumegroep.
  • Logische volumes binnen deze volumegroep. Hier hebben we nog geen aangemaakt, dus er is 0.
  • SN=Aantal momentopnamen die de volumegroep bevat. (Later kunnen we een momentopname maken).
  • Status van de Volume-groep als Beschrijfbaar, Leesbaar, Aanpasbaar, Geëxporteerd, Gedeeltelijk en Geclusterd. Hier is het wz–n-, wat betekent w=Beschrijfbaar, z=Aanpasbaar.
  • Aantal fysiek volume (PV) dat in deze volumegroep wordt gebruikt.

13. Gebruik de opdracht om meer informatie over de volumegroep weer te geven.

vgs -v

14. Voer de volgende opdracht uit om meer informatie te krijgen over nieuw gemaakte volumegroepen.

vgdisplay tecmint_add_vg

Hier vindt u de beschrijving van elke parameter die in de bovenstaande schermafbeelding wordt weergegeven.

  • Naam van volumegroep
  • LVM-architectuur gebruikt.
  • Het kan worden gelezen en geschreven, klaar voor gebruik.
  • Het formaat van deze volumegroep kan worden aangepast.
  • Er is geen fysieke schijf gebruikt en deze zijn actief.
  • Volume Groep totale grootte.
  • Een enkele PE-maat was hier 32.
  • Totaal aantal beschikbare PE in deze volumegroep.
  • Momenteel hebben we geen LV binnen deze VG gemaakt, dus het is volledig gratis.
  • UUID van deze volumegroep.

Logische LVM-volumes creëren

15. Maak nu 3 logische volumes met de namen tecmint_documents, tecmint_manager en tecmint_public. Hier laten we zien hoe u logische volumes kunt maken met zowel PE-grootte als GB-grootte.

Maak eerst een lijst van de huidige logische volumes met behulp van de volgende opdracht.

lvs

16. Deze logische volumes bevinden zich in de vg_tecmint volumegroep. Om te zien hoeveel vrije ruimte beschikbaar is om logische volumes te maken, vermeldt u de volumegroep en de beschikbare fysieke volumes met behulp van de opdracht ‘vgs’.

vgs

De volumegroepgrootte is bijna 60 GB en is ongebruikt, dus we kunnen er LV's in maken. Laten we de volumegroep in gelijke groottes verdelen om 3 logische volumes te creëren. Dat betekent 60GB/3=20GB. Elk logisch volume zal na creatie een grootte van 20 GB hebben.

Methode 1: Logische volumes creëren met behulp van PE-grootte

Laten we eerst logische volumes maken met behulp van de Physical Extent (PE)-grootte. We moeten de standaard PE-grootte kennen die aan deze volumegroep is toegewezen en het totaal aantal beschikbare PE's om nieuwe logische volumes te kunnen maken.

Voer de volgende opdracht uit om deze informatie op te halen.

vgdisplay tecmint_add_vg

  • De standaard PE die voor deze VG is toegewezen, is 32 MB. Hier is de grootte van één PE 32 MB.
  • Totaal beschikbare PE is 1917.

Voer gewoon een kleine berekening uit met behulp van de opdracht bc.

bc
1917PE/3 = 639 PE. 
639 PE x 32MB = 20448 --> 20GB

Druk op CRTL+D om bc af te sluiten.

Laten we nu 3 logische volumes maken met behulp van 639 PE's. Hier wordt -l gebruikt om de grootte uit te breiden en -n om een logische volumenaam toe te wijzen.

lvcreate -l 639 -n tecmint_documents tecmint_add_vg
lvcreate -l 639 -n tecmint_manager tecmint_add_vg
lvcreate -l 639 -n tecmint_public tecmint_add_vg

Maak een lijst van de gemaakte logische volumes met de opdracht lvs.

lvs

Methode 2: Logische volumes maken met behulp van GB-grootte

Bij het maken van een logisch volume met behulp van de GB-grootte kunnen we de exacte grootte niet krijgen. De betere manier is dus om te creëren met behulp van extend.

lvcreate -L 20G -n tecmint_documents tecmint_add_vg
lvcreate -L 20G -n tecmint_manager tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg

Maak een lijst van de gemaakte logische volumes met behulp van de lvs-opdracht.

lvs

Hier kunnen we zien dat we bij het maken van de 3e LV niet naar boven kunnen afronden naar 20 GB. Dit komt door kleine veranderingen in de grootte, maar dit probleem wordt genegeerd bij het maken van LV met behulp van Extend size.

Bestandssysteem maken

17. Om de logische volumes te kunnen gebruiken, moeten we formatteren. Hier gebruik ik het ext4-bestandssysteem om de volumes te maken en deze te mounten onder /mnt/.

mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents
mkfs.ext4 /dev/tecmint_add_vg/tecmint_public
mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager

18. Laten we mappen maken in /mnt en de logische volumes mounten die we hebben gemaakt in het bestandssysteem.

mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/
mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/
mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/

19. Lijst en bevestig het koppelpunt met behulp van.

 
df -h

Permanente montage van logische volumes

20. Het is nu tijdelijk gemount. Voor permanente mount moeten we het item in fstab toevoegen. Laten we daarvoor het mount-item van mtab ophalen met behulp van

cat /etc/mtab

21. We moeten kleine wijzigingen aanbrengen in de fstab-invoer terwijl we de inhoud van de mount-invoer invoeren, kopieën van mtab, we moeten de rw wijzigen naar de standaardwaarden

vi /etc/fstab

Onze fstab-vermeldingen zouden er ongeveer zo uit moeten zien als in het onderstaande voorbeeld.

/dev/mapper/tecmint_add_vg-tecmint_documents    /mnt/tecmint_documents  ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_public       /mnt/tecmint_public     ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_manager      /mnt/tecmint_manager    ext4    defaults 0 0

22. Voer ten slotte de opdracht mount -a uit om te controleren op de fstab-invoer voordat u opnieuw opstart.

mount -av

Hier hebben we gezien hoe u flexibele opslag met logische volumes kunt opzetten door een fysieke schijf te gebruiken voor een fysiek volume, een fysiek volume voor de volumegroep en een volumegroep voor logische volumes.

In mijn komende toekomstige artikelen zal ik zien hoe ik de volumegroep en logische volumes kan uitbreiden, het logische volume kan verkleinen, snapshots kan maken en kan herstellen vanaf snapshots. Blijf tot die tijd op de hoogte van TecMint voor meer van zulke geweldige artikelen.