在我的系统上df -h
报告根文件系统已满(100%
可用0
),并且还btrfs fi usage /
告诉我所有空间都已分配。重新启动后,它甚至无法启动必要的服务,所以我现在处于恢复模式。
我尝试平衡系统,如下所示btrfs ERROR: error duringbalancing - No space left on device。因为btrfs balance start -dusage=27 /
我得到:
Done, had to relocate 0 out of 56 chunks`\n
Run Code Online (Sandbox Code Playgroud)\n\n因为btrfs balance start -dusage=28 /
我得到:
ERROR: error during balancing \'/\': No space left on device\n
Run Code Online (Sandbox Code Playgroud)\n\n因此,我开始删除其中的文件/var/log/
,但即使删除了几个 100 MB 的df -h
文件,报告也没有任何可用的位。
我怀疑,一旦空间空闲,就会有一些服务填补该空间。但由于我处于恢复模式,所以不应该有这么多服务。
\n\n我怎样才能知道删除文件后立即填充空间的是什么?
\n\n如何确保有可用空间供 btrfs 用来重新平衡?
\n\n我的系统是 debian 10.3 (buster),文件系统 btrfs 并且安装了 docker,我怀疑这是问题的一部分,但它没有在恢复模式下运行,所以 \xe2\x80\xa6
\n从历史上看,btrfs 上的一些空间不足的情况需要临时向卷添加额外的磁盘,因为 btrfs 的 COW 性质可能需要一些临时空间来保存块的修改版本,然后才能释放旧版本。不过,据我所知,其中许多情况已由 btrfs 开发人员修复。
对于 btrfs 卷上的紧急磁盘使用情况分析,我想推荐 btdu,这是我编写的一个工具:
https://github.com/CyberShadow/btdu
由于它只需要收集 100 个样本即可获得 1% 的分辨率,因此能够在几秒钟内识别出大型太空猪。
归档时间: |
|
查看次数: |
9133 次 |
最近记录: |