如何从几乎已满的 850G mongodb 分区中回收字节?

如何从几乎已满的 850G mongodb 分区中回收字节?

今天早上醒来发现 MongoDB 不知为何增长到了所有可用磁盘空间。我无法修复数据库以压缩它,因为我没有剩余空间。我甚至无法启动 postgres 来删除旧数据库,从而释放更多空间。我的可用磁盘空间实际上为零。

我确实删除了一个 9GB 的文件,但是当我“df -h”时,空间根本没有显示出来。

我必须尽快清理驱动器上的空间,因为它是生产服务器,而且我们已停机。该怎么办?

答案1

直到所有进程都释放该文件后,空间才会显示出来。尝试使用 lsof 查看正在使用该文件的内容。

答案2

虽然提供的答案在很多情况下都是有效的,但在我的场景中,我最终陷入了 ext3 5% 保留根空间。如果我当时知道的话,我本可以恢复这个空间。我最终使用 USB 驱动器作为 mongodb 回收 850GB 的修复路径。

如果有人感兴趣的话,这就是恢复 ext3 5% 的方法:

http://www.andremiller.net/content/recovering-reserved-space-ext2-and-ext3-filesystems

相关内容