1.做好节点备份(快照)
2.查看系统分区情况
[root@localhost ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
50G 26G 22G 54% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/xvda1 485M 32M 428M 7% /boot
/dev/mapper/VolGroup-lv_home
199G 190M 189G 1% /home
[root@localhost ~]#
3.卸载要缩小的分区的挂载点 /home
[root@localhost ~]# umount /home
umount: /home: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
[root@localhost ~]#
如上所示,提示umount: /home: device is busy.
意思是 linux上还有process在读取/home下面的相关数据,所以不让卸载。
解决方法:使用fuser命令。
# fuser -m /home
[root@localhost ~]# fuser -m /home
/home: 1075c
[root@localhost ~]#
1075则代表的是PID为1075的程序在使用/home
接着使用# kill -9 PID来杀kill process...但是在杀之前,确认一下是谁在使用哪个服务。
# ps aux | grep 1075
PS1、如果有重要服务在运行,直接kill掉,会造成无法挽回的结果。
PS2、有时候 kill掉一个 马上就会又产生一个。
所以可以用kill -9 PID;umount /home 便可以马上处理好。
4.强制检查/dev/mapper/VolGroup-lv_home文件系统的正确性
[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home
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
/dev/mapper/VolGroup-lv_home: 47/13213696 files (0.0% non-contiguous), 877904/52848640 blocks
[root@localhost ~]#
5.缩小/dev/mapper/VolGroup-lv_home文件系统的大小
resize2fs 程序可以更改ext2/ext3文件系统。它可以放大和缩小它能够找到的设备上的被umount掉的文件系统。如果文件系统是处于mount状态下,那么它只能做到扩容,前提条件是内核支持在线resize(linux kernel2.6支持在mount状态下扩容但仅限于ext3文件系统)。
[root@localhost ~]# resize2fs /dev/mapper/VolGroup-lv_home 1G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/VolGroup-lv_home to 262144 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_home is now 262144 blocks long.
[root@localhost ~]#
6.缩小/dev/mapper/VolGroup-lv_home的LVM大小
[root@localhost ~]# lvresize -L 1G /dev/VolGroup/lv_home
WARNING: Reducing active logical volume to 1.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_home? [y/n]: y
Reducing logical volume lv_home to 1.00 GiB
Logical volume lv_home successfully resized
[root@localhost ~]#
7. 挂载 /home 以及确认分区
[root@localhost ~]# mount -a
[root@localhost ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
50G 26G 22G 54% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/xvda1 485M 32M 428M 7% /boot
/dev/mapper/VolGroup-lv_home
1008M 151M 807M 16% /home
[root@localhost ~]#
8.将缩小的空间量扩到别的挂载点上。
[root@localhost ~]# lvextend -L +200G /dev/VolGroup/lv_root
Extending logical volume lv_root to 250.00 GiB
Logical volume lv_root successfully resized
[root@localhost ~]# resize2fs /dev/VolGroup/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 16
Performing an on-line resize of /dev/VolGroup/lv_root to 65536000 (4k) blocks.
The filesystem on /dev/VolGroup/lv_root is now 65536000 blocks long.