Startpagina » hoe » LVM (logisch volumebeheer) beheren en gebruiken in Ubuntu

    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 partitie
    • p = maakt primaire partitie
    • 1 = 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 partitietype
    • 8e = 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 geschreven
    • w = 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 volumegroepen
    • uitbreiden - kan volumegroepen en logische volumes groter maar niet kleiner maken
    • verminderen - 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.

    1. resize bestandssysteem (zorg ervoor dat je bestanden naar een veilige plek op de harde schijf verplaatst voordat je het formaat wijzigt)
    2. verminder logisch volume (in plaats van + om uit te breiden, kunt u ook - gebruiken om te verkleinen op basis van grootte)
    3. 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.