01 /home空间转移到/根目录操作指南 2025-09-08 linux 暂无评论 16 次阅读 #0.问题背景 在部署龙蜥或Centos操作系统时,其中有一步是磁盘挂载,如果部署时按自动分区,此时根目录/只有70G,大部分空间挂载到了/home分区。而且此时会有/swap分区。与实际要求不符,需要手动调整 / 根目录,存放系统文件 /home 目录主要用于存放用户数据和配置文件 /swap 虚拟内存分区,当物理内存不足时会启用虚拟内存,但虚拟内存的性能远低于物理内存,会导致系统卡顿 swap不需要开,当系统判断内存不足时会自动停止非关键服务,确保关键服务正常运行 图示:系统自动分区时系统盘分区如下:  处理思路: ①/home 对应的空间分配给 / 【本文主题】 ②并将/swap 删除掉。 【可参考 关闭服务器Swap功能】 备注:前提是自动分区时是按LVM格式划分的 - 标准分区是指在安装系统或配置磁盘时直接创建的固定大小的分区(分配后无法更改空间大小) - LVM(逻辑分区)是在逻辑层面上管理磁盘空间,可动态调整逻辑卷的大小,而无需担心物理分区的限制 #1.操作流程(简版) 可优先按简版进行操作,如果出现异常,可再阅读详细版本 龙蜥和Centos的区别主要在于/home 的逻辑路径名称略有不同,整个步骤基本是一致的 ##1.1 龙蜥8.9系统 ``` df -h #检查空间路径 (图是删除后的,实际调整前还有一条/dev/mapper/ao-home) ``` ###(1)卸载/home ``` umount /home #卸载/home目录挂载 #如果提示 Target is busy 异常处理(参考下侧↓) lvremove /dev/mapper/ao-home # 移除/home卷。释放空间 ``` ####Target is busy 异常处理 一般报这个错误的时候是 /home 被占用,常见于部署龙蜥系统时勾选了 GUI并登录了可视化界面 解决办法: ``` sudo systemctl isolate multi-user.target #停止图形界面服务,切换到多用户文本模式 sudo systemctl set-default multi-user.target #下次启动时默认进入文本模式 lvremove /dev/mapper/ao-home 重启后再次尝试移除/home 卷 ``` ###(2)将/home卸载后释放的空间扩容到根目录/下 ``` lvextend -l +100%FREE /dev/mapper/ao-root #将空闲的空间移动 100% 到根目录下面 xfs_growfs /dev/mapper/ao-root #扩充到空间 df -h / #检查扩容情况 (df -h /下看到的数据和 lsblk 看到的一定是一致的) lsblk #检查扩容情况(df -h /下看到的数据和 lsblk 看到的一定是一致的) ```  ###(3)注销/home开机挂载--关键(否则开机后报错) ``` vi /etc/fstab #修改启动项 #i 进入编辑模式,然后在 home 行前面增加#(注销掉即可) #esc 退出编辑模式 :wq!保存退出 reboot #重启(或执行下面的重新挂载fatab命令) systemctl daemon-reload #加载/etc/fstab lsblk #重启后再检查下磁盘挂载是否符合预期 ```  ##1.2 Centos 7.9系统 待补充(主要是home 路径不同) #附录:操作流程(详细版本) 主要是通过相关命令确认挂载的Path ##(1)卸载 /home ``` umount -l /home ``` ##(2)移除/home卷,释放空间 先查看 /home 卷的名称,执行命令:`lvdisplay`  移除 /home 卷,执行命令:`lvremove /dev/ao/home` 如果报如下错误,说明/home 被使用中,需要释放后方可删除。可执行命令:  ``` fuser -vm /dev/ao/home #查看 /home 被占用进程 fuser -km /dev/ao/home #关闭 /home 被占用进程 ``` 一般情况下刚部署的系统可能是因为部署时勾选了GUI(可视化操作系统),也可以通过如下命令关闭GUI重启后也会释放对/home的占用(推荐); ``` sudo systemctl isolate multi-user.target #停止图形界面服务,切换到多用户文本模式 sudo systemctl set-default multi-user.target #下次启动时默认进入文本模式 ```  再次执行:`lvremove /dev/ao/home`,得到如下内容即为成功  ##(3)将空闲空间全部扩展导根目录下 ``` lvextend /dev/mapper/ao-root /dev/sda3 ```  (4)扩容到文件系统空间 执行命令:`xfs_growfs /dev/ao/root`   如果报错`xfs_growfs: /dev/openeuler/root is not a mounted XFS filesystem` 则先查看root目录是什么文件系统格式 `lsblk -f` 如果是ext4格式,则执行`resize2fs /dev/ao/root`  (5)修改/etc/fstab 去掉/home自动挂载记录 ``` vi /etc/fstab ```  删除/home 这一行内容后(也可以在最前面加# 使其失效(linux命令中前面有#代表注释信息)),执行如下命令: ``` systemctl daemon-reload #加载/etc/fstab mount -a #测试挂载是否正常 lsblk #查看挂载是否符合要求(/home去掉等) ``` 转自http://help.seewo.com/seewoedge/GSa1sxK56Z 标签: 磁盘, 空间 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。