在 ext4 文件系统中使用 bigalloc 功能安全吗?

在 ext4 文件系统中使用 bigalloc 功能安全吗?

在 man ext4(5) 中我们可以读到以下内容:

警告:bigalloc 功能仍在开发中,您的内核可能不完全支持,或者可能存在各种错误。请查看网页http://ext4.wiki.kernel.org/index.php/Bigalloc 了解详情。可能与延迟分配发生冲突(请参阅nodelalloc挂载选项)。

根据上面的链接,该信息可以追溯到2013年,有点古老。

该功能目前的状态如何?bigalloc在仅存储大文件的多个 TiB 硬盘上使用是否安全?

答案1

事实上,直到内核 4.20 之前,bigalloc 仍然存在一个错误。如果您的内核不是最新的,您可能会遇到以下问题:Bug 151491 - 启用 bigalloc 和 128KB 集群的繁忙系统上的可用空间丢失:

启用 bigalloc 且簇大小为 128KB 且创建/覆盖/删除大量 2MB 文件的文件系统会丢失可用空间。

运行 du 和 df 会产生截然不同的用法,其中 df 显示的用法比 du 更多。 lsof 显示没有虚拟打开的文件。使用 dd 填充文件系统表明 df 版本的可用空间正在运行,但卸载并重新挂载文件系统会返回可用空间。 remount后df和du使用没有区别。

该错误似乎在 4.7 内核中不存在(或者需要更多的活动才能显示)。

但是,我不知道这是唯一的问题还是还有其他问题。

相关内容