18Aug

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 zullen we u door enkele van de belangrijkste beheerprogramma's van LVM laten lopen, 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 waarop ze zich bevinden. 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
  • Volume groep = vg
  • Logisch volume = lv

De fysieke volume-opdrachten 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 Cheat Sheet

Om u te helpen begrijpen welke commando's beschikbaar zijn voor elke prefix, hebben wij een LVM-spiekbriefje gemaakt. We zullen enkele van de opdrachten in dit artikel behandelen, maar er is nog veel wat u kunt doen dat hier niet wordt 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 u huidige LVM-informatie weergeeft

Het eerste dat u moet doen, is controleren hoe uw LVM is ingesteld. De s- en display-opdrachten werken met fysieke volumes( pv), volumegroepen( vg) en logische volumes( lv), dus het is een goede plaats om te beginnen met het uitzoeken van de huidige instellingen.

Met de opdracht display wordt de informatie opgemaakt zodat deze gemakkelijker te begrijpen is dan de opdracht s. 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 fysiek volume en een volumegroep hebben. Hier zijn alle stappen die nodig zijn om een ​​nieuw logisch volume te maken.

Fysiek volume aanmaken

We beginnen helemaal opnieuw met een gloednieuwe harde schijf zonder partities of informatie. Begin met het zoeken naar de schijf waarmee je gaat werken.(/dev/ sda, sdb, etc.)

Opmerking: Onthoud dat alle commando's als root moeten worden uitgevoerd 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 te creëren.

Vanaf 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 wijzigen of meerdere parties wilt, dan raad ik aan om GParted te gebruiken of alleen te lezen over fdisk.

Waarschuwing: De volgende stappen formatteren uw harde schijf. Zorg ervoor dat u geen informatie op deze harde schijf hebt voordat u deze stappen volgt.

  • n = maak nieuwe partitie aan
  • p = maakt primaire partitie aan
  • 1 = maakt partitie de eerste op de schijf

Druk tweemaal op enter om de standaard eerste cilinder en laatste cilinder te accepteren.

Gebruik de volgende twee opdrachten om de partitie klaar te maken voor gebruik door LVM.

  • t = verander partitietype
  • 8e = wijzigingen in LVM partitietype

Verifieer en schrijf de informatie naar de harde schijf.

  • p = bekijk de opstelling van de partitie zodat we deze kunnen beoordelen voordat wijzigingen in de schijf worden geschreven
  • w = schrijfwijzigingen naar de schijf

Na die opdrachten moet de fdisk-prompt afsluiten en bent u terug bij de bash-prompt van uw terminal.

Voer pvcreate /dev/ sdb1 in 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 volume Groep

Nu we een partitie hebben aangewezen en fysiek volume gecreëerd hebben, 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.

Creëer logisch volume

Het logische volume maken dat LVM zal gebruiken:

lvcreate -L 3G -n lvstuff vgpool

De opdracht -L geeft de grootte van het logische volume aan, in dit geval 3 GB, en de opdracht -n geeft de naam aanvolume. Er wordt naar Vgpool gerefereerd zodat het commando lvcreate weet uit welk volume de spatie komt.

Formaat en mount het logische volume

Een laatste stap is om het nieuwe logische volume te formatteren met een bestandssysteem. Als je hulp wilt bij het kiezen van een Linux-bestandssysteem, lees dan hier hoe je dat kunt doen, zodat je het beste bestandssysteem voor je behoeften kunt kiezen.

mkfs -t ext3 /dev/vgpool/ lvstuff

Maak een koppelpunt en koppel het volume dan ergens waar u het kunt gebruiken.

mkdir /mnt/ materiaal
mount -t ext3 /dev/vgpool/ lvstuff /mnt/ dingen

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.

  • -formaat wijzigen - kan fysieke volumes en logische volumes verkleinen of vergroten, maar geen volumegroepen
  • uitbreiden - kan volumegroepen en logische volumes groter maken maar niet verkleinen
  • verkleinen - kan volumegroepen en logische volumes kleiner maken maar niet groter

Laten we een voorbeeld bekijkenover het toevoegen van een nieuwe harde schijf aan het logische volume "lvstuff" dat we zojuist hebben gemaakt.

Installeren en formatteren nieuwe harde schijf

Om een ​​nieuwe harde schijf te installeren volg je de stappen hierboven om een ​​nieuwe partitie te maken en voeg je het partitie type in LVM( 8e) toe. Gebruik vervolgens pvcreate om een ​​fysiek volume te creëren dat LVM kan herkennen.

Nieuwe harde schijf aan volumegroep toevoegen

Om de nieuwe harde schijf aan een volumegroep toe te voegen, moet u alleen weten wat uw nieuwe partitie is, /dev/ sdc1 in ons geval, en de naam van de volumegroep waaraan u 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 harde schijf van 8 GB toegevoegd aan onze 3 GB vgpool. Om die ruimte bruikbaar te maken, kunnen we lvextend of lvresize gebruiken.

lvextend -L8G /dev/vgpool/ lvstuff

Terwijl dit commando zal werken, zult u zien dat het ons logische volume daadwerkelijk zal verkleinen tot 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.

Extend bestandssysteem

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 voor het wijzigen van de grootte van het bestandssysteem.

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.

  1. resize bestandssysteem( zorg ervoor dat je bestanden verplaatst naar een veilig deel van de harde schijf voordat je het formaat wijzigt)
  2. reduceer logisch volume( in plaats van + om uit te breiden kun je ook - gebruiken om te verkleinen op grootte)
  3. harde schijf uit volumegroep verwijderen met vgreduce

Een reservekopie maken van een logisch volume

Snapshots is een functie waarmee sommige nieuwere geavanceerde bestandssystemen worden geleverd, maar ext3 / 4 mist de mogelijkheid om momentopnamen direct te maken. Een van de coolste dingen van LVM-snapshots is dat je bestandssysteem nooit offline wordt gehaald en je kunt er zoveel als je wilt zonder dat je extra ruimte op de harde schijf in beslag neemt.

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 moet worden toegevoegd aan het logische volume, 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 vast te houden die naar het logische volume wordt geschreven terwijl we een back-up maken. Als het station 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.

Nieuwe snapshot maken

Gebruik de opdracht lvcreate als voorheen om een ​​snapshot van lvstuff te maken, maar gebruik 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.

Mount New Snapshot

Net als hiervoor moeten we een mount point maken en de nieuwe snapshot koppelen, zodat we er bestanden van kunnen kopiëren.

mkdir /mnt/ lvstuffbackup
mounten /dev/vgpool/ lvstuffbackup /mnt/ lvstuffbackup

Momentopname kopiëren en logisch volume verwijderen

U hoeft alleen nog maar alle bestanden van /mnt/lvstuffbackup/ naar een externe harde schijf te kopiëren of te ordenen, zodat het allemaal in één bestand is.

Opmerking: tar -c maakt een archief en -f zal de locatie en bestandsnaam van het archief vermelden. Gebruik man tar in de terminal voor hulp bij het tar-commando.

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 ervoor dat je voldoende vrije ruimte hebt terwijl de back-up gebeurt.

Nadat 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 het merendeel bevatten van wat u moet weten om LVM te gebruiken. Als je enige ervaring hebt met het onderwerp, deel dan je wijsheid in de comments.