详解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系统很灵活,实现一个目的的方式有很多种。希望对大家的学习有所帮助,也希望大家多多支持我们。