Linux安装的centos虚拟机,其中/dev/mapper/centos-root磁盘占满问题

1、首先查看当前的磁盘空间

[root@localhost /]# df -h

在这里插入图片描述
这个图为重新分配容量后的截图,初始/dev/mapper/centos-root的空间为50G,100%使用,初始/dev/mapper/centos-home的空间为143G

2、确定解决方案

删除/dev/mapper/centos-home,给/dev/mapper/centos-root增加容量,重新创建小容量的/dev/mapper/centos-home。

操作步骤

1、首先备份根路径下的home文件
由于/dev/mapper/centos-root空间100%占用,发现没有足够的空间存储home的备份文件。

  • 查看当前根路径下哪个文件有足够容纳备份文件的空间

[root@localhost /]# du -sh * | sort -nr

在这里插入图片描述

  • 发现只有这个文件下有足够的空间,于是我先把这个虚拟机备份一份
  • 然后将当前datafs文件夹清空,将home备份到datafs文件夹下

[root@localhost /]# tar cvf /datafs/home.tar /home

  • 再将home.tar上传到本地先保存起来
  • 最后删除当前虚拟机,将备份的虚拟机解压并启动。

2、备份好后,卸载/home

[root@localhost /]# umount /home

可能会卸载失败,则先强行终止再进行卸载

[root@localhost /]# fuser -km /home/
[root@localhost /]# umount /home

3、删除centos-home(腾出143G空间)

[root@localhost /]# lvremove /dev/mapper/centos-home

4、扩展centos-root逻辑卷(这里我只增加了50G)

[root@localhost /]# lvextend -L +50G /dev/mapper/centos-root

5、扩展root文件系统

[root@localhost /]# xfs_growfs /dev/mapper/centos-root

6、重新创建/dev/mapper/centos-home(原来的143G用了50G,还有93G,这边预留了3G,只用了90G)

[root@localhost /]# lvcreate -L 90G -n /dev/mapper/centos-home

这里可能会出volume group mapper not found,可以换一种命令执行(使用默认卷组名进行创建)

[root@localhost /]# lvcreate -L 90G -n home centos

7、创建home文件系统

[root@localhost /]# mkfs.xfs /dev/mapper/centos-home

8、挂在到home上

[root@localhost /]# mount /dev/mapper/centos-home

9、由于对root系统进行了扩展,所以当前空间足够再容纳之前备份的home.tar包,远程上传opt文件夹后

[root@localhost /]# tar xvf /opt/home.tar -C /home/

解压后可能会存在多级目录/home/home的问题,执行移动文件夹命令

[root@localhost /]# cd /home/home
[root@localhost /]# mv * ./home

10、此时,输入命令查看

[root@localhost /]# df-h

已成功对/dev/mapper/centos-root进行了扩展

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐