- 概述
Linux分区背景
linux中,每个磁盘都是以挂载到目录的形式使用。
例如:
当磁盘1挂载到 / 目录,磁盘2挂载到 /home 目录时。
在 / 目录下创建文件夹或文件时,存储在磁盘1中,在/home目录下创建文件夹或文件时,存储在磁盘2中。
具体步骤
查看当前磁盘分区情况
[root@localhost ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 925G 47G 879G 6% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 116K 1.9G 1% /dev/shm
tmpfs 1.9G 191M 1.7G 11% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 494M 97M 398M 20% /boot
tmpfs 376M 0 376M 0% /run/user/0
/dev/mapper/centos-home 2.0G 33M 2.0G 2% /home
注:只需注意/dev/目录下的就好,其他应该是系统处理不用管。
可以看到这里只有三个,分别是/dev/mapper/centos-root、/dev/sda1、/dev/mapper/centos-home
卸载/home分区
把/home内容备份,然后将/home文件系统所在的逻辑卷删除,扩大 / 文件系统。
tar cvf /tmp/home.tar /home #备份/home 没东西可以不备份
- 记录一下 home下有多少可用空间 ,比如2G,后面扩展根目录要用
- 卸载 /home
umount /home
# 删除lvm时出现"Logical volume contains a filesystem in use"
- 如果无法卸载,先终止使用/home文件系统的进程
删除/home所在的lv,如果提示正在文件系统正在使用中,就先终止进程,使用下面第一段的命令找到进程并杀死.
fuser -m /dev/mapper/centos-home
kill -9 <把上一条命令得到的所有结果的字母去掉(比如kernel),纯数字复制到这里>
- 再次卸载
- 删除/home分区
- 查看lv分区信息
lvdisplay
- 删除lv分区
如果删除失败,可以reboot后再次删除
lvremove /dev/centos/home
- 扩展/ 目录
- 扩展/root所在的lv,增加/home的大小
lvextend -L +2G /dev/centos/root
# 必须出现success才行,不成功可能是空间不够
- 扩展/ 文件系统
xfs_growfs /dev/centos/root
- 恢复/home下面的文件
# cd /
# tar -xvf /tmp/home.ar
编辑/etc/fstab文件删除 /home分区
必须要删除/home 分区,否则无法正常启动。
[root@master etc]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Apr 4 15:25:10 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=9cf092ac-81b6-483e-bb48-fd1e5224340b /boot ext4 defaults 1 2
#/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
[root@master etc]#
确认结果
[root@localhost ~]# df -lh