阅读本文需要理解lvm磁盘管理, 可参考Centos7 lvm磁盘管理详解
测试环境说明:
CentOS 7服务器/和/home分区是lvm分区- 待调整大小的分区文件系统类型是
xfs
现测试把/home分区从30G缩减到10G, /分区从18G增加到38G
[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 473M 0 473M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.8M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 18G 1.5G 17G 9% /
/dev/sda1 xfs 1014M 154M 861M 16% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/centos-data xfs 1014M 177M 838M 18% /data
/dev/mapper/centos-home xfs 30G 33M 30G 1% /home
lvs、vgs、pvs输出如下:
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
data centos -wi-ao---- 1.00g
home centos -wi-ao---- 30.00g
root centos -wi-ao---- <17.99g
swap centos -wi-ao---- 2.00g
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 4 0 wz--n- 50.99g 4.00m
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <49.00g 0
/dev/sdc1 centos lvm2 a-- <2.00g 4.00m
CentOS 7文件系统默认是xfs, 而xfs文件系统只能增加,不能缩减。
因此调整分区方法是:1、先备份/home 2、再删除/home分区,然后重建更小的分区 3、最后把多余的划分给/分区。
-
备份
/home分区内容[root@localhost ~]# tar -czvf /root/home.tgz -C /home . -
测试备份
[root@localhost ~]# tar -tvf /root/home.tgz -
卸载
/home分区[root@localhost ~]# umount /dev/mapper/centos-home -
移除
/home逻辑卷[root@localhost ~]# lvremove /dev/mapper/centos-home -
重建
/home逻辑卷、格式化、挂载[root@localhost ~]# lvcreate -L 10G -n home centos WARNING: xfs signature detected on /dev/centos/home at offset 0. Wipe it? [y/n]: y Wiping xfs signature on /dev/centos/home. Logical volume "home" created. [root@localhost ~]# mkfs.xfs /dev/centos/home meta-data=/dev/centos/home isize=512 agcount=4, agsize=655360 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=2621440, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@localhost ~]# mount /dev/mapper/centos-home -
扩张
/逻辑卷,使用所有空闲区域, 同时重定文件系统(-r)[root@localhost ~]# lvextend -r -l +100%FREE /dev/mapper/centos-root -
恢复
/home备份内容[root@localhost ~]# tar -xzvf /root/home.tgz -C /home -
最后检查
/etc/fstab配置文件里面/home分区映射。如果是使用UUID挂载的, 则需要更新。(因为重建了/home分区, UUID会改变) -
追加一条。 如果ssh使用秘钥无法远程登录, 并且开启了selinux, 使用下列命令修复
[root@localhost ~]# restorecon -R -v /home
最终结果:
[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 473M 0 473M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.7M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 38G 1.5G 37G 4% /
/dev/mapper/centos-home xfs 10G 33M 10G 1% /home
/dev/sda1 xfs 1014M 154M 861M 16% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
data centos -wi-a----- 1.00g
home centos -wi-ao---- 10.00g
root centos -wi-ao---- 37.99g
swap centos -wi-ao---- 2.00g
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 4 0 wz--n- 50.99g 0
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <49.00g 0
/dev/sdc1 centos lvm2 a-- <2.00g 0
本文介绍了如何在CentOS 7系统中,通过LVM管理工具,将home分区的部分空间调整给root分区。操作涉及备份、删除、重建逻辑卷以及恢复数据等步骤,并警告了文件系统在扩容时的限制,强调了UUID变化可能导致的挂载问题及SSH登录修复措施。
1万+

被折叠的 条评论
为什么被折叠?



