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 ext4
ext4 文件系统”。64bit
metadata_csum
查看手册页mkfs.ext4
。 这ext4 手册页简要说明其特点。