Dit document beschrijft hoe een filesysteem online te vergroten als er gebruik word gemaakt van LVM. Het filesysteem dat we willen vergroten is /var/tmp dat zit in de system volumegroup (boot VG). het huidige filesysteem is 128MB en moet vergroot worden naar 1,5GB.
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg.root-lv.root 496M 294M 178M 63% / /dev/mapper/vg.root-lv.var 496M 69M 402M 15% /var /dev/mapper/vg.root-lv.varspool 124M 5.6M 112M 5% /var/spool /dev/mapper/vg.root-lv.varlog 124M 9.0M 109M 8% /var/log /dev/mapper/vg.root-lv.varlogbh 124M 5.6M 113M 5% /var/log/bash_hist /dev/mapper/vg.root-lv.vartmp 124M 5.6M 113M 5% /var/tmp /dev/mapper/vg.root-lv.opt 248M 220M 16M 94% /opt
Vergroten Logical Volume (LVM)
controleer eerst of er voldoende ruimte is in de VG (vg.root) gebruik hier voor vgdisplay of vgs, ik gebruik vgs.
# vgs VG #PV #LV #SN Attr VSize VFree vg.appl 1 0 0 wz--n- 19.97G 19.97G vg.root 1 17 0 wz--n- 16.88G 8.34G
Er is genoeg ruimte. maak nu eerst de Logical Volume groter. met lvextend. met lvs kan je de huidige grote bekijken.
# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert lv.home vg.root -wi-ao 1.00G lv.opt vg.root -wi-ao 256.00M lv.paging00 vg.root -wi-ao 1.00G lv.root vg.root -wi-ao 512.00M lv.tmp vg.root -wi-ao 768.00M lv.usr vg.root -wi-ao 2.50G lv.usrlocal vg.root -wi-ao 128.00M lv.var vg.root -wi-ao 512.00M lv.varlog vg.root -wi-ao 128.00M lv.vartmp vg.root -wi-ao 128.00M
vergroot lv.vartmp met lvextend
# lvextend -L 1.5G /dev/mapper/vg.root-lv.vartmp Extending logical volume lv.vartmp to 1.50 GB Logical volume lv.vartmp successfully resized
controle of hij groter is geworden
# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert lv.home vg.root -wi-ao 1.00G lv.opt vg.root -wi-ao 256.00M lv.paging00 vg.root -wi-ao 1.00G lv.root vg.root -wi-ao 512.00M lv.tmp vg.root -wi-ao 768.00M lv.usr vg.root -wi-ao 2.50G lv.usrlocal vg.root -wi-ao 128.00M lv.var vg.root -wi-ao 512.00M lv.varlog vg.root -wi-ao 128.00M lv.vartmp vg.root -wi-ao 1.50G
Vergroten Filesysteem
de onderliggende LV is nu vergroot nu moet alleen het filesysteem nog vergroot worden. dit kan ook online afhankelijk van de gebruikte kernel versie gebruik je hier de volgende tools voor. ext2online voor oudere versies en resize2fs voor de nieuwere kernel. in de praktijk voor Centos4/RHEL4 ext2online en voor Centos5/RHEL5 resize2fs
CentOS 4 / RHEL4
# ext2online /dev/mapper/vg.root-lv.vartmp
CentOS 5 / RHEL5
# resize2fs /dev/mapper/vg.root-lv.vartmp resize2fs 1.39 (29-May-2006) Filesystem at /dev/mapper/vg.root-lv.vartmp is mounted on /var/tmp; on-line resizing required Performing an on-line resize of /dev/mapper/vg.root-lv.vartmp to 1572864 (1k) blocks. The filesystem on /dev/mapper/vg.root-lv.vartmp is now 1572864 blocks long.
Controle of alles is goed gegaan.
# df -h /var/tmp Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg.root-lv.vartmp 1.5G 6.8M 1.4G 1% /var/tmp
Als je gebruik maakt van ext4 filesystemen op RHEL5 dan kan je ook geen geen resize2fs meer gebruiken, je krijgt dan de volgende fout melding.
# resize2fs /dev/mapper/vg.appl-lv.hdoopdata resize2fs 1.39 (29-May-2006) resize2fs: Filesystem has unsupported feature(s) while trying to open /dev/mapper/vg.appl-lv.hdoopdata Couldn't find valid filesystem superblock.
Om toch te kunnen resizeen heb je resize4fs nodig. deze vind je in e4fsprogs.
# yum install e4fsprogs # resize4fs /dev/mapper/vg.appl-lv.hdoopdata resize4fs 1.41.12 (17-May-2010) Filesystem at /dev/mapper/vg.appl-lv.hdoopdata is mounted on /data; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/mapper/vg.appl-lv.hdoopdata to 786432 (4k) blocks. The filesystem on /dev/mapper/vg.appl-lv.hdoopdata is now 786432 blocks long.
Recente reacties