postfix/cleanup[1961]: warning: 88A4F2220524: write queue file: No space left on device 问题定位解决及扩展思考

问题现象

使用 qemu-img 制作了两个qcow2的磁盘文件,给kvm虚机挂载完成,启动虚机时,系统不起来, 内核打印一直卡在 udev 初始化阶段,尝试把虚机挂的盘去掉,重新启动,还是一样的问题,基本可以肯定问题是出在宿主机上了,查看系统日志(journalctl)报如下错误,提示No space left on device

定位过程

1、df -h 查看系统各分区磁盘使用情况,可以看到操作系统所在的分区有明显的异常, 总共542G 的容量,使用了518G, 使用率100%, 一般分区会预留5% 给操作系统使用,  518G 加上 5%的预留空间 基本就到 100%了


2、但是从对系统的了解来说,操作系统分区不会占用到找么大, 需要找到时什么文件占用了磁盘,使用du 命令查看根目录磁盘占用情况(du -sh ./* |sort -rh),输出情况如下, 结合 df 的输出我们可以看到,根目录下(nt_disk 是另外一个分区,不算在内)只占用了200多G 不到300G的磁盘

3、结合最近的操作,怀疑系统有备份文件占用了磁盘,nt_disk 分区重做过好几次, 该分区在之前的操作 使用 full 预分配模式创建过qcow2 文件,因为重做了分区,每次磁盘UUID 不一样了,怀疑之前的qcow2 文件作为一个普通文件存在到无分区的备份目录了;验证是否是该问题,将当前的磁盘分区挂载注释掉(屏蔽掉/etc/fstab文件中相关挂载配置),重启设备

4、重启后再次执行根目录磁盘占用,可以看到确实 nt_disk 下有200多G的文件,并且nt_disk 是一个普通目录

5、删除nt_disk 目录及其下的文件,回复磁盘挂载信息(将/etc/fstab 下屏蔽的配置恢复),重启设备后,可以看到,操作系统分区 占用正常了,再次给虚机挂载磁盘后可以正常启动了


扩展思考

1、在分析的过程中看到虚机系统所属qcow2的文件放在了/var/lib/libvirt 目录下, 该文件随着 虚机的使用会慢慢的变大,目前已经达到了200多G,后续既有可能再次增大导致操作系统不可用,所以kvm 虚机映像文件 推荐 如下使用单独的分区进行存放​​​​​​​

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值