Als je met virtuele Ubuntu Linux-machines werkt en de schijfruimte wilt vergroten, kan dit een behoorlijke uitdaging zijn als je de juiste stappen niet kent. De standaardconfiguratie maakt vaak gebruik van logische volumes (LVM’s), wat betekent dat het vergroten van de schijfruimte meer inhoudt dan alleen het toevoegen van meer ruimte in je hypervisor. Het gaat erom de fysieke schijf te vergroten, vervolgens de partitie uit te breiden en ten slotte de LVM’s en bestandssystemen daarin te vergroten. Dit kan ingewikkeld worden, vooral als je nieuw bent in LVM-beheer, maar als je eenmaal weet hoe het werkt, is het te doen. Het resultaat? Je Ubuntu VM ziet de nieuwe ruimte en je kunt deze gebruiken zonder alles opnieuw te hoeven installeren of aanmaken.
Hoe u de virtuele schijfruimte kunt uitbreiden en partities kunt vergroten of verkleinen in Ubuntu Linux
Vergroot de virtuele schijf op uw hypervisor.
Dit is het beginpunt – voor de hand liggend, maar vaak over het hoofd gezien. Je moet je hypervisor opdracht geven om de virtuele machine meer schijfruimte te geven. Hier volgen enkele snelle tips voor veelgebruikte hypervisors:
- In VMware : Ga naar VM > Instellingen > Harde schijf, vergroot de schijfgrootte en schakel de VM vervolgens uit. Start de VM daarna opnieuw op en gebruik de VM-tools om de nieuwe schijfruimte te herkennen.
- In Hyper-V : Gebruik Hyper-V Manager. Klik met de rechtermuisknop op uw VM, ga naar Instellingen, zoek de virtuele harde schijf en klik op Schijf bewerken. Kies Uitbreiden en stel de nieuwe grootte in. Start de VM daarna opnieuw op.
- Voor KVM : gebruik de opdracht
qemu-img resize /path/to/disk.img +10Gom de image te vergroten en start vervolgens de VM.
Want bij virtualisatie is alles natuurlijk een beetje een samenspel, en soms is een herstart of vernieuwing nodig zodat het besturingssysteem de nieuwe ruimte kan detecteren.
Dwing Ubuntu om naar nieuwe schijfruimte te zoeken
Zodra de schijfruimte van de virtuele machine is vergroot, detecteert Ubuntu de nieuwe vrije ruimte niet automatisch. Je moet een nieuwe scan forceren:
$ echo 1 > /sys/class/block/sda/device/rescan
Met dit commando laat je Ubuntu de fysieke schijf opnieuw controleren en eventuele wijzigingen herkennen. In sommige gevallen werkt het direct; in andere gevallen is het wellicht eenvoudiger om de virtuele machine opnieuw op te starten als de updates niet werken.
Partitiegrootte wijzigen met cfdisk
Volgende stap: de partitietabel verwerken. Begin met cfdisk (een gebruiksvriendelijke interface voor fdisk) en voer het volgende commando uit:
$ sudo cfdisk
Zoek de partitie waarop uw root-bestandssysteem zich bevindt, meestal /dev/sda3. U zou niet-toegewezen ruimte moeten zien. Gebruik de optie ‘Formaat wijzigen’ : selecteer de partitie, wijzig het formaat zodat de extra ruimte wordt opgevuld, selecteer vervolgens ‘Schrijven’ en bevestig. Sluit daarna cfdisk af. Het is vrij eenvoudig, maar wees voorzichtig: verkeerde wijzigingen kunnen problemen veroorzaken.
Opmerking: Als cfdisk de vrije ruimte niet weergeeft, probeer dan parted te gebruiken. Soms is dat betrouwbaarder voor het werken met grote of GPT-schijven.
Controleer of uw systeem LVM gebruikt.
Controleer voordat u verdergaat of u LVM gebruikt. Voer het volgende commando uit:
$ sudo lsblk
Zoek naar een regel met LVM. Als je je rootpartitie ziet als iets als /dev/mapper/ubuntu–vg-ubuntu–lv, dan wordt alles beheerd door LVM. Zo niet, dan probeer je mogelijk een normale partitie direct te vergroten of verkleinen. In dat geval is de procedure anders en moet je waarschijnlijk het bestandssysteem direct na het aanpassen van de partitie vergroten of verkleinen.
Fysiek volume en logisch volume wijzigen
Als je LVM gebruikt, zijn de volgende stappen het aanpassen van de PV-grootte en vervolgens het uitbreiden van de LV. Waarom? Omdat LVM fysieke schijven in volumegroepen stapelt, die vervolgens logische volumes bevatten. Om de ruimte bruikbaar te maken, moet je eerst de PV uitbreiden om de nieuwe partitiegrootte te dekken.
$ sudo pvresize /dev/sda3
Met deze opdracht wordt uw fysieke volume uitgebreid om de nieuwe ruimte te gebruiken. Controleer daarna uw volumegroep:
$ sudo vgdisplay
Het laat zien hoeveel vrije ruimte je nu hebt. Om de LV (de daadwerkelijke partitie met je root- of thuismap) uit te breiden, voer je het volgende commando uit:
$ sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
Deze opdracht gebruikt alle vrije ruimte in de volumegroep. Zodra het logische volume is uitgebreid, kunt u het bestandssysteem zelf vergroten met:
$ sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
Deze laatste stap zorgt ervoor dat Ubuntu de nieuwe grootte herkent; een controle df -hzou de toegenomen schijfruimte moeten weergeven. Eerlijk gezegd is het een beetje vreemd, maar op sommige systemen werkt dit proces niet altijd meteen; mogelijk moet je het opnieuw uitvoeren of de computer opnieuw opstarten voordat alles goed werkt.
Alternatief voor niet-LVM-configuraties
Als je geen LVM gebruikt, geen probleem. Je kunt parted gebruiken om de partitie direct te vergroten of verkleinen:
$ sudo parted print free
Zoek het nummer van de partitie die u wilt vergroten of verkleinen en voer vervolgens de volgende opdracht uit:
$ sudo parted resizepart n
Vervang n door het partitienummer. Wees wel voorzichtig: het wijzigen van de grootte van partities kan gevaarlijk zijn als je de verkeerde optie kiest.