1.查看分区
df -h (centos-home和centos-root每人的名字可能不一样)
vgdisplay (查看空闲磁盘大小)
2.备份home分区文件
tar cvf /tmp/home.tar /home
3.卸载/home,如果无法卸载,先终止使用/home文件系统的进程
umount /home (卸载)
fuser -km /home/(终止)
4.删除/home所在的lv
lvremove /dev/mapper/centos-home
5.扩展/root所在的lv
lvextend -L +50G /dev/mapper/centos-root
6.扩展/root文件系统
xfs_growfs /dev/mapper/centos-root
7.重新创建home lv
lvcreate -L 50G -n /dev/mapper/centos-home
8.创建文件系统
mkfs.xfs /dev/mapper/centos-home
9.挂载home
mount /dev/mapper/centos-home
10.home文件恢复
tar xvf /tmp/home.tar -C /home/
---------------------------以下方案用于EXT4文件系统------------------------------------------------
基于centos6.5 x86_64, runlevel 3,命令行模式,测试成功。
1.首先查看磁盘使用情况
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 769M 46G 2% /
tmpfs 32G 0 32G 0% /dev/shm
/dev/sda2 485M 33M 428M 8% /boot
/dev/sda1 200M 260K 200M 1% /boot/efi
/dev/mapper/VolGroup-lv_home 468G 198M 444G 1% /home
2、卸载/home
[root@localhost ~]# umount /home #注意要先备份一下/home目录的重要资料
umount /home 如果提示无法卸载,则是有进程占用/home,使用如下命令来终止占用进程:
[root@localhost ~]# fuser -m /home #即使没有占用,也最好执行一下
3、调整分区大小
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 50G
如果提示运行“e2fsck -f /dev/mapper/VolGroup-lv_home”,则执行相关命令:
[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home 然后重新执行命令:
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 50G
注:resize2fs 为重新设定磁盘大小,只是重新指定一下大小,并不对结果有影响,需要下面lvreduce的配合
4、挂载上/home,查看磁盘使用情况
[root@localhost ~]# mount /home
[root@localhost ~]# df -h
5、设置空闲空间
使用lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。记得输入 “y”
[root@localhost ~]# lvreduce -L 50G /dev/mapper/VolGroup-lv_home #-L是设为,-l是减小的值。
WARNING: Reducing active and open logical volume to 50.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 50.00 GiB
Logical volume lv_home successfully resized
#注:lvreduce -L 20G的意思为设置当前文件系统为20G,如果lvreduce -l 20G是指从当前文件系统上减少20G
使用lvreduce减小逻辑卷的大小。注意:减小后的大小不能小于文件的大小,否则会丢失数据。
可以使用vgdisplay命令等查看一下可以操作的大小。也可以是用fdisk -l命令查看详细信息。
注:vgdisplay为显示LVM卷组的元数据信息
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name VolGroup
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 556.24 GiB
PE Size 4.00 MiB
Total PE 142398
Alloc PE / Size 33606 / 131.27 GiB
Free PE / Size 108792 / 424.97 GiB
VG UUID 0uR8GM-Spcx-1i3B-CpwG-c14q-wnrD-Wf6YvV
#注:其中Free PE / Size指定的应该是现在可在分配的空间。在设定lv_root的大小时,不要把Free PE / Size的空间全部都用上,这很可能会出现Free PE空间不足的现象,建议保留一点Free PE的空间。
6.把闲置空间挂在到根目录下
注:lvextend -L +424.90G为在文件系统上增加+424.90G
[root@localhost ~]# lvextend -L +424.90G /dev/mapper/VolGroup-lv_root
Rounding size to boundary between physical extents: 424.90 GiB
Extending logical volume lv_root to 474.90 GiB
Logical volume lv_root successfully resized
重新设定该分区的大小:
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 30
Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 124492800 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_root is now 124492800 blocks long.
#注:在Performing an on-line....会停留比较长的时间!!!如果空间在的话预计15分钟左右,要!!耐心等待!!即可完成。
7、检查调整结果
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 468G 787M 443G 1% /
tmpfs 32G 0 32G 0% /dev/shm
/dev/sda2 485M 33M 428M 8% /boot
/dev/sda1 200M 260K 200M 1% /boot/efi
/dev/mapper/VolGroup-lv_home 50G 180M 47G 1% /home