vmware 扩容:no space left on device
序言
在vmware安装了ubuntu,起初了只给了10G。但是在我安装了docker,并且配置了n个镜像以后,他报错了。
起初怀疑是配置出问题了,但是能正常创建容器,通过命令docker logs -f 容器name查看日志后,发现报错信息no space left on device,所以怎么不是空间不足呢?
排查
- 查看docker日志
docker logs -f 容器name
# 报错信息:no space left on device
- 查看分区占用大小
df -h

这里我已经扩展了20G,之前的可用,也就是Avail列是0,所以导致了报错。
解决
增加虚拟机内存:vmware找到你的镜像,右键最下面的设置,增加对应磁盘空间。

linux扩容
在外部扩容完成后,内部的分区大小不会有丝毫改变,需要手动进入系统修改。
第一步:查看磁盘分区信息
notice: 找到和你上一步分配完内存大小一致的分区,我这里是41G,记下前面盘符信息/dev/sda
fdisk -l

第二步:使用fdisk工具分区
notice: /dev/sda是上一步得知的,有任何问题,ctrl+c退出重来
fdisk /dev/sda
第三步:输入p,查看磁盘分区情况,我的/dev/sda盘被分为4个区(1,2,3,5)

第四步:输入大写的F,获得未分区的磁盘大小。我这里为了演示,只扩展了一个G。

第五步:输入n,新建一个分区。
notice:这里会让你选择分区号,也就是你希望扩展后的分区名称是/dev/sda4,还是/dev/sda5、/dev/sda6、/dev/sda7…
我这里1,2,3,5都被占用了,这里输入 4 。

第六步: 选择sector,默认回车两次就好。

输出下面这个就是成功了。
第七步:输入p,查看分区信息,很明显,加上了/dev/sda4。

第八步:最后输入wq保存退出。
格式化&扩容分区
第一步:格式化你的分区为ext4格式,ext4最大支持1EB文件系统
# /dev/sda4是上面设置的
mkfs.ext4 /dev/sda4

第二步:创建物理卷
pvcreate /dev/sda4

第三步:使用vgscan查看卷组信息,记录双引号中内容,ubuntu-vg,下面要用

第四步:使用新增的物理卷拓展ubuntu-vg卷组
vgextend ubuntu-vg /dev/sda4
第五步: df -h | grep '/$',查看根目录分区名

第六步:拓展逻辑组
lvextend -L +1G /dev/mapper/ubuntu--vg-ubuntu--lv
# Logical volume ubuntu-vg/ubuntu-lv successfully resized.
第七步:重新加载文件系统,识别新添加的磁盘文件
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
