Dit document beschrijft hoe je een LVM filesysteem offline kan verkleinen, het is nog niet mogelijk om dit online te doen met resize2fs. deze beschrijving is getest op RHEL5, maar geld ook voor andere recente distro’s. Het belangrijkste is dat je het filesysteem kan unmounten, in dit voorbeeld gaan we /tmp van 3G verkleinen naar 1G daarvoor dien je alle applicaties te stoppen die gebruik maken van /tmp. Uiteraard dient alles wel te passen.
[root@testA ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg.root-lv.root 496M 272M 199M 58% / /dev/mapper/vg.root-lv.var 992M 87M 854M 10% /var /dev/mapper/vg.root-lv.home 992M 113M 829M 12% /home /dev/mapper/vg.root-lv.usr 2.5G 767M 1.6G 33% /usr /dev/mapper/vg.root-lv.opt 248M 74M 162M 32% /opt /dev/mapper/vg.root-lv.tmp 3.0G 66M 2.7G 3% /tmp /dev/sda1 122M 20M 96M 17% /boot tmpfs 1.9G 0 1.9G 0% /dev/shm
Applicaties zijn gestopt probeer /tmp te umounten.
[root@testA ~]# umount /tmp umount: /tmp: device is busy umount: /tmp: device is busy
Unmounten lukte niet controleer welke process /tmp vast houd met fuser. en stop die applicatie
[root@testA ~]# fuser -cu /dev/mapper/vg.root-lv.tmp /dev/mapper/vg.root-lv.tmp: 2737(root) [root@testA ~]# ps -ef |grep 2737 root 2737 1 0 May08 ? 00:19:23 /usr/sbin/vmtoolsd root 12817 11649 0 11:20 pts/2 00:00:00 grep 2737 [root@testA ~]# /etc/init.d/vmware-tools stop
Als dat gelukt is kan je /tmp unmounten, in mijn voorbeeld draaide vmtools dit kunnen ook andere applicaties zijn.
[root@testA ~]# umount /tmp [root@testA ~]#
'”`UNIQ–google-00000001-QINU`”‘
/tmp is geunmount nu kan je proberen een resize2fs uit te voeren, waarschijnlijk moet je eerst een filesystem check doen, maar ik doe hem eerst zonder om de melding te laten zien.
[root@lsrvtestA ~]# resize2fs /dev/mapper/vg.root-lv.tmp 1G resize2fs 1.39 (29-May-2006) Please run 'e2fsck -f /dev/mapper/vg.root-lv.tmp' first.
Eerst dus een fsck op het filesystem.
[root@testA ~]# e2fsck -f /dev/mapper/vg.root-lv.tmp e2fsck 1.39 (29-May-2006) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/mapper/vg.root-lv.tmp: 693/786432 files (1.0% non-contiguous), 41509/786432 blocks
Geen problemen dus nogmaals verkleinen proberen.
[root@testA ~]# resize2fs /dev/mapper/vg.root-lv.tmp 1G resize2fs 1.39 (29-May-2006) Resizing the filesystem on /dev/mapper/vg.root-lv.tmp to 262144 (4k) blocks. The filesystem on /dev/mapper/vg.root-lv.tmp is now 262144 blocks long.
Het filesysteem is nu dus verkleint, nu moeten we alleen nog het logical verkleinen. je krijgt een waarschuwing dat je data kan kwijt raken.
[root@testA ~]# lvreduce -L 1G /dev/mapper/vg.root-lv.tmp WARNING: Reducing active logical volume to 1.00 GB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lv.tmp? [y/n]: y Reducing logical volume lv.tmp to 1.00 GB Logical volume lv.tmp successfully resized
Recente reacties