yoyo 发表于 2017-11-27 15:27:01

CentOS Linux如何无损调整分区大小(EXT4文件系统)

解决linux系统CentOS下调整home和根分区大小:目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root,1.首先查看磁盘使用情况...

目标:将/dev/mapper/VolGroup-lv_home 缩小到50G,并将剩余的空间添加给/dev/mapper/VolGroup-lv_root

1.首先查看磁盘使用情况
# df -h
Filesystem            SizeUsed Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                     50G4.2G   43G   9% /
tmpfs                  12G   0   12G   0% /dev/shm
/dev/sda1             477M   40M413M   9% /boot/dev/mapper/VolGroup-lv_home
                     873G30M   873G   1% /

2、卸载/home
# umount /home
umount /home 如果提示无法卸载,则是有进程占用/home,使用如下命令来终止占用进程:
# fuser -m /home

3、调整分区大小用lvdispay显示LVM卷组的元数据信息,可以看到/home分区设备是/dev/VolGroup/lv_home,然后执行下面的命令
# resize2fs /dev/VolGroup/lv_home 50G
resize2fs 1.41.12 (17-May-2010)
Please run 'e2fsck -f /dev/VolGroup/lv_home' first.

如果提示运行“e2fsck -f /dev/mapper/VolGroup-lv_home”,则执行相关命令:

# e2fsck -f /dev/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/VolGroup/lv_home: 11/118013952 files (0.0% non-contiguous), 7456933/472049664 blocks

# 然后重新执行命令: resize2fs /dev/mapper/VolGroup-lv_home 50G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/VolGroup-lv_home to 13107200 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_home is now 13107200 blocks long.
注:resize2fs 为重新设定磁盘大小,只是重新指定一下大小,并不对结果有影响,需要下面lvreduce的配合

4、挂载上/home,查看磁盘使用情况
# mount /home
# df -h
Filesystem            SizeUsed Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                     50G4.2G   43G   9% /
tmpfs                  12G   0   12G   0% /dev/shm
/dev/sda1             477M   40M413M   9% /boot
/dev/mapper/VolGroup-lv_home
                     50G   52M   47G   1% /home

5、设置空闲空间
使用lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。记得输入 “y”
# lvreduce -L 50G /dev/VolGroup/lv_home
WARNING: Reducing active and open logical volume to 50.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce VolGroup/lv_home? : y
Size of logical volume VolGroup/lv_home changed from 1.76 TiB (460986 extents) to 50.00 GiB (12800 extents).
Logical volume lv_home successfully resized.
注:lvreduce -L 50G的意思为设置当前文件系统为50G,如果lvreduce -l 50G是指从当前文件系统上减少50G
使用lvreduce减小逻辑卷的大小。注意:减小后的大小不能小于文件的大小,否则会丢失数据。

可以使用lvdisplay命令等查看一下可以操作的大小。也可以是用fdisk -l命令查看详细信息。
# 用lvdisplay再次查看LVM卷组的信息

6.把闲置空间挂在到根目录下
# lvextend -l +100%FREE /dev/VolGroup/lv_root
Size of logical volume VolGroup/lv_root changed from 50.00 GiB (12800 extents) to 1.76 TiB (460986 extents).
Logical volume lv_root successfully resized.
注:lvextend -L +100%FREE 为在文件系统上增加所有的空闲空间
# resize2fs -p /dev/mapper/VolGroup-lv_root硬盘比较大的话,这个地方执行的时间会有点长,请耐心等待。

7、检查调整结果
# df -h

到此LVM分区调整完毕





yoyo 发表于 2017-11-27 15:28:11

http://bbs.cuwww.com/thread-17475-1-1.html

这里是XFS文件系统的分区调整方法
页: [1]
查看完整版本: CentOS Linux如何无损调整分区大小(EXT4文件系统)