详解linux根目录空间不足解决方案

1. 前言

之前新建了个ubuntu虚拟机来构建golang开发环境以及用来运行Docker,跟虚拟机分配了20G的空间并挂载到了根目录,但是后来由于用到的镜像越来越多,20G的空间已经远远不能用,所以不得不为系统扩展空间。

2. 本文分析内容安排

  • 虚拟机空间扩展
  • 新建分区
  • 挂载分区到临时目录
  • 拷贝文件
  • 挂载到/var目录并写入fstab

3. 虚拟机空间扩展

打开vmvare,选择要添加磁盘空间的虚拟机,右击,然后在出现的菜单中点Setting,出来如下图所示的页面

选择HardDisk,点击右侧Utilities下拉菜单中的Expand选项,设定扩展后磁盘的总大小,点Expand

4. 新建分区

1、进入系统,先执行fdisk -l命令,查看下系统中现有的分区

2、执行fdisk /dev/sda进入分区管理,要新加分区需要将现有的Swap分区删除,因为如果不删除那么将无法用新加的空间,后期可以再加上该分区

3、删除后已经没了Swap,如上图所示,这里便可以新建分区了,记住要留下分给Swap的空间

4、可以输入w然后退出了

5. 挂载分区到临时目录

为了临时中转/var目录中的文件,先将新建立的分区/dev/sda3挂载到/temp目录下,命令如下:

  mkfs -ext4 /dev/sda2   mkdir /temp   mount -t ext4 /dev/sda2 /temp

6. 拷贝文件

将/var中的文件全部拷贝到/temp中,因为如果不将文件导出来到新建的分区中,那么新挂载目录后会隐藏掉原/var下的目录

  cp /var/* /temp   umount /temp   mount -t /dev/sda2 /var 

到此,已经为虚拟机新增加了磁盘空间,并挂载到了/var目录。

7. 挂载到/var目录并写入fstab

为了在开机时就挂载好新加入的空间,可以将挂载规则写入fstab,相关格式参照fstab中已有条目就好

8. 总结

扩展虚拟机空间并将新扩展的空间挂载到文件系统的方式有很多种,这里讲的只是其中一个,读者可以自己探索其他的,包括使用逻辑卷等可以直接扩展根目录的方式。Linux系统很灵活,实现一个目的的方式有很多种。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

参与评论