Hulpartikel overzicht

Hulpartikel

Ik wil mijn SSD-partitie via LVM vergroten

Wanneer je de schijfruimte van jouw VPS uitbreidt, moet deze extra ruimte eerst nog aan een partitie worden toegekend, voordat jouw OS hier gebruik van kan maken. Na het upgraden van jouw VPS-pakket of het bestellen van een SSD-AddOn zal deze extra ruimte dan ook niet direct zichtbaar zijn in jouw besturingssysteem of web control panel.

De onderstaande stappen werken voor CentOS, Debian en Ubuntu, maar werken ook voor veel andere (afgeleide) besturingssystemen. Indien je jouw Linux distributie niet in combinatie met LVM hebt geïnstalleerd, raden wij je aan om een nieuwe partitie aan te maken of de handleiding voor het uitbreiden van een partitie via gparted te volgen.

  • Maak voor het uitbreiden van een partitie altijd een snapshot! De procedures voor het uitbreiden van een partitie zijn foutgevoelig en het is belangrijk dat je altijd op een snapshot kunt terugvallen om jouw VPS te herstellen.
     
  • Gebruik sudo, of de root-gebruiker voor het doorlopen van de stappen in dit artikel.
     
  • Onze DirectAdmin-, Plesk- en cPanel-installaties komen met LVM. Hierop is dit artikel ook van toepassing.

 

Stap 1

Controleer eerst of 'LVM' wel geïnstalleerd is. Typ het commando:

lvdisplay

Wordt er een tabel gegeven met als naam 'Logical Volume' dan is LVM geïnstalleerd. Indien LVM niet is geïnstalleerd luidt de output 'No volume groups found'. In dat laatste geval kun je deze handleiding niet volgen en heb je 3 opties:


 

Stap 2

Start fdisk (een command-line programma voor partitionering) met het commando:

fdisk /dev/vda

 

Stap 3

Druk op de 'p'-toets op je toetsenbord om de huidige partitietabel te tonen. De output zal er uit zien zoals hieronder.

LVM partitietabel

Zoek in deze tabel op welk cylindernummer de laatste partitie eindigt. Dit vind je onder het kopje End. Noteer dit getal (bijvoorbeeld 104855551 in de afbeelding).


 

Stap 4

Druk op de 'n'-toets om een nieuwe partitie te maken. Dit kan verwarrend klinken, maar is nodig om de nieuwe schijfruimte aan de bestaande partitie toe te kunnen kennen.

Er wordt gevraagd of de partitie 'logisch' of 'primair' moet zijn. Kies voor primair door op de 'p'-toets te drukken en kies een nummer voor de nieuwe partitie. Kijk in de tabel uit stap 3 om te bevestigen welke partities van 1 tot en met 4 nog niet bezet zijn en kies er hier een van uit.


 

Stap 5

Vervolgens wordt er gevraagd naar een cylindernummer. Het is belangrijk dat de nieuwe partitie aansluit op de vorige cylinder (in het voorbeeld 104855551). Bij het kiezen van de cylinder kies je het nummer van de vorige, plus 1 (in het voorbeeld 104855551+1 = 104855552) en druk op 'Enter'. Druk nogmaals op 'Enter' ter bevestiging. De partitie is nu gemaakt!


 

Stap 6

Druk op 't' om het type van de partitie in te stellen en kies vervolgens het nummer van de zojuist aangemaakte partitie. Geef '8e' op om LVM als type te selecteren voor de partitie.


 

Stap 7

Druk op 'p' om te de nieuwe partitie te controleren, die zou zichtbaar moeten zijn, bijvoorbeeld als /dev/vda3.


 

Stap 8

Druk op 'w' om de wijzigingen op te slaan. Mogelijk worden er 'ioctl' waarschuwingen gegeven. Deze kun je negeren.


 

Stap 9

Reboot de VPS om de nieuwe partitie te activeren.


 

Stap 10

Nu ga je de partitie daadwerkelijk vergroten. Maak eerst een physical volume group aan voor de zojuist gemaakte partitie met het commando:

pvcreate /dev/vdaX

Vervang X door het partitienummer dat je in stap 4 gekozen hebt.

Je kunt de melding `Device /dev/vda3 not found (or ignored by filtering)` te zien krijgen. In dat geval moet de partitietabel herladen worden. Je kunt dit doen met het commando:

partprobe /dev/vda

 

Stap 11

Zoek de logical volume name en volume group name op die je wil vergroten (root is default) met het commando

lvdisplay | more

Noteer respectievelijk de 'LV Path' en de 'VG Name'. Meerdere logical volume groups worden getoond.


 

Stap 12

Maak dit physical volume onderdeel van de volume group waar de logical volume zich bevindt die je wilt vergroten met het commando:

vgextend vgname /dev/vdaX
  • Vervang vgname door de in de vorige stap genoteerde VG Name 
  • Vervang X in vdaX door het partitienummer uit stap 4

 

Stap 13

Wijs alle vrije ruimte toe aan de logical volume met het commando:

lvextend -l +100%FREE lvpath

Vervang lvpath door de in stap 11 genoteerde LV Path, bijvoorbeeld:

lvextend -l +100%FREE /dev/mapper/vg_transip-lv_root

 

Stap 14

Als laatste stap vergroot je het daadwerkelijke filesystem met het commando resize2fs (xfs_growfs bij CentOS 7+, AlmaLinux 8+, Rocky Linux 8+, zie hieronder):

resize2fs lvpath

Vervang lvpath door de in stap 11 genoteerde LV Path, bijvoorbeeld:

resize2fs /dev/mapper/vg_transip-lv_root

Het uitvoeren van dit commando kan enige tijd duren.

Let op! Gebruik je geen ext4 binnen CentOS 7+, AlmaLinux 8+ of Rocky Linux 8+? Gebruik dan  xfs_growfs om alle ruimte toe te wijzen:

xfs_growfs /

 

Stap 15

Reboot de VPS en controleer of de partitie is vergroot met het volgende commando:

df -h

 

Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.

Wil je dit artikel met andere gebruikers bespreken, laat dan vooral een bericht achter onder 'Reacties'.

 

Heb je ook een goed idee?

Stuur jouw idee in! Met genoeg stemmen komt jouw idee op onze wishlist!

Heeft dit artikel je geholpen?

Maak een account aan of log in om een beoordeling achter te laten.

Reacties

Maak een account aan of log in om een reactie te plaatsen.

0
sipprobeheer 25 januari 2023 (#9442)

Met AlmaLinux 8.6 moest ik ook het xfs_growfs commando gebruiken.

Dat is wel even handig als dit regeltje aangepast zou worden,., ;-)

0
dedierenkliniek 22 januari 2023 (#9382)

In de instructies wordt gesproken over CentOS 7. Ik vermoed dat dit CentOS 7+ moet zijn. Met AlmaLinux 8.6 (gebaseerd op CentOS 8) moest ik ook het xfs_growfs commando gebruiken. Prima handleiding.

0
xddesigners 14 december 2021 (#7045)

@renesmits, Commando's om swap te vergroten los uitvoeren en niet als enkele regel:

swapoff -v /dev/vg_plesk/swap 
mkswap /dev/vg_plesk/swap 
swapon -va
free -m
0
renesmits 22 oktober 2021 (#6721)

@solidsense2, Aanvulling op jouw instructie om de swap te vergroten. Bij xfs_growfs /dev/vg_plesk/swap krijg ik de volgende error xfs_growfs: /dev/vg_plesk/swap is not a mounted XFS filesystem

Om de swap size te vergroten moet je het volgende uitvoeren: swapoff -v /dev/vg_plesk/swap mkswap /dev/vg_plesk/swap swapon -va

Check nu met free -m en je zult zien dat de swap size is vergroot.

2
solidsense2 30 maart 2021 (#5539)

Bijzonder goede walkthrough, dank TransIP voor deze heldere stappen.

Anderen zullen, net als ik, waarschijnlijk hun swap partitie ook willen vergroten.

Bij stap 13, als je ipv 100% een deel wilt gebruiken om je swap partitie te vergroten, gebruik bijvoorbeeld dan:

lvextend -L +7168M /dev/vg_plesk/swap

Voor xfs_growfs gebruik je dan: xfs_growfs /dev/vg_plesk/swap

De overige space kan je dan alsnog invullen via: lvextend -l +100%FREE /dev/vg_plesk/lv_root zoals staat in deze walkthrough. Hier werkte het dan om vervolgens niet / maar deze te gebruiken: xfs_growfs /dev/vg_plesk/lv_root

0
quistict 4 februari 2021 (#5325)

@relevantonline, Good to hear that, you're welcome!

1
relevantonline 4 februari 2021 (#5324)

@quistict, Thank you so much! This was exactly my issue and this fixed it perfectly.

2
faimmedia 12 december 2020 (#5119)

Gebruik het volgende commando met de -r parameter en je kan stap 14 overslaan (resize2fs werkt vaak niet):

lvextend -l +100%FREE -r /dev/mapper/vg_transip-lv_root

3
quistict 9 december 2020 (#5109)

Situatieschets: Beginsituatie BladeVPS x4 VPS (150GB) -> SSD 100GB upgrade (nieuwe ruimte 250GB) -> BladeVPS x8 VPS upgrade (nieuwe ruimte 300GB) -> SSD 100GB upgrade (nieuwe ruimte 400GB)

Als je meer dan 2 keer volgens deze handleiding je schijfruimte uitbreidt loop je de 3e keer tegen het volgende aan bij Stap 4 (nieuwe partitie aanmaken): If you want to create more than four partitions, you must replace a primary partition with an extended partition first.

Om dit op te lossen heb ik het volgende gedaan, om de laatste partitie te vergroten met behoud van data:

  1. Belangrijk: Maak eerst een volledige snapshot, zodat je geen kans op dataverlies hebt!
  2. fdisk /dev/vda
  3. Druk op p
  4. Noteer voor de zekerheid het Start block van je laatste partitie (bijv. vda4)
  5. Druk op d en vervolgens het nummer van je laatste partitie (bijv. 4) om je laatste partitie te verwijderen
  6. Druk op n om een nieuwe partitie aan te maken
  7. Kies type primary: Druk op p
  8. Kies het nummer van de partitie die je in stap 5 hebt verwijderd (bijv. 4)
  9. Controleer of bij First sector het getal staat die je bij stap 4 hebt genoteerd
  10. Last sector bij de volgende stap bevat automatisch het laatste block. Dit laat je zo als je de hele ruimte wil toewijzen
  11. De nieuwe partitie heeft type "83 Linux". Dit moet veranderd worden naar "8e Linux LVM"
  12. Druk op t en kies het partitie nummer van de zojuist aangemaakte partitie (bijv. 4)
  13. Vul de Hex Code 8e in
  14. Controleer het resultaat met p
  15. Als alles juist is, druk op w om de veranderingen toe te passen
  16. Reboot
  17. Resize het fysieke volume van de vergrote partitie: pvresize /dev/vda4
  18. Ga verder bij stap 13 van de originele handleiding: lvextend -l +100%FREE lvpath (bijv. lvextend -l +100%FREE /dev/mapper/vg_plesk-lv_root als je een VPS met Plesk Image hebt)
  19. resize2fs lvpath als je EXT4 gebruikt of xfs_growfs lvpath (vervang lvpath door hetzelfde path als de vorige stap)
  20. Reboot en controleer met df -h
0
ivar1990 25 oktober 2020 (#4937)

In CentOS 8, bij stap 14, kreeg ik de foutmelding 'xfs_growfs: /dev/cl_xxx/root is not a mounted XFS filesystem'. De oplossing was om het volgende commando

xfs_growfs /dev/cl_xxx/root

Te vervangen met

xfs_growfs /

0
Matthijs van Beek Admin 11 februari 2020 (#4070)

@mijndiad,

Voor CentOS 7 is dat inderdaad niet nodig en kun je er direct mee aan de slag.

0
hofstee 9 februari 2020 (#4061)

Als je centos7 hebt, ben je na de xfs_growfs stap klaar, denk ik. De df -h gaf al meer aan. Is een reboot nog nodig?

0
mijndiad 1 augustus 2019 (#3367)

@qpoly, Dank! Er mist een spatie en er staat "vgextend:" teveel. Ik kreeg de error: vgextend fails with error code 5. Verder top artikel.

0
qpoly 28 juli 2019 (#3357)

Stap 12 was bij mij (CentOS 7 + cPanel):

vgextend vg_cpanel /dev/vda4

0
vanackooij 2 november 2018 (#2171)

@Matthijs van Beek, Thanks, dat was 'm inderdaad :)

0
Matthijs van Beek Admin 2 november 2018 (#2170)

@vanackooij

Bedankt voor je feedback! Het lijkt er op dat het probleem hier zit in het gebruik van resize2fs: Je VPS gebruikt namelijk CentOS als besturingssysteem (zie stap 14), dus het commando wordt: xfs_growfs /dev/vg_plesk/lv_root

0
vanackooij 31 oktober 2018 (#2153)

Top artikel, maar loop tegen de volgende foutmelding aan:

# resize2fs /dev/vg_plesk/lv_root resize2fs 1.42.9 (28-Dec-2013) resize2fs: Bad magic number in super-block while trying to open /dev/vg_plesk/lv_root Couldn't find valid filesystem superblock.

0
Matthijs van Beek Admin 12 oktober 2018 (#2061)

@entjesictservice,

Wij denken graag met je mee. Zou je een bericht vanuit je controlepaneel kunnen sturen naar onze supportafdeling met het precieze commando dat je gebruikte, de output van lvdisplay en een print (p) vanuit fdisk?

0
entjesictservice 11 oktober 2018 (#2057)

Hallo,

Ik krijg bij stap 12 de melding: Can't open /dev/vg_directadmin/lv_root exclusively. Mounted filesystem? Enig idee hoe dit te verhelpen?

0
Matthijs van Beek Admin 12 januari 2018 (#605)

@rickvl

Goede tip! Ik heb je feedback direct verwerkt in het artikel.

@boheemaster

Bedankt! Wij blijven hard spijkeren aan onze knowledge base :)

0
boheemaster 10 januari 2018 (#593)

Prima instructie... blij dat ik voor kwaliteit heb gekozen bij mijn leverancierskeuze. Keep up the good work!

0
rickvl 4 januari 2018 (#578)

Bedankt voor deze uitleg! Bij stap 10 (pvcreate) kreeg ik de melding:

Device /dev/vda3 not found (or ignored by filtering).

Na wat googlen kwam ik erachter dat dit betekent dat de partitietabel nog herladen moet worden. Dat kan met het volgende commando:

partprobe /dev/vda

Wellicht handig om toe te voegen voor anderen die hier tegenaan lopen. Verder kon ik alles doorlopen en is het gelukt.

Kom je er niet uit?

Ontvang persoonlijke hulp van onze supporters

Neem contact op