mkfs -O ^64bit,^metadata_csum -t ext4 于 2019

mkfs -O ^64bit,^metadata_csum -t ext4 于 2019

Thomas Krenn 建议创建 ext4 分区,例如:

https://www.thomas-krenn.com/de/wiki/FSCK_Best_Practices

mkfs -O ^64bit,^metadata_csum -t ext4

这是什么意思?

这和 y2038 问题有关系吗?

https://en.wikipedia.org/wiki/Year_2038_problem

“用户只需指定 -O metadata_csum 即可在 mke2fs 时启用此功能。由于 64 位功能允许任意大的块组描述符,这些描述符大到足以为位图启用 crc32c,因此当 64 位功能经过彻底测试时,如果功能集是 metadata_csum,^64bit,mke2fs 应该会警告用户。”

https://ext4.wiki.kernel.org/index.php/Ext4_Metadata_Checksums

有什么推荐?转移到 btrfs 吗?

谢谢!

答案1

metadata_csum这是和的内核文档的摘录 64bit

从 2012 年初开始,所有主要的 ext4 和 jbd2 数据结构都添加了元数据校验和。相关功能标志是 metadata_csum。
所需的校验和算法在超级块中指示,但截至 2012 年 10 月,唯一支持的算法是 crc32c。一些数据结构没有空间容纳完整的 32 位校验和,因此只存储低 16 位。启用 64 位功能会增加数据结构大小,以便可以为许多数据结构存储完整的 32 位校验和。但是,现有的 32 位文件系统无法扩展以启用 64 位模式,至少在没有实验性 resize2fs 补丁的情况下无法这样做。现有的文件系统可以通过tune2fs -O metadata_csum针对底层设备运行来添加校验和。如果 tune2fs 遇到缺少足够空白空间来添加校验和的目录块,它将要求您运行e2fsck -D以使用校验和重建目录。这还有一个好处,就是从目录文件中删除空闲空间,并重新平衡 htree 索引。如果你忽略此步骤,您的目录将不再受到校验和的保护!

答案2

这是什么意思?

简单来说,你现在使用这个功能可能会遇到兼容性问题(它们是现代 mkfs 设置的默认设置),所以最好在明确要求之前不要使用它们 https://askubuntu.com/questions/747656/ext4-broken-file-system-on-ubuntu-14-04-4- 很好的例子(作者天真地盲目地遵循其他人的指令,不知道命令的作用 - 所以他似乎丢失了所有的磁盘而不是修复它;-)

这和 y2038 问题有关系吗?

不,只是关闭了可疑的附加功能 - 一个没有经过充分测试,第二个依赖于第一个但不强制执行(因此内核可能有一天会崩溃),两者都会破坏旧平台上的 fsck。

至于 btrfs - 您最好自己尝试一下。有时它很合适,有时 redhat 强制配置 xfs+lvm 更合适,有时它不值得花时间 - ext4 仍然“适用于”大多数常见用途。

答案3

我想补充其他答案,具体来说,语法意味着“创建一个禁用和功能的mkfs -O ^64bit,^metadata_csum -t ext4ext4 文件系统”。64bitmetadata_csum

查看手册页mkfs.ext4。 这ext4 手册页简要说明其特点。

相关内容