So you have run out of space on one of your LVM volumes, but there's another volume with too much space that's not being used. You need to shrink one and grow the other!
First thing first! DO NOT SHRINK A (LVM) VOLUME WITHOUT resizing the FILESYSTEM first! Your data (filesystem) will be screwed!
So let's have a go. Here will have a full volume
/filetek/sth/sthdbs, and we have a volume being used as a mount point with too much space
/filetek. We need to shrink
/filetek and expand /filetek/sth/sthdbs.
root@server /
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/volg0-root
969M 526M 394M 58% /
/dev/sda1 190M 85M 96M 47% /boot
/dev/mapper/volg0-home
4.7G 173M 4.3G 4% /home
/dev/mapper/volg0-usr
3.8G 1018M 2.6G 28% /usr
/dev/mapper/volg0-var
3.8G 470M 3.2G 13% /var
/dev/mapper/volg1-filetek
197G 9.4G 178G 6% /filetek
/dev/mapper/volg1-filetek--tmp
50G 52M 47G 1% /filetek/tmp
/dev/mapper/volg1-filetek--jrnl1
50G 885M 46G 2% /filetek/jrnl1
/dev/mapper/volg1-filetek--sthdbs
1.0T 970G 1.7G 100% /filetek/sth/sthdbs
/dev/mapper/volg1-filetek2
197G 1.6G 186G 1% /filetek2
/dev/mapper/volg1-filetek2--tmp2
50G 52M 47G 1% /filetek2/tmp2
/dev/mapper/volg1-filetek--jrnl2
50G 885M 46G 2% /filetek2/jrnl2
Let's umount all the volumes involved:
root@server ~
$ umount /filetek/tmp /filetek/jrnl1 /filetek/sth/sthdbs
root@server ~
$ umount /filetek
Let's resize (shrink) /filetek to 32GB by fsck'ing it first:
root@server ~
$ fsck -f /dev/mapper/volg1-filetek
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
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
filetek: 2119/13107200 files (2.1% non-contiguous), 3307507/52428800 blocks
Using resize2fs:
root@server ~
$ resize2fs /dev/mapper/volg1-filetek 32G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/volg1-filetek to 8388608 (4k) blocks.
The filesystem on /dev/mapper/volg1-filetek is now 8388608 blocks long.
Now we can safely reduce the LVM volume size with the lvreduce command:
root@server ~
$ lvreduce -L 40G /dev/mapper/volg1-filetek
WARNING: Reducing active logical volume to 40.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce filetek? [y/n]: y
Size of logical volume volg1/filetek changed from 200.00 GiB (51200 extents) to 40.00 GiB (10240 extents).
Logical volume filetek successfully resized
All, very good so let's expand our volume that has run out of space:
root@server ~
$ lvextend --size +200G /dev/mapper/volg1-filetek--sthdbs
Size of logical volume volg1/filetek-sthdbs changed from 1.02 TiB (266240 extents) to 1.21 TiB (317440 extents).
Logical volume filetek-sthdbs successfully resized
Now we need to grow the filesystem, but first let's fsck (e2fsck) it:
root@server ~
$ e2fsck -f /dev/mapper/volg1-filetek--sthdbs
e2fsck 1.41.12 (17-May-2010)
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
filetek-sthdbs: 1170/68157440 files (21.9% non-contiguous), 258555686/272629760 blocks
root@server ~
$ resize2fs /dev/mapper/volg1-filetek--sthdbs
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/volg1-filetek--sthdbs to 325058560 (4k) blocks.
The filesystem on /dev/mapper/volg1-filetek--sthdbs is now 325058560 blocks long.
Let's re-mount both filesystems to file all is good!
root@server ~
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/volg0-root
969M 526M 394M 58% /
/dev/sda1 190M 85M 96M 47% /boot
/dev/mapper/volg0-home
4.7G 173M 4.3G 4% /home
/dev/mapper/volg0-usr
3.8G 1018M 2.6G 28% /usr
/dev/mapper/volg0-var
3.8G 470M 3.2G 13% /var
/dev/mapper/volg1-filetek2
32G 1.6G 29G 6% /filetek2
/dev/mapper/volg1-filetek--tmp
50G 52M 47G 1% /filetek/tmp
/dev/mapper/volg1-filetek--jrnl1
50G 885M 46G 2% /filetek/jrnl1
/dev/mapper/volg1-filetek2--tmp2
50G 52M 47G 1% /filetek2/tmp2
/dev/mapper/volg1-filetek--jrnl2
50G 885M 46G 2% /filetek2/jrnl2
/dev/mapper/volg1-filetek
32G 9.4G 21G 32% /filetek
/dev/mapper/volg1-filetek--sthdbs
1.2T 970G 189G 84% /filetek/sth/sthdbs
No comments:
Post a Comment