如何优化 ext4 以获得可靠性?

ami*_*min 11 filesystem ext4

由于 ext4 比带有块日志的 ext3 更可靠,是否有机会假设它 100% 可靠?如果在其上启用块日志(默认情况下禁用)会怎样?

作为朋友的指南,更详细地解释我的情况:我有一个嵌入式 linux 设备,安装后键盘和显示器分离,它可以独立工作。

我的职责是确保它具有可靠的文件系统,因此如果出现错误,则无法手动纠正设备上的错误。我不能强迫我的客户在每台设备上使用 ups 以确保不会因断电而导致故障。

除了块日志之外,ext4 还能为我提供什么?

提前致谢。

dje*_*kyb 11

不。你永远不能假设某事是 100% 可靠的。

日志文件系统可最大限度地减少意外中断时的数据丢失。范围和障碍的帮助更大,但不能消除所有相关问题。就我个人而言,在使用日志文件系统时,我从未遇到过由于文件系统损坏而导致数据丢失的情况。

此外,默认情况下不会禁用日记功能。

这是 ext4 及其改进的很好概述:http : //kernelnewbies.org/Ext4


小智 5

添加到 ext4 并随内核 3.5 引入的新功能是所谓的“元数据校验和”,这是 ext4 的另一个功能,旨在提高文件系统结构的可靠性和完整性。

Kernel newbies很好地解释了整体实现:

ZFS 和 Btrfs 等现代文件系统已经证明,使用校验和确保文件系统的完整性是一项有价值的功能。Ext4 添加了存储各种元数据字段校验和的功能。每次读取元数据字段时,将读取数据的校验和与存储的校验和进行比较,如果它们不同,则表示元数据已损坏(注意,此功能不包括数据,仅包括内部元数据结构,以及它没有“自愈”能力)。

任何 ext4 文件系统都可以在创建时使用“tune2fs -O metadata_csum”命令或“mkfs -O metadata_csum”升级为使用校验和。一旦在文件系统中启用此功能,不支持校验和的旧内核将只能以只读模式安装它。

诸如kernel.org 上的这篇文章更详细的技术细节进一步讨论了如何使用元数据校验和防止损坏的元数据破坏文件系统结构。

然而,文章也警告说:

元数据校验和代码开始进入 Linux 3.5 的主线,从 3.7-rc1 开始,它正在接受一些用户测试。这段代码还不是坚如磐石。

它不是默认在Ubuntu 12.10启动,并可能是最好不要启用它与EXT4文件系统近期问题后的瞬间作为注意到这里