|
LVM Resizing Guide - Shrink File System |
|
|
|
|
Written by Tom Hirt
|
|
Friday, 15 May 2009 09:02 |
|
Page 3 of 3
Shrink File System
Decreasing the size of a file system managed with LVM must be done off-line (unmounted.) To shrink the file system and LV:
- Unmount the file system
- Run a file system check to ensure the integrity of the volume
- Shrink the file system
- Shrink the logical volume
Note: You cannot shrink the file system beyond the amount of free space that is available on it. So if the file system you want to shrink has 1GB of free space, you will only be able to shrink the volume by 1GB. However, logical volumes are not as forgiving. If you are not careful, you can shrink the LV to a size less than what is required by the file system. If the LV is resized smaller than what the file system has been resized to, things will go very badly for you. Did we mention you should backup your data before hand?
Let's get started!
- First, check to see how much space is available
| [root@Linux01 ~]# pwd |
| /TCPDumpLV |
| [root@Linux01 TCPDumpLV]# df -kh . |
Filesystem
|
Size
|
Used |
Avail |
Use% |
Mounted on |
/dev/mapper/TCPDumpVolGRP-TCPDumpLV
|
6.1G
|
922M |
4.9G |
16% |
/TCPDumpLV |
|
Note: The disk free command shows that we are using 922MB and have 4.9G available on our file system. Therefore, we can safely shrink the volume to 1.5G (leaving a little bit for overhead) without any issue.
- Unmount the file system
[root@Linux01 TCPDumpLV]# cd / [root@Linux01 /]# umount /TCPDumpLV
|
- Check the file system for errors
[root@Linux01 /]# e2fsck -f /dev/mapper/TCPDumpVolGRP-TCPDumpLV 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/TCPDumpVolGRP-TCPDumpLV: 13/802816 files (7.7% non-contiguous), 261017/1605632 blocks [root@Linux01 /]#
|
- Shrink the file system to 1.5GB
[root@Linux01 /]# resize2fs /dev/mapper/TCPDumpVolGRP-TCPDumpLV 1500M resize2fs 1.39 (29-May-2006) Resizing the filesystem on /dev/mapper/TCPDumpVolGRP-TCPDumpLV to 384000 (4k) blocks. The filesystem on /dev/mapper/TCPDumpVolGRP-TCPDumpLV is now 384000 blocks long.
[root@Linux01 /]#
|
- Shrink the logical file system to 1.5GB
[root@Linux01 /]# lvresize -L 1.5G /dev/TCPDumpVolGRP/TCPDumpLV WARNING: Reducing active logical volume to 1.50 GB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce TCPDumpLV? [y/n]: y Reducing logical volume TCPDumpLV to 1.50 GB Logical volume TCPDumpLV successfully resized [root@Linux01 /]#
|
Note: Special precaution should be taken with this step. It's possible to reduce the logical volume size by more than the size of the file system. If you do reduce the LV size by more than what you resized the file system to (from step #4), this will almost certainly end very badly for you. Ensure the LV is large enough for the file system and that you make a backup before hand!
- Verify the new size of the logical volume
| [root@Linux01 ~]# lvdisplay /dev/TCPDumpVolGRP/TCPDumpLV |
| --- Logical volume --- |
| LV Name |
/dev/TCPDumpVolGRP/TCPDumpLV |
| VG Name |
TCPDumpVolGRP |
| LV UUID |
hYQs4t-YtY7-51hl-c4ps-4N6d-2W7h-IidcxF |
| LV Write Access |
read/write |
| LV Status |
available |
| # open |
0 |
| LV Size |
1.50 GB |
| Current LE |
48 |
| Segments |
1 |
| Allocation |
inherit |
| Read ahead sectors |
auto |
| - currently set to |
256 |
| Block device |
253:5 |
|
- Remount the file system and verify the new size
[root@Linux01 /]# mount /dev/TCPDumpVolGRP/TCPDumpLV [root@Linux01 /]# cd /TCPDumpLV/
| [root@Linux01 TCPDumpLV]# df -kh . |
Filesystem
|
Size
|
Used |
Avail |
Use% |
Mounted on |
/dev/mapper/TCPDumpVolGRP-TCPDumpLV
|
1.5G
|
920M |
497M |
65% |
/TCPDumpLV |
|
Nice work, you've just resized your LV and it's file systems! Next up, LVM snapshots!
Add this page to your favorite website
|
|
Last Updated on Tuesday, 02 June 2009 10:19 |