LVM (logisch volumebeheer) beheren en gebruiken in Ubuntu
In ons vorige artikel hebben we u verteld wat LVM is en waar u het voor wilt gebruiken, en vandaag gaan we u door enkele van de belangrijkste beheerprogramma's van LVM loodsen, zodat u zeker weet wanneer u uw installatie instelt of uitbreidt..
Zoals eerder vermeld, is LVM een abstractielaag tussen uw besturingssysteem en fysieke harde schijven. Wat dat betekent is uw fysieke harde schijven en partities zijn niet langer gebonden aan de harde schijven en partities waar ze op staan. Integendeel, de harde schijven en partities die uw besturingssysteem ziet, kunnen elk aantal afzonderlijke harde schijven samen zijn of in een software RAID zijn..
Om LVM te beheren zijn er GUI-tools beschikbaar, maar om echt te begrijpen wat er met uw LVM-configuratie gebeurt, is het waarschijnlijk het beste om te weten wat de commandoregelhulpmiddelen zijn. Dit is vooral handig als u LVM beheert op een server of distributie die geen GUI-tools biedt.
De meeste opdrachten in LVM lijken erg op elkaar. Elke geldige opdracht wordt voorafgegaan door een van de volgende:
- Fysiek volume = pv
- Volumegroep = vg
- Logisch volume = lv
De fysieke volumecommando's zijn voor het toevoegen of verwijderen van harde schijven in volumegroepen. Volumegroep-commando's zijn bedoeld om te veranderen welke geabstraheerde set van fysieke partities worden gepresenteerd aan uw werking in logische volumes. Logische volumecommando's presenteren de volumegroepen als partities zodat uw besturingssysteem de aangewezen ruimte kan gebruiken.
Downloadbaar LVM Cheatsheet
Om u te helpen begrijpen welke commando's voor elk voorvoegsel beschikbaar zijn, hebben we een LVM-spiekbriefje gemaakt. We behandelen enkele van de opdrachten in dit artikel, maar er is nog veel wat u kunt doen dat hier niet zal worden behandeld.
Alle opdrachten in deze lijst moeten als root worden uitgevoerd, omdat u systeembrede instellingen wijzigt die van invloed zijn op de gehele machine.
(Klik op de thumbnail voor een afbeelding op volledige grootte)
Hoe actuele LVM-informatie te bekijken
Het eerste dat u moet doen, is controleren hoe uw LVM is ingesteld. De s
en tonen
commando's werken met fysieke volumes (pv), volumegroepen (vg) en logische volumes (lv), dus het is een goede plaats om te beginnen bij het uitzoeken van de huidige instellingen.
De tonen
commando zal de informatie opmaken zodat het makkelijker te begrijpen is dan de s
commando. Voor elke opdracht ziet u de naam en het pad van de pv / vg en deze moet ook informatie geven over vrije en gebruikte ruimte.
De belangrijkste informatie is de PV-naam en VG-naam. Met die twee stukjes informatie kunnen we blijven werken aan de LVM-opstelling.
Een logisch volume maken
Logische volumes zijn de partities die uw besturingssysteem gebruikt in LVM. Om een logisch volume te maken, moeten we eerst een fysieke volume- en volumegroep hebben. Hier zijn alle stappen die nodig zijn om een nieuw logisch volume te maken.
Creëer fysiek volume
We beginnen helemaal opnieuw met een gloednieuwe harde schijf zonder partities of informatie erover. Begin met het zoeken naar de schijf waarmee je gaat werken. (/ dev / sda, sdb, etc.)
Opmerking: Onthoud dat alle commando's moeten worden uitgevoerd als root of door 'sudo' aan het begin van de opdracht toe te voegen.
fdisk -l
Als uw harde schijf nog nooit is geformatteerd of gepartitioneerd voordat u waarschijnlijk zoiets ziet in de fdisk-uitvoer. Dit is helemaal goed, want we gaan de benodigde partities maken in de volgende stappen.
Onze nieuwe schijf bevindt zich op / dev / sdb dus laten we fdisk gebruiken om een nieuwe partitie op de schijf te maken.
Er is een overvloed aan tools die een nieuwe partitie kunnen maken met een GUI, inclusief Gparted, maar omdat we de terminal al open hebben, zullen we fdisk gebruiken om de benodigde partitie aan te maken.
Van een terminal type de volgende commando's:
fdisk / dev / sdb
Dit zet je in een speciale fdisk-prompt.
Voer de opdrachten in de aangegeven volgorde in om een nieuwe primaire partitie te maken die 100% van de nieuwe harde schijf gebruikt en klaar is voor LVM. Als je de partitiegrootte wilt veranderen of meerdere parties wilt, dan stel ik voor om zelf GParted te gebruiken of te lezen over fdisk.
Waarschuwing: in de volgende stappen formatteert u uw harde schijf. Zorg ervoor dat u geen informatie op deze harde schijf hebt voordat u deze stappen volgt.
n
= maak een nieuwe partitiep
= maakt primaire partitie1
= maakt partitie de eerste op de schijf
Druk tweemaal op enter om de standaard eerste cilinder en de laatste cilinder te accepteren.
Gebruik de volgende twee opdrachten om de partitie klaar te maken voor gebruik door LVM.
t
= verander partitietype8e
= veranderingen in het LVM-partitietype
Verifieer en schrijf de informatie naar de harde schijf.
p
= bekijk de opstelling van de partitie zodat we deze kunnen bekijken voordat wijzigingen in de schijf worden geschrevenw
= schrijf wijzigingen in schijf
Na die opdrachten moet de fdisk-prompt afsluiten en bent u terug bij de bash-prompt van uw terminal.
invoeren pvcreate / dev / sdb1
om een fysiek LVM-volume te maken op de partitie die we zojuist hebben gemaakt.
Je vraagt je misschien waarom we de partitie niet hebben geformatteerd met een bestandssysteem, maar maak je geen zorgen, die stap komt later.
Maak een volumegroep
Nu we een partitie hebben aangewezen en fysiek volume hebben aangemaakt, moeten we de volumegroep maken. Gelukkig heeft dit maar één commando nodig.
vgcreate vgpool / dev / sdb1
Vgpool is de naam van de nieuwe volumegroep die we hebben gemaakt. Je kunt het een naam geven, maar het wordt aanbevolen om vg aan de voorkant van het label te plaatsen, dus als je er later naar verwijst, weet je dat het een volumegroep is.
Maak een logisch volume
Om het logische volume te maken dat LVM zal gebruiken:
lvcreate -L 3G -n lvstuff vgpool
De -L-opdracht geeft de grootte van het logische volume aan, in dit geval 3 GB, en de opdracht -n geeft het volume een naam. Er wordt naar Vgpool gerefereerd zodat het commando lvcreate weet uit welk volume de spatie komt.
Formatteer en monteer het logische volume
Een laatste stap is het nieuwe logische volume opmaken met een bestandssysteem. Als je hulp wilt bij het kiezen van een Linux-bestandssysteem, lees dan hoe je dat kunt gebruiken om het beste bestandssysteem voor je behoeften te kiezen.
mkfs -t ext3 / dev / vgpool / lvstuff
Maak een koppelpunt en koppel dan het volume ergens waar je het kunt gebruiken.
mkdir / mnt / stuff
mount -t ext3 / dev / vgpool / lvstuff / mnt / stuff
Het formaat van een logisch volume wijzigen
Een van de voordelen van logische volumes is dat u uw shares fysiek groter of kleiner kunt maken zonder alles naar een grotere harde schijf te hoeven verplaatsen. In plaats daarvan kunt u een nieuwe harde schijf toevoegen en uw volumegroep meteen uitbreiden. Of als u een vaste schijf hebt die niet wordt gebruikt, kunt u deze uit de volumegroep verwijderen om uw logische volume te verkleinen.
Er zijn drie basishulpmiddelen om fysieke volumes, volumegroepen en logische volumes groter of kleiner te maken.
Opmerking: elk van deze commando's moet worden voorafgegaan door pv, vg of lv, afhankelijk van waar je mee werkt.
verkleinen
- kan fysieke volumes en logische volumes verkleinen of uitbreiden, maar geen volumegroepenuitbreiden
- kan volumegroepen en logische volumes groter maar niet kleiner makenverminderen
- kan volumegroepen en logische volumes kleiner maar niet groter maken
Laten we een voorbeeld bekijken van hoe we een nieuwe harde schijf kunnen toevoegen aan het logische volume "lvstuff" dat we zojuist hebben gemaakt.
Installeer en formatteer een nieuwe harde schijf
Om een nieuwe harde schijf te installeren, volg de bovenstaande stappen om een nieuwe partitie te maken en voeg het partitie-type van de wijziging toe aan LVM (8e). Gebruik vervolgens pvcreate om een fysiek volume te creëren dat LVM kan herkennen.
Nieuwe harde schijf toevoegen aan volumegroep
Om de nieuwe harde schijf aan een volumegroep toe te voegen, moet je gewoon weten wat je nieuwe partitie is, / dev / sdc1 in ons geval, en de naam van de volumegroep waaraan je deze wilt toevoegen.
Hiermee wordt het nieuwe fysieke volume toegevoegd aan de bestaande volumegroep.
vgextend vgpool / dev / sdc1
Logisch volume uitbreiden
Om het formaat van het logische volume te wijzigen, moeten we aangeven hoeveel we willen uitbreiden op maat in plaats van op apparaat. In ons voorbeeld hebben we zojuist een 8 GB harde schijf toegevoegd aan onze 3 GB vgpool. Om die ruimte bruikbaar te maken, kunnen we lvextend of lvresize gebruiken.
lvextend -L8G / dev / vgpool / lvstuff
Hoewel deze opdracht werkt, zult u zien dat het formaat van ons logisch volume daadwerkelijk wordt aangepast naar 8 GB in plaats van 8 GB toe te voegen aan het bestaande volume zoals we dat wilden. Om de laatste 3 beschikbare gigabytes toe te voegen, moet je de volgende opdracht gebruiken.
lvextend -L + 3G / dev / vgpool / lvstuff
Nu is ons logisch volume 11 GB groot.
Breid het bestandssysteem uit
Het logische volume is 11 GB, maar het bestandssysteem op dat volume is nog steeds slechts 3 GB. Om het bestandssysteem de volledige beschikbare 11 GB te laten gebruiken, moet je de opdracht resize2fs gebruiken. Wijs resize2fs gewoon naar het logische volume van 11 GB en het zal de magie voor je doen.
resize2fs / dev / vgpool / lvstuff
Opmerking: als u naast ext3 / 4 een ander bestandssysteem gebruikt, raadpleegt u de hulpprogramma's waarmee u bestanden kunt verkleinen.
Logisch volume verkleinen
Als u een harde schijf uit een volumegroep wilt verwijderen, moet u de bovenstaande stappen in omgekeerde volgorde uitvoeren en in plaats daarvan lvreduce en vgreduce gebruiken.
- resize bestandssysteem (zorg ervoor dat je bestanden naar een veilige plek op de harde schijf verplaatst voordat je het formaat wijzigt)
- verminder logisch volume (in plaats van + om uit te breiden, kunt u ook - gebruiken om te verkleinen op basis van grootte)
- verwijder de harde schijf uit de volumegroep met vgreduce
Een reservekopie van een logisch volume maken
Snapshots is een functie waarmee sommige nieuwere geavanceerde bestandssystemen worden geleverd, maar ext3 / 4 mist de mogelijkheid om momentopnamen on the fly te maken. Een van de coolste dingen van LVM-momentopnamen is dat je bestandssysteem nooit offline wordt gehaald en je kunt er zoveel als je wilt zonder extra ruimte op de harde schijf in te nemen.
Wanneer LVM een momentopname maakt, wordt er een foto gemaakt van hoe het logische volume eruitziet en die afbeelding kan worden gebruikt om een kopie op een andere harde schijf te maken. Terwijl er een kopie wordt gemaakt, wordt nieuwe informatie die aan het logische volume moet worden toegevoegd, op de schijf geschreven zoals normaal, maar de wijzigingen worden bijgehouden zodat de originele foto nooit wordt vernietigd.
Om een snapshot te maken, moeten we een nieuw logisch volume maken met voldoende vrije ruimte om nieuwe informatie te bevatten die naar het logische volume wordt geschreven terwijl we een back-up maken. Als de drive niet actief wordt geschreven, kunt u een zeer kleine hoeveelheid opslag gebruiken. Zodra we klaar zijn met onze back-up, verwijderen we gewoon het tijdelijke logische volume en gaat het oorspronkelijke logische volume gewoon door.
Maak een nieuwe momentopname
Om een snapshot van lvstuff te maken, gebruik je de opdracht lvcreate zoals eerder, maar gebruik je de vlag -s.
lvcreate -L512M -s -n lvstuffbackup / dev / vgpool / lvstuff
Hier hebben we een logisch volume gemaakt met slechts 512 MB omdat het station niet actief wordt gebruikt. De 512 MB slaat alle nieuwe schrijfbewerkingen op terwijl we onze back-up maken.
Nieuwe snapshot monteren
Net als hiervoor moeten we een koppelpunt maken en de nieuwe snapshot koppelen, zodat we er bestanden van kunnen kopiëren.
mkdir / mnt / lvstuffbackup
mount / dev / vgpool / lvstuffbackup / mnt / lvstuffbackup
Snapshot kopiëren en logisch volume verwijderen
Het enige dat je hoeft te doen is alle bestanden kopiëren van / mnt / lvstuffbackup / naar een externe harde schijf of het targeten zodat het allemaal in één bestand is.
Opmerking: tar -c maakt een archief en -f zal de locatie en bestandsnaam van het archief vermelden. Voor hulp bij het gebruik van het tar-commando man tar
in de terminal.
tar -cf / home / rothgar / Backup / lvstuff-ss / mnt / lvstuffbackup /
Onthoud dat tijdens het maken van de back-up alle bestanden die naar Ivstuff zijn geschreven worden bijgehouden in het tijdelijke logische volume dat we eerder hebben gemaakt. Zorg dat je voldoende vrije ruimte hebt terwijl de back-up gebeurt.
Zodra de back-up is voltooid, ontkoppelt u het volume en verwijdert u de tijdelijke momentopname.
umount / mnt / lvstuffbackup
lvremove / dev / vgpool / lvstuffbackup /
Een logisch volume verwijderen
Als u een logisch volume wilt verwijderen, moet u eerst controleren of het volume is gedeactiveerd en vervolgens lvremove gebruiken om het te verwijderen. U kunt ook een volumegroep verwijderen nadat de logische volumes zijn verwijderd en een fysiek volume nadat de volumegroep is verwijderd.
Hier zijn alle opdrachten die de volumes en groepen gebruiken die we hebben gemaakt.
umount / mnt / lvstuff
lvremove / dev / vgpool / lvstuff
vgremove vgpool
pvremove / dev / sdb1 / dev / sdc1
Dat moet betrekking hebben op het grootste deel van wat u moet weten om LVM te gebruiken. Als je wat ervaring hebt met het onderwerp, deel dan je wijsheid in de comments.