目标:将VolGroup-lv_home缩小到125G,并将剩余的空间添加给VolGroup-lv_root
1.首先查看磁盘使用情况
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_hostname-lv_root
20G 8.7G 9.6G 48% /
tmpfs 6.9G 72K 6.9G 1% /dev/shm
/dev/sda1 485M 38M 422M 9% /boot
/dev/mapper/vg_hostname-lv_home
171G 110G 53G 68% /home
/dev/sdb5 2.0T 805G 1.1T 43% /xxxx_sdb5
/dev/sdc5 1.7T 197M 1.6T 1% /xxxx_sdc5
2、卸载/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))
umount /home 如果提示无法卸载,则是有进程占用/home,使用如下命令来终止占用进程:
[root@localhost ~]# fuser -m /home
/home: 31112m
top
kill -9 31112
3、调整分区大小
[root@localhost ~]# resize2fs -p /dev/mapper/vg_hostname-lv_home 125G
resize2fs 1.41.12 (17-May-2010)
Please run 'e2fsck -f /dev/mapper/vg_hostname-lv_home' first.
如果提示运行“e2fsck -f /dev/mapper/VolGroup-lv_home”,则执行相关命令:
[root@localhost ~]# e2fsck -f /dev/mapper/vg_hostname-lv_home 然后重新执行命令:
[root@localhost ~]# resize2fs -p /dev/mapper/vg_hostname-lv_home 125G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vg_hostname-lv_home to 32768000 (4k) blocks.
Begin pass 2 (max = 7110485)
Relocating blocks XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 1385)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 4 (max = 3237)
Updating inode references XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/mapper/vg_hostname-lv_home is now 32768000 blocks long.
注:resize2fs 为重新设定磁盘大小,只是重新指定一下大小,并不对结果有影响,需要下面lvreduce的配合
4、挂载上/home,查看磁盘使用情况
[root@localhost ~]# mount /home
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_hostname-lv_root
20G 8.7G 9.6G 48% /
tmpfs 6.9G 72K 6.9G 1% /dev/shm
/dev/sda1 485M 38M 422M 9% /boot
/dev/sdb5 2.0T 805G 1.1T 43% /xxxx_sdb5
/dev/sdc5 1.7T 197M 1.6T 1% /xxxx_sdc5
/dev/mapper/vg_hostname-lv_home
124G 110G 7.4G 94% /home
5、设置空闲空间
使用lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。记得输入 “y”
[root@localhost ~]# lvreduce -L 125G /dev/mapper/vg_hostname-lv_home
WARNING: Reducing active and open logical volume to 125.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 125.00 GiB
Logical volume lv_home successfully resized
注:lvreduce -L 125G的意思为设置当前文件系统为125G,如果lvreduce -l 125G是指从当前文件系统上减少125G
使用lvreduce减小逻辑卷的大小。注意:减小后的大小不能小于文件的大小,否则会丢失数据。
可以使用vgdisplay命令等查看一下可以操作的大小。也可以是用fdisk -l命令查看详细信息。
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name vg_hostname
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 199.51 GiB
PE Size 4.00 MiB
Total PE 51074
Alloc PE / Size 38758 / 151.40 GiB
Free PE / Size 12316 / 48.11 GiB
VG UUID zk1eHH-QXe8-sdm8-cKfF-StSl-yffz-Dfe9sF
注:vgdisplay为显示LVM卷组的元数据信息
6.把闲置空间挂在到根目录下
[root@localhost ~]# lvextend -L +48G /dev/mapper/vg_hostname-lv_root
Extending logical volume lv_root to 67.53 GiB
Logical volume lv_root successfully resized
注:lvextend -L +48G为在文件系统上增加48G
[root@localhost ~]# resize2fs -p /dev/mapper/vg_hostname-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_hostname-lv_root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 5
Performing an on-line resize of /dev/mapper/vg_hostname-lv_root to 17702912 (4k) blocks.
The filesystem on /dev/mapper/vg_hostname-lv_root is now 17702912 blocks long.
7、检查调整结果
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_hostname-lv_root
67G 8.7G 55G 14% /
tmpfs 6.9G 72K 6.9G 1% /dev/shm
/dev/sda1 485M 38M 422M 9% /boot
/dev/sdb5 2.0T 805G 1.1T 43% /xxxx_sdb5
/dev/sdc5 1.7T 197M 1.6T 1% /xxxx_sdc5
/dev/mapper/vg_hostname-lv_home
124G 110G 7.4G 94% /home