Als je denkt dat schijfpartities beheren betekent dat je je systeem moet afsluiten en maar moet hopen dat alles werkt na het herstarten, dan heb ik oprecht medelijden met je. Medelijden omdat je de LVM-mountmogelijkheden van Linux misloopt en niet beseft dat opslagbeheer echt een stuk minder pijnlijk kan zijn.
Deze gids laat je zien hoe je LVM aanmaakt in Linux, LVM-partities koppelt en logische volumes beheert zonder downtime. Je leert de belangrijkste Linux LVM-commando's die werken op Ubuntu LVM- en CentOS-systemen (of liever gezegd: hun moderne opvolgers).
Samengevat
- LVM creëert een flexibele opslaglaag tussen je fysieke schijven en bestandssystemen, zodat je partities kunt aanpassen terwijl het systeem draait
- Installeer met apt install lvm2 op Ubuntu of dnf install lvm2 op Rocky Linux/AlmaLinux (CentOS is verouderd, gebruik deze in plaats daarvan)
- Maak LVM aan door schijven te initialiseren met pvcreate, ze samen te voegen met vgcreate, en logische volumes aan te maken met lvcreate
- Koppel LVM-partities zoals elke andere partitie na het formatteren met mkfs.ext4 en door vermeldingen toe te voegen aan /etc/fstab
- Belangrijkste opdrachten: pvs, vgs, hetzelfde toont je configuratie; lvresize past groottes aan terwijl het systeem draait; lvcreate -s maakt snapshots
Wat is LVM in Linux?

LVM (Logical Volume Manager) bevindt zich tussen je fysieke schijven en je bestandssystemen. In plaats van vaste partities rechtstreeks op schijven aan te maken, creëert LVM een flexibele laag waarmee je opslag kunt aanpassen, verplaatsen en snapshots kunt maken terwijl alles online blijft.
Dit is wat er achter de schermen gebeurt. Je fysieke schijven worden "physical volumes". Die worden samengevoegd in "volume groups". Vanuit die groepen maak je "logical volumes" aan die als gewone partities werken, maar met echte flexibiliteit.
Het praktische verschil wordt duidelijk wanneer je meer ruimte nodig hebt. Met traditionele partities moet je het systeem afsluiten, opstarten vanaf USB en hopen dat je geen data kwijtraakt. Met LVM voer je één commando uit terwijl je systeem gewoon blijft draaien. Ik ondervond dit tijdens een servermigratie waarbij het uitbreiden van /home met 200 GB ongeveer 30 seconden duurde in plaats van een heel weekend.
Hoe physical volumes werken
Een physical volume is elk opslagapparaat dat LVM kan gebruiken. Harde schijven, SSD's, RAID-arrays en zelfs loop-apparaten komen in aanmerking. Je initialiseert ze met pvcreate, wat LVM-metadata schrijft en het apparaat markeert als beschikbaar voor volume groups.
Het physical volume maakt niet uit welke hardware eronder zit. Die 500GB harde schijf en je nieuwe 2TB NVMe-schijf zien er voor LVM precies hetzelfde uit. Dat is belangrijk als je verschillende soorten opslag combineert.
Volume Groups begrijpen
Volume groups bundelen meerdere physical volumes tot één opslageenheid. Vergelijk het met drie 1TB-schijven die je samenvoegt tot één pool van 3TB. Je maakt volume groups aan met vgcreate en je kunt physical volumes toevoegen of verwijderen wanneer de capaciteit verandert.
Dit poolingprincipe betekent dat je niet vastgebonden bent aan planning per schijf. Meer ruimte nodig? Voeg een schijf toe aan de volume group. Een oude schijf vervangen? Verplaats de data met pvmove terwijl het systeem draait, en wissel daarna de hardware.
Wat Logical Volumes doen

Logical volumes zijn wat je daadwerkelijk gebruikt. Ze worden uitgesneden uit volume groups en gedragen zich als gewone partities. Formatteer ze met ext4 of xfs, koppel ze waar je wilt en pas hun grootte aan wanneer nodig. Het verschil is dat ze niet gebonden zijn aan de grenzen van fysieke schijven.
Wanneer je lvcreate -L 50G -n data datavguitvoert, wijs je 50GB toe uit de pool van de volume group. Die ruimte kan van één schijf komen of verdeeld zijn over meerdere schijven. Dat maakt niet uit, want LVM regelt de verdeling.
Physical Extents uitgelegd
Physical extents zijn de kleinste allocatie-eenheid in LVM, doorgaans blokken van 4MB. Wanneer je een logical volume aanmaakt, wijst LVM physical extents toe vanuit de volume group. Dankzij deze aanpak kun je volumes nauwkeurig aanpassen.
De extent-grootte is van belang bij grote volumes. Grotere extents betekenen minder overhead aan metadata, maar grovere allocatie. De standaardwaarde van 4MB werkt in de meeste situaties prima. Ik heb hem nooit aangepast, behalve bij enorme storage arrays waar de berekeningen grotere extents begunstigden.
Snapshots voor point-in-time back-ups
Snapshots leggen de toestand van een logical volume op een specifiek moment vast. LVM gebruikt copy-on-write. Originele data blijft op zijn plaats. Zodra er iets wijzigt, bewaart LVM de oude blokken in de snapshot en schrijft nieuwe data naar het hoofdvolume.
Wil je systeemupdates testen? Maak eerst een snapshot. Gaat er iets mis? Herstel vanuit de snapshot. De hele operatie duurt seconden, omdat LVM alleen gewijzigde blokken bijhoudt en niets dupliceert.
Ik maak snapshots van productiedatabases voor grote schema-wijzigingen. De gemoedsrust kost nauwelijks overhead, en ik heb drie keer een volledige herbouw vermeden door mislukte migraties terug te draaien.
Wanneer LVM Striping gebruiken
Striping verdeelt data over meerdere physical volumes, vergelijkbaar met RAID 0. Wanneer je een bestand schrijft, verdeelt LVM de blokken gelijktijdig over verschillende schijven. Deze parallelle aanpak versnelt zowel lees- als schrijfbewerkingen, vooral bij grote bestanden of databases.
De prestatiewinst hangt af van je workload. Sequentieel lezen van grote bestanden profiteert het meest. Bij willekeurige toegangspatronen is de verbetering kleiner. Databaseservers en werkstations voor videobewerking merken het verschil duidelijk.
LVM Mirroring voor redundantie
Mirroring dupliceert data over meerdere physical volumes. Als één schijf uitvalt, blijft je data beschikbaar op de mirror. LVM regelt de synchronisatie automatisch. De prestatievermindering is het waard wanneer downtime meer kost dan extra opslag.
Moderne setups gebruiken vaak RAID voor redundantie en LVM daarbovenop voor flexibiliteit. Je krijgt bescherming op hardwareniveau gecombineerd met beheer op softwareniveau. Die combinatie werkt beter dan op één van beide alleen te vertrouwen.
Als je opslagbeheeroplossingen met elkaar vergelijkt, lees dan LVM versus ZFS om te begrijpen wanneer elke aanpak het beste past bij jouw workload.
Hoe installeer je LVM op Ubuntu en CentOS?

LVM installeren duurt ongeveer 60 seconden als je de juiste commando's kent. Moderne Linux-distributies regelen de afhankelijkheden automatisch. Je installeert het pakket, controleert of het werkt, en bent klaar om je opslag te configureren.
Een belangrijke opmerking voordat we beginnen: CentOS heeft in 2020 end-of-life bereikt. Als je nog steeds CentOS gebruikt, schakel dan over naar Rocky Linux of AlmaLinux. Dat zijn directe vervangingen die wel beveiligingsupdates ontvangen. De commando's hier werken identiek op Rocky Linux 9, AlmaLinux 9, Ubuntu 24.04 en huidige Debian-releases.
Werk je systeem eerst bij
Begin met het bijwerken van de pakketlijst van je systeem. Zo zorg je ervoor dat je de nieuwste LVM2-versie krijgt, met alle beveiligingspatches en bugfixes.
Voor Ubuntu-systemen:
sudo apt update
Voor op CentOS gebaseerde systemen (Rocky Linux/AlmaLinux):
sudo dnf update
Moderne op RHEL gebaseerde systemen gebruiken dnf als pakketbeheerder. Oude tutorials die yumvermelden kun je negeren. DNF heeft yum in 2015 vervangen, met betere afhankelijkheidsresolutie en betere prestaties.
Installeer het LVM2-pakket
De pakketnaam is lvm2 bij alle distributies. De installatie haalt automatisch de benodigde afhankelijkheden op, inclusief device-mapper-tools en bijbehorende bibliotheken.
Ubuntu Logical Volume Manager-installatie:
sudo apt install lvm2
CentOS Logical Volume Manager-installatie (Rocky/AlmaLinux):
sudo dnf install lvm2
Wacht tot de installatie is voltooid. Op moderne hardware met een fatsoenlijke internetverbinding duurt dat 10 tot 15 seconden. Het pakket is klein, ongeveer 2-3 MB plus afhankelijkheden.
Controleer of de installatie geslaagd is
Controleer of LVM2 correct is geïnstalleerd en bekijk welke versie je gebruikt:
sudo lvm version
Je ziet versie-informatie en builddetails. Huidige versies zijn 2.03.x of hoger. Als de opdracht mislukt of "command not found" teruggeeft, is er iets misgegaan tijdens de installatie.
Moderne op systemd gebaseerde distributies activeren LVM automatisch tijdens het opstarten. Je hoeft services niet handmatig in te schakelen zoals bij oudere init-systemen. De lvm2-activation-generator regelt alles. Één ding minder om in te stellen.
Wil je LVM uitproberen op een systeem zonder kritieke data? Overweeg een beste Linux VPS waar je kunt experimenteren zonder productiebestanden te riskeren.
Hoe maak je LVM aan in Linux?

LVM aanmaken bestaat uit drie stappen: initialiseer physical volumes, groepeer ze in een volume group en verdeel die in logische volumes. Het klinkt ingewikkelder dan het is. Je voert in totaal misschien zes opdrachten uit.
Bepaal eerst welke schijven je wilt gebruiken. De voorbeelden hier gebruiken /dev/sdX als plaatshouders. Je eigen apparaatnamen zullen anders zijn. Voer lsblk uit om te zien wat er op je systeem is aangesloten.
Physical Volumes initialiseren
Physical volumes geven LVM aan welke schijven het mag gebruiken. Initialiseer een schijf met pvcreate:
sudo pvcreate /dev/sdb
Vervangen /dev/sdb met je eigen apparaat. Dit schrijft LVM-metadata naar de schijf en markeert hem als beschikbaar. De schijf heeft geen traditioneel partitioneringsschema meer nodig.
Meerdere schijven tegelijk initialiseren? Geef ze allemaal op:
sudo pvcreate /dev/sdb /dev/sdc /dev/sdd
LVM verwerkt ze samen. Controleer wat je hebt aangemaakt:
sudo pvs
Dit toont alle physical volumes, hun grootte en aan welke volume group ze zijn toegewezen (nog geen).
Een Volume Group aanmaken
Volume groups bundelen physical volumes tot één opslagpool. Maak een volume group aan met de naam "datavg":
sudo vgcreate datavg /dev/sdb
Voeg meerdere schijven toe aan dezelfde group tijdens het aanmaken:
sudo vgcreate datavg /dev/sdb /dev/sdc
Die schijven fungeren nu als één pool. Controleer de volume group:
sudo vgs
Je ziet de totale grootte, hoeveel is toegewezen aan logische volumes, en hoeveel er nog vrij is voor toekomstige toewijzing.
Logische volumes aanmaken
Logische volumes zijn wat je daadwerkelijk formatteert en koppelt. Ze worden uitgehouwen uit de beschikbare ruimte van de volume group. Maak een volume van 50 GB aan:
sudo lvcreate -L 50G -n data datavg
Dit maakt een logisch volume aan met de naam "data" uit de volume group "datavg". Het volledige apparaatpad wordt /dev/datavg/data.
Wil je in plaats van een vaste grootte alle beschikbare ruimte gebruiken?
sudo lvcreate -l 100%FREE -n data datavg
De -l 100%FREE optie wijst elke resterende byte toe. Handig voor eenvoudige opstellingen waarbij één logisch volume de hele volume group gebruikt.
Het logische volume formatteren
Logische volumes hebben, net als gewone partities, een bestandssysteem nodig. Formatteren met ext4:
sudo mkfs.ext4 /dev/datavg/data
Dit duurt een paar seconden voor kleine volumes, langer voor grote. De uitvoer toont blokaantallen en inode-informatie. Tenzij er iets misgaat, kun je die details negeren.
Liever xfs? Vervang ext4 door xfs. Beide werken prima. Ext4 komt vaker voor op Ubuntu-systemen. Rocky Linux gebruikt standaard xfs voor de meeste gevallen.
Wees uiterst voorzichtig met LVM-commando's. Ze passen je opslaginfrastructuur rechtstreeks aan. Ik heb ooit een apparaatnaam verkeerd getypt en daarmee 2 TB aan klantbestanden gewist. Maak back-ups van kritieke gegevens voordat je iets uitvoert dat de opslagconfiguratie wijzigt.
Hoe koppel je LVM-partities?
Een LVM-partitie koppelen werkt precies zoals het koppelen van elke andere partitie. Je maakt een koppelpuntmap aan, voert het mount-commando uit, en voegt optioneel een vermelding toe aan /etc/fstab voor automatisch koppelen bij opstarten.
Het enige verschil is het apparaatpad. In plaats van /dev/sda1je gebruikt /dev/volumegroup/logicalvolume. Al het andere blijft hetzelfde.
Een koppelpuntmap aanmaken
Koppelpunten zijn gewoon mappen vanwaaruit je toegang hebt tot het bestandssysteem. Maak er een aan op een locatie die past bij jouw gebruik:
sudo mkdir /mnt/data
Gebruik beschrijvende namen. /mnt/data, /mnt/backup, /home/shared allemaal werken. De locatie heeft geen invloed op de functionaliteit. Sommige mensen geven de voorkeur aan /mnt voor tijdelijke koppelpunten en speciale mappen onder / voor permanente.
Het logische volume koppelen
Koppel het geformatteerde logische volume aan je koppelpunt:
sudo mount /dev/datavg/data /mnt/data
Vervang het apparaatpad en het koppelpunt door je eigen waarden. Het bestandssysteem is nu toegankelijk op /mnt/data. Bestanden die je daar aanmaakt, staan op het logische volume.
Controleer of het koppelen is gelukt:
df -h /mnt/data
Je ziet de totale grootte van het volume, de gebruikte ruimte, de beschikbare ruimte en het koppelpunt. Als er niets verschijnt, is het mount-commando mislukt. Controleer je apparaatpad en verifieer of het logische volume bestaat met hetzelfde.
Koppelpunten permanent maken
Tijdelijke koppelpunten verdwijnen na een herstart. Voeg vermeldingen toe aan /etc/fstab voor permanente koppelpunten:
sudo nano /etc/fstab
Voeg deze regel toe aan het einde:
/dev/datavg/data /mnt/data ext4 defaults 0 0
Het formaat is: apparaat, koppelpunt, bestandssysteemtype, koppelopties, dump-prioriteit, fsck-volgorde. De nullen aan het einde zijn voor de meeste situaties prima. Wijzig ext4 zodat het overeenkomt met het bestandssysteem dat je daadwerkelijk hebt gebruikt.
Sla op en sluit de editor. Test de fstab-vermelding zonder te herstarten:
sudo mount -a
Dit koppelt alles in fstab dat nog niet gekoppeld is. Als je fouten ziet, heb je iets verkeerd getypt in fstab. Herstel dit voordat je herstart, anders start je systeem mogelijk niet correct op.
Prestaties zijn belangrijk wanneer je volumes koppelt voor productiewerklasten. Na het instellen van je LVM-configuratie, test de schijfsnelheid in Linux om de werkelijke doorvoer en latentie te meten.
LVM koppelen tijdens Ubuntu-installatie
Ubuntu's installatieprogramma ondersteunt LVM-configuratie tijdens de systeeminstallatie. Wanneer je het partitioneringsscherm bereikt, selecteer je "Handmatig" partitioneren en kies je "De logische-volumemanager configureren".
Deze aanpak werkt goed bij nieuwe installaties. Je stelt je volume groups en logical volumes in vóór het installeren van het besturingssysteem. De installer regelt /etc/fstab invoer automatisch.
Bij bestaande systemen geeft de bovenstaande commandoregelaanpak je meer controle en laat je precies zien wat er bij elke stap gebeurt.
Mountproblemen oplossen
Als je LVM-partitie niet wil mounten, controleer dan eerst deze veelvoorkomende oorzaken:
Volume group niet geactiveerd:
sudo vgchange -ay
Dit activeert alle volume groups. Soms worden ze niet automatisch geactiveerd na het toevoegen van nieuwe schijven of het opnieuw opstarten.
Verkeerd apparaatpad: Controleer of het logical volume bestaat met hetzelfde en gebruik het volledige pad, zoals /dev/volumegroup/logicalvolume, geen snelkoppelingen.
Bestandssysteemfouten: Voer een bestandssysteemcontrole uit op het niet-gemounte volume:
sudo fsck /dev/datavg/data
Bestandssysteembeschadiging verhindert het mounten. Het fsck-hulpprogramma kan veel problemen automatisch verhelpen.
Wat zijn de essentiële Linux LVM-commando's?
Met Linux LVM-commando's beheer je je volledige opslagconfiguratie vanaf de commandoregel. Dit zijn de commando's die je in de praktijk daadwerkelijk gebruikt, geen theoretische commando's uit verouderde documentatie.
Physical volumes weergeven
Bekijk alle physical volumes in je systeem:
sudo pvs
Dit toont een overzichtelijke tabel met apparaatnamen, volume groups, formaat, attributen, grootte en vrije ruimte. Voor gedetailleerde informatie over een specifiek physical volume:
sudo pvdisplay /dev/sdb
De gedetailleerde weergave bevat de physical extent-grootte, het totale aantal extents, toegewezen extents en het UUID. Handig wanneer je exacte aantallen nodig hebt voor capaciteitsplanning.
Volume groups weergeven
Toon alle volume groups:
sudo vgs
Je ziet de namen van de volume groups, het aantal physical volumes, het aantal logical volumes, attributen, totale grootte en vrije ruimte. Voor uitgebreide details:
sudo vgdisplay datavg
Dit toont alles: extent-grootte, totaal aantal extents, allocatiebeleid en UUID. Ik gebruik dit bij het plannen van nieuwe logical volumes om te zien hoeveel ruimte er nog beschikbaar is.
Logische volumes weergeven
Alle logische volumes weergeven:
sudo lvs
De uitvoer toont de namen van logische volumes, hun volumegroepen, attributen, grootte en welke fysieke extents ze gebruiken. Voor volledige informatie:
sudo lvdisplay /dev/datavg/data
Dit toont het pad van het logische volume, het blokapparaat, de aanmaaktijd, de status en de segmenten. Handig bij het oplossen van mountproblemen of het controleren van snapshotrelaties.
Volumegroepen uitbreiden
Voeg fysieke volumes toe aan bestaande volumegroepen wanneer u meer capaciteit nodig heeft:
sudo vgextend datavg /dev/sdd
Dit voegt toe /dev/sdd aan de volumegroep "datavg". De vrije ruimte is direct beschikbaar voor bestaande logische volumes of het aanmaken van nieuwe. Geen herstart vereist.
Zo heb ik een schijf van 2TB aan mijn back-upvolumegroep toegevoegd terwijl er actief back-ups werden gemaakt. De hele operatie duurde ongeveer 5 seconden.
Logische volumes aanpassen
Een logisch volume uitbreiden om het meer ruimte te geven:
sudo lvresize -L +50G /dev/datavg/data
Dit voegt 50GB toe aan het logische volume. Breid na het aanpassen het bestandssysteem uit om de nieuwe ruimte te gebruiken:
Voor ext4:
sudo resize2fs /dev/datavg/data
Voor xfs:
sudo xfs_growfs /mnt/data
Het bestandssysteem groeit om het logische volume te vullen. Alles gebeurt terwijl het volume gemount en in gebruik is. Gebruikers merken niets, behalve dat er meer ruimte beschikbaar is.
Wilt u juist verkleinen? Dat brengt meer risico's met zich mee en vereist dat u het volume eerst ontkoppelt. Maak altijd een back-up voordat u volumes verkleint.
Volume-snapshots aanmaken
Snapshots leggen de huidige staat van een logisch volume vast voor back-ups of tests:
sudo lvcreate -s -L 10G -n data-snapshot /dev/datavg/data
Dit maakt een snapshot van 10GB aan, genaamd "data-snapshot", van het logische volume "data". De snapshot gebruikt copy-on-write-technologie. Er is alleen ruimte nodig voor gewijzigde blokken, niet voor het hele volume.
Koppel de snapshot read-only voor consistente back-ups:
sudo mkdir /mnt/snapshot
sudo mount -o ro /dev/datavg/data-snapshot /mnt/snapshot
Backup van /mnt/snapshot terwijl het oorspronkelijke volume schrijfbewerkingen blijft ontvangen. Dit lost het probleem van 'hoe maak ik een back-up van een actieve database' op een nette manier op.
Logische volumes verwijderen
Verwijder logische volumes die je niet meer nodig hebt:
sudo lvremove /dev/datavg/old-data
Het commando vraagt om bevestiging voordat het verwijdert. Dit vernietigt het logische volume en alle gegevens erop permanent. Zorg dat je een back-up hebt van alles wat belangrijk is.
Fysieke extents verplaatsen
Verplaats data van een fysiek volume voordat je het verwijdert:
sudo pvmove /dev/sdb
LVM verplaatst automatisch alle fysieke extents van /dev/sdb naar andere fysieke volumes in de volumegroep. De bewerking wordt op de achtergrond uitgevoerd terwijl het systeem online blijft.
Dit heeft me gered toen een schijf SMART-fouten begon te vertonen. Ik heb alles van de defecte schijf verplaatst, deze uit de volumegroep verwijderd en vervangen tijdens een onderhoudsvenster. Nul downtime.
Scannen naar volumegroepen
Soms verschijnen volumegroepen niet na het toevoegen van nieuwe schijven of na een herstart. Forceer een scan:
sudo vgscan
sudo vgchange -ay
Het eerste commando scant naar volumegroepen. Het tweede activeert alles wat het vindt. Je logische volumes worden weer toegankelijk.
Als je LVM op Ubuntu instelt voor ontwikkelomgevingen, kunnen deze handleidingen ook nuttig zijn: Hadoop installeren op Ubuntu, Redis installeren op Ubuntu, of XRDP installeren op Ubuntu voor externe toegang tot je LVM-beheerde systemen.
Conclusie
LVM verandert opslagbeheer op Linux van starre partitionering naar flexibele capaciteitstoewijzing. Je krijgt dynamisch aanpasbare volumes, point-in-time snapshots en de mogelijkheid om afzonderlijke schijven samen te voegen tot één unified opslagruimte. Allemaal zonder systemen offline te halen.
De basiswerkwijze is consistent over distributies heen. Initialiseer fysieke volumes met pvcreate, groepeer ze in volumegroepen met vgcreate, maak logische volumes aan met lvcreate, formatteer ze met het bestandssysteem van je voorkeur en koppel ze aan zoals elke andere partitie. De commando's werken hetzelfde op Ubuntu LVM en Rocky Linux-setups.
Begin klein als je nieuw bent met logisch volumebeheer. Maak een testvolumgroep aan op een reserveschijf. Oefen met het aanpassen van logische volumes, het maken van snapshots en het verplaatsen van data tussen fysieke volumes. Fouten zijn minder ingrijpend als ze plaatsvinden op niet-productiestorage.
Nog één opmerking over CentOS: die is end-of-life. Gebruik in plaats daarvan Rocky Linux of AlmaLinux. Ze zijn binair compatibel met RHEL en worden actief onderhouden. De LVM-commando's werken identiek, maar je krijgt wel de beveiligingsupdates die er toe doen.
Wil je LVM oefenen zonder je lokale bestanden te riskeren? Start een Ubuntu VPS waar je vrijelijk kunt experimenteren. Gooi dingen stuk, leer van je fouten, en beheers de commando's voordat je ze op productiesystemen toepast.
Kies een economy of premium Linux VPS voor het hosten van je website of remote desktop, tegen de scherpste prijs. VPS draait op Linux KVM voor hogere efficiëntie en maakt gebruik van krachtige hardware met NVMe SSD-opslag voor maximale snelheid.
Meer lezen