CentOS 7 将 /home 目录空间划分到根目录操作指南
一、操作背景
CentOS 7 默认安装时通常会将大部分磁盘空间分配给/home分区,而根目录/仅分配 50G 左右。当根目录空间不足时,可通过 LVM 逻辑卷管理缩减/home分区,将释放的空间扩容到根目录。
二、操作前说明
- 适用环境:CentOS 7 + LVM 分区 + XFS 文件系统(系统默认安装配置)
- 操作身份:必须使用 root 用户执行
- 核心思路:备份 home 数据 → 删除原 home 逻辑卷 → 新建小容量 home → 剩余空间全部扩容给根目录
三、详细操作步骤
1. 备份 /home 目录数据
创建备份目录,将/home下所有数据迁移到临时备份目录。
mkdir/home-backupmv/home/* /home-backup/若提示
跨设备移动失败,改用cp -a复制:cp-a/home/* /home-backup/
2. 卸载并删除原 home 逻辑卷
# 卸载 /home 分区umount/home# 删除 home 逻辑卷,输入 y 确认删除lvremove /dev/centos/home若提示
目标忙,需先停止所有占用/home的进程(如 Java、Nginx、MySQL、宝塔服务等),可通过lsof /home或fuser -m /home排查占用进程。
3. 查看卷组空闲空间
vgdisplay查看输出中Free PE / Size字段,即为卷组当前可分配的空闲空间总量。
4. 新建小容量 home 逻辑卷
根据实际需求分配新的/home大小,示例分配 50G:
# -L 指定容量大小,-n 指定逻辑卷名,centos 为默认卷组名lvcreate-L50G-nhome centos执行时若提示检测到旧的 xfs 签名,输入y确认清除即可。
5. 格式化并挂载新 home 分区
# 格式化为 XFS 文件系统mkfs-txfs /dev/centos/home# 挂载到 /home 目录mount/dev/centos/home /home6. 恢复备份数据
# 将备份数据迁回新 home 分区mv/home-backup/* /home/# 确认数据完整后,删除临时备份目录rm-rf/home-backup7. 将剩余空间扩容到根目录
# 将卷组所有剩余空闲空间分配给 root 逻辑卷lvextend-l+100%FREE /dev/centos/root# 扩容 XFS 文件系统(必须执行,否则 df 无法识别新增容量)xfs_growfs /dev/centos/root四、验证结果
df-h查看/和/home分区容量,确认根目录已完成扩容,/home为新分配的大小。
五、关键注意事项
文件系统扩容命令区分
- XFS 文件系统必须使用
xfs_growfs扩容 - ext4 文件系统使用
resize2fs扩容 - 两者不可混用,否则会报错
- XFS 文件系统必须使用
开机自动挂载检查
操作完成后检查/etc/fstab中 home 分区的挂载配置,确保 UUID 或设备路径与新逻辑卷一致,避免系统启动时挂载失败。数据安全
删除逻辑卷操作不可逆,务必确认数据备份完整后再执行lvremove。在线扩容
根目录扩容支持在线执行,无需重启系统、无需卸载根分区,业务无中断。