Logical Volume Management (LVM) maakt het makkelijker om schijfruimte te beheren. Als een bestandssysteem meer ruimte nodig heeft, kan het worden toegevoegd aan zijn logische volumes vanuit de vrije ruimtes in zijn volumegroep en kan het bestandssysteem naar wens worden aangepast. Als een schijf defect raakt, kan een vervangende schijf worden geregistreerd als een fysiek volume met de volume groep en de logische volumes extents kunnen worden gemigreerd naar de nieuwe schijf zonder verlies van gegevens.
In een moderne wereld heeft elke server dag na dag meer ruimte nodig, zodat we afhankelijk van onze behoeften moeten uitbreiden. Logische volumes kunnen worden gebruikt in RAID, SAN. Fysieke schijven worden gegroepeerd om een volumegroep te maken. Binnen de volume groep moeten we de ruimte verdelen om logische volumes te maken. Bij gebruik van logische volumes kunnen we deze uitbreiden over meerdere schijven, logische volumes of logische volumes verkleinen met enkele commando’s zonder de huidige schijf te herformatteren en opnieuw te partitioneren. Volumes kunnen gegevens over meerdere schijven strepen dit kan de I/O stats verhogen.
LVM Features
- Het is flexibel om de ruimte op elk moment uit te breiden.
- Elk bestandssysteem kan worden geïnstalleerd en verwerkt.
- Migratie kan worden gebruikt om defecte schijf te herstellen.
- Herstel het bestandssysteem met behulp van Snapshot-functies naar een eerder stadium. etc…
Mijn Server Setup – Vereisten
- Besturingssysteem – CentOS 6.5 met LVM Installatie
- Server IP – 192.168.0.200
De titel van deze serie is Voorbereiding voor het opzetten van LVM (Logical Volume Management) door middel van de delen 1-6 en behandelt de volgende onderwerpen.
Creatie van LVM schijfopslag in Linux
1. We hebben het CentOS 6.5 besturingssysteem gebruikt met LVM in een Virtuele Schijf (VDA). Hier kunnen we de Physical Volume (PV), Volume Group (VG), Logical Volume (LV) zien door het volgende commando te gebruiken.
# pvs # vgs# lvs
Hier volgt een beschrijving van elke parameter die in bovenstaande schermafbeelding wordt weergegeven.
- Fysieke schijfgrootte (PV Size)
- Disk die werd gebruikt was Virtuele Disk vda.
- Volume Groep Grootte (VG Grootte)
- Volume Groep naam (vg_tecmint)
- Logische Volume naam (LogVol00, LogVol01)
- LogVol00 Toegewezen voor sawp met 1GB Grootte
- LogVol01 Toegewezen voor / met 16.5GB
Dus hier komen we te weten dat er niet genoeg vrije ruimte is op de VDA-schijf.
2. Om een nieuwe volumegroep te maken, moeten we 3 extra harde schijven toevoegen aan deze server. Het is niet verplicht om 3 schijven te gebruiken, 1 is genoeg om een nieuwe VG en LV in die VG te maken, ik voeg er hier meer toe voor demonstratie doeleinden en voor meer feature commando uitleg.
Volgende zijn de schijven die ik extra heb toegevoegd.
sda, sdb, sdc
# fdisk -l
- Standaardschijf in gebruik voor besturingssysteem (Centos6.5).
- Partities gedefinieerd in standaardschijf (vda1 = swap), (vda2 = /).
- Extra toegevoegde schijven worden vermeld als Schijf1, Schijf2, Schijf3.
Elke schijf heeft een grootte van 20 GB. De standaard PE-grootte van een volumegroep is 4 MB, de volumegroep die we in deze server gebruiken is geconfigureerd met de standaard PE.
- VG-naam – Een naam voor een volumegroep.
- Formaat – LVM-architectuur gebruikt LVM2.
- VG-toegang – Volumegroep is lees- en schrijfbaar en klaar voor gebruik.
- VG Status – Volume Groep kan worden vergroot, We kunnen meer uitbreiden als we meer ruimte nodig hebben.
- Cur LV – Momenteel waren er 2 Logische volumes in deze Volume Groep.
- CurPV en Act PV – Momenteel wordt er 1 fysieke schijf gebruikt (vda), en deze is actief, dus we kunnen deze volumegroep gebruiken.
- PE Size – Physical Extends, De grootte van een schijf kan worden gedefinieerd met PE- of GB-grootte, 4 MB is de standaard PE-grootte van LVM. Als we bijvoorbeeld een logisch volume van 5 GB willen maken, kunnen we 1280 PE gebruiken, begrijp je wat ik bedoel?
Hier de uitleg -> 1024MB = 1GB, als dat zo is 1024MB x 5 = 5120PE = 5GB, Deel nu de 5120/4 = 1280, 4 is de Standaard PE Grootte.
- Totaal PE – Deze Volume Groep heeft.
- Alloc PE – Totaal PE Gebruikt, volledige PE al Gebruikt, 4482 x 4PE = 17928.
- Vrije PE – Hier is het al gebruikt dus er was geen vrije PE.
3. Alleen vda gebruikt, Momenteel Centos Geïnstalleerd /boot, /, swap, in vda fysieke schijf met behulp van lvm waren er geen ruimte over in deze schijf.
# df -TH
De bovenstaande afbeelding toont de mount Point die we gebruiken 18GB wordt volledig gebruikt voor root, dus er is geen vrije ruimte meer.
4. Maak een nieuw fysiek volume (pv), een volumegroep (vg) met de naam tecmint_add_vg en maak er logische volumes (lv) in. Hier kunnen we 4 logische volumes maken met de namen tecmint_documents, tecmint_manager en tecmint_public.
We kunnen de volumegroep van de VG die we nu gebruiken uitbreiden om meer ruimte te krijgen. Maar hier, wat we gaan doen is een nieuwe Volume Groep aanmaken en ermee spelen, later kunnen we zien hoe we de bestandssystemen Volume Groep die momenteel in gebruik is kunnen uitbreiden.
Voordat we een nieuwe Schijf gebruiken moeten we de schijf partitioneren met fdisk.
# fdisk -cu /dev/sda
- c – Schakel DOS-compatibele modus uit het is aan te bevelen om deze Optie op te nemen.
- u – Terwijl de lijst van de partitietabellen het zal ons in sector in plaats van cilinder geven.
Volgende stappen volgen om een nieuwe partitie te maken.
- Kies n om een nieuwe te maken.
- Kies p om een primaire partitie te maken.
- Kies het aantal partities dat we moeten maken.
- Druk twee keer op Enter om de volledige ruimte van de schijf te gebruiken.
- We moeten het type van de nieuw gemaakte partitie wijzigen.
- Welk aantal partitie moet worden gewijzigd, kies het nummer dat we hebben gemaakt zijn 1.
- Hier moeten we het type veranderen, we moeten LVM maken dus we gaan de type code van LVM gebruiken als 8e, als we de type code niet weten Druk op L om alle type codes op te sommen.
- Print de Partitie wat we gemaakt hebben om gewoon te bevestigen.
- Hier zien we de ID als 8e LINUX LVM.
- Beschrijf de wijzigingen en sluit fdisk.
Doe de bovenstaande stappen voor andere 2 schijven sdb en sdc om nieuwe partities te maken. Herstart vervolgens de machine om de partitietabel te verifiëren met het commando fdisk.
# fdisk -l
Fysieke volumes maken
5. Nu is het tijd om Fysieke Volumes te maken met alle 3 de schijven. Hier heb ik de fysieke schijven opgesomd met het commando pvs, slechts één standaard pvs is nu opgesomd.
# pvs
Maak dan de nieuwe fysieke schijven aan met het commando.
# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1
Eenmaal opnieuw de schijf opgesomd om de nieuw aangemaakte Fysieke schijven te zien.
# pvs
Volumegroepen aanmaken
6. Maak een volumegroep aan met de naam tecmint_add_vg en gebruik daarbij de beschikbare vrije PV’s. Maak PE-grootte 32. Om de huidige volumegroepen weer te geven, kunnen we zien dat er een volumegroep is met 1 PV.
# vgs
Dit zal de volumegroep maken met 32MB PE grootte in de naam van tecmint_add_vg met gebruik van 3 Fysieke volumes die we in de laatste stappen hebben gemaakt.
# vgcreate -s 32M tecmint_add_vg /dev/sda1 /dev/sdb1 /dev/sdc1
Volgende, verifieer de volumegroep door het vgs commando opnieuw uit te voeren.
# vgs
Uitleg van vgs-opdracht:
- Volumegroepnaam.
- Fysieke Volumes gebruikt in deze volumegroep.
- Toont vrije ruimte beschikbaar in deze volumegroep.
- Totale grootte van de volumegroep.
- Logische Volumes binnen deze volumegroep, Hier hebben we nog niet aangemaakt dus er staat 0.
- SN = Aantal snapshots dat de volumegroep bevat. (Later kunnen we een snapshot maken).
- Status van de Volumegroep als beschrijfbaar, leesbaar, resizeable, geëxporteerd, gedeeltelijk en geclusterd, Hier is het wz-n- dat betekent w = beschrijfbaar, z = resizeable..
- Aantal Fysieke Volumes (PV) gebruikt in deze Volumegroep.
7. Om meer informatie over de volumegroep weer te geven, gebruik het commando.
# vgs -v
8. Voer de volgende opdracht uit om meer informatie te krijgen over nieuw gemaakte volumegroepen.
# vgdisplay tecmint_add_vg
- Volumegroepnaam
- Gebruikte LVM-architectuur.
- Deze volumegroep kan in lees- en schrijfstand worden gezet, klaar voor gebruik.
- Deze volumegroep kan van grootte worden veranderd.
- Gebruikte fysieke schijven die actief zijn.
- Totale grootte van de volumegroep.
- Een enkele PE was hier 32.
- Totaal aantal PE beschikbaar in deze volumegroep.
- Huidig hebben we geen LV binnen deze VG gemaakt, dus hij is helemaal vrij.
- UUID van deze volumegroep.
Logische Volumes maken
9. Creëer nu 3 Logische Volumes met de namen tecmint_documents, tecmint_manager en tecmint_public. Hier kunnen we zien hoe we Logische Volumes kunnen aanmaken met PE-grootte en met GB-grootte. Maak eerst een lijst van de huidige logische volumes met behulp van het volgende commando.
# lvs
10. Deze logische volumes bevinden zich in de vg_tecmint-volumegroep. Maak een lijst en controleer hoeveel vrije ruimte er is om logische volumes te maken met het commando pvs.
# pvs
11. De volumegroep heeft een grootte van 54 GB en is ongebruikt, dus kunnen we er een LV aanmaken. Laten we de volumegroep in gelijke grootte verdelen om 3 logische volumes te maken. Dat betekent 54GB/3 = 18GB, een enkel Logisch Volume zal 18GB groot zijn na aanmaak.
Methode 1: Logische Volumes aanmaken met PE-grootte
Eerst maken we Logische Volumes aan met Physical Extends (PE)-grootte. We moeten de standaard PE grootte kennen die aan deze Volume Groep is toegewezen en de totale PE die beschikbaar is om nieuwe Logische Volumes te maken, voer het commando uit om deze informatie te verkrijgen.
# vgdisplay tecmint_add_vg
- De standaard PE die aan deze VG is toegewezen, is 32MB, Hier zal de grootte van de PE 32 MB zijn.
- Totaal beschikbare PE is 1725.
Doe en zie een kleine berekening met behulp van bc commando.
# bc
1725PE/3 = 575 PE. 575 PE x 32MB = 18400 --> 18GB
Druk op CRTL+D om bc af te sluiten. Laten we nu 3 Logische Volumes aanmaken met 575 PE’s.
# lvcreate -l (Extend size) -n (name_of_logical_volume) (volume_group)# lvcreate -l 575 -n tecmint_documents tecmint_add_vg# lvcreate -l 575 -n tecmint_manager tecmint_add_vg# lvcreate -l 575 -n tecmint_public tecmint_add_vg
- -l – Aanmaken met behulp van Extent Size
- -n – Geef een Logische Volumenaam.
Lijst de Aangemaakte Logische Volumes met behulp van het commando lvs.
# lvs
Methode 2: Logische volumes maken met GB-grootte
Bij het maken van een logisch volume met GB-grootte kunnen we niet de exacte grootte bepalen. Dus, de betere manier is om te creëren met behulp van extend.
# lvcreate -L 18G -n tecmint_documents tecmint_add_vg# lvcreate -L 18G -n tecmint_manager tecmint_add_vg# lvcreate -L 18G -n tecmint_public tecmint_add_vg# lvcreate -L 17.8G -n tecmint_public tecmint_add_vg
Lijst de Aangemaakte logische Volumes met behulp van lvs commando.
# lvs
Hier, zien we dat we bij het aanmaken van een 3e LV niet tot 18GB kunnen afronden. Dit komt door kleine wijzigingen in de grootte, maar dit probleem wordt genegeerd als we een LV aanmaken met Extend size.
Bestandssysteem maken
12. Voor het gebruik van de logische volumes moeten we formatteren. Hier gebruik ik ext4 bestandssysteem om de volumes aan te maken en 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
13. Laten we mappen maken in /mnt en de logische volumes koppelen waarvoor we een bestandssysteem hebben gemaakt.
# 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/
Lijst en bevestig het koppelpunt met.
# df -h
Permanente koppeling
Het is nu tijdelijk gekoppeld, om permanent te mounten moeten we de entry in fstab toevoegen, Daarvoor moeten we de mount-invoer van mtab gebruiken
# cat /etc/mtab
We moeten kleine wijzigingen aanbrengen in fstab-invoer terwijl we de inhoud van de mount-invoer van mtab kopiëren, we moeten de rw wijzigen in standaard
# vim /etc/fstab
Onze fstab-invoer moet vergelijkbaar zijn met het onderstaande voorbeeld. Opslaan en afsluiten van fstab met wq!.
/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
Uitvoeren van de opdracht mount -a uit om de fstab-vermelding te controleren voordat u opnieuw opstart.
# mount -av
Hier hebben we gezien hoe we flexibele opslag kunnen instellen met logische volumes door gebruik te maken van fysieke schijf naar fysiek volume, fysiek volume naar volumegroep, volumegroep naar logische volumes.
In mijn toekomstige artikelen zal ik laten zien hoe je de volumegroep uitbreidt, logische volumes verkleint, snapshots maakt en vanaf snapshots herstelt. Tot die tijd blijf op de hoogte van TecMint voor meer van dergelijke geweldige artikelen.