Hoewel ik hier al wel het een en ander over gelezen had, had ik nog nooit in de praktijk uitgeprobeerd hoe eenvoudig (of ingewikkeld) het is om onder linux 'hot' diskruimte toe te voegen. Onder het credo 'meten is weten' heb ik hier een paar uurtjes tijd in gestoken om me in de mogelijkheden te verdiepen.
Ik begon een virtuele machine in te richten met Ubuntu server. Deze virtuele machine kreeg een enkele disk met een enkele volume group die - afgezien van een kleine ext3 partitie voor het /boot mountpoint - de volledige disk in beslag nam. De eerste uitdaging is nu om een extra schijf toe te voegen en deze in gebruik te nemen zonder deze down te brengen. Hiertoe doorliep ik de volgende stappen:
- Extra harddisk toevoegen aan configuratie VM
- Rescan uitvoeren op de SCSI controller:
echo "- - -" > /sys/class/scsi_host/host/host0/scan
- Aanmaken LVM partitie (type 8e) op de nieuwe harddisk met commando fdisk
- Initialiseren van LVM partitie met commando pvcreate.
- Vergroten volume group met commando vgextend.
- Controleren beschikbare vrije ruimte met commando vgdisplay
- Vergroten logical volume met commando lvextend
- Vergroten filesystem met commando resize2fs
Het resultaat van deze procedure was dat ik de hoeveelheid beschikbare diskruimte had vergroot zonder de virtuele machine te herstarten. Helaas was dit niet helemaal de oplossing die ik zocht want ik moest zowel een nieuwe harddisk als een nieuwe partitie toevoegen. In dat opzicht het gebruik van 'extend' onder Windows toch wat eenvoudiger.
Toen ik op een later moment wat testen uitvoerde op een ESX server kwam ik nog een andere beperking tegen. Op ESX server kun je namelijk een harddisk uitbreiden terwijl de VM blijft draaien. Op het moment dat je dit voor een Linux VM doet, zal deze de extra ruimte niet direct opmerken. Hiervoor zul je een keer moeten herstarten. Als dat gebeurd is, is het alsnog noodzakelijk om een nieuwe fysieke partitie aan te maken en deze aan de volume group toe te voegen.
Mocht dit toch zonder reboot mogelijk zijn, meld dit dan svp. als een reactie op dit artikel! Mogelijk dat dit kan door gebruik te maken van partprobe. Deze utility is beschikbaar na installatie van GNU parted.
Na deze testen moet ik helaas concluderen dat 'hot' uitbreiden van een disk voor een Linux VM niet zo eenvoudig is als voor Windows VM. Het is onder beide besturingssystemen mogelijk, maar is misschien handiger om een Linux VM offline uitbreiden en dan met bijvoorbeeld een GParted live-cd de partitie op te rekken.
Bronnen:
http://kbase.redhat.com/faq/docs/DOC-3942
http://tldp.org/HOWTO/LVM-HOWTO/commontask.html
http://distrowatch.com/weekly.php?issue=20090309
Geen opmerkingen:
Een reactie posten