Docker no space left on device

12 篇文章 1 订阅

docker容器启动时出现{"log":"2019-10-15 09:35:17.210 UTC [42] FATAL:  53100: could not write lock file \"postmaster.pid\": No space left on device\n","stream":"stderr","time":"2019-10-15T09:35:17.210973351Z"}

No space left on device的异常,即设备空间不足

排查:

1、df -h

注:linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。
参数:
-h 方便阅读方式显示
-i 显示inode信息

显示如下:

可以看到/disk1 磁盘占用率达到100%

继续定位

2、du -h

注:

du:显示每个文件和目录的磁盘使用空间,也就是文件的大小。
参数:
-h 方便阅读方式显示
--max -depth=1:显示层级

如上图所示,可以看到是pgsql目录下的pg_wal导致的,这时就需要分析这个postgresql的pg_wal过大的原因了。

3、pg_wal过大的原因分析

通过分析postgresql.conf参数,发现配置了archive_mode=on,但是archive_command='', 由于没有配置archive_command,也就是说不会触发归档命令,造成xlog文件会一直堆积。

4、如何手动清理xlog文件?参考

①. 读取控制文件,找到哪个文件是可以被清理的。

命令:pg_controldata $PGDATA 

②、使用pg_archivecleanup清理pg_xlog目录。

pg_archivecleanup -d $PGDATA/pg_xlog 0000000100000001000000Aa

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值