Btrfs 如何在不记录日志的情况下防止数据损坏?

Btrfs 如何在不记录日志的情况下防止数据损坏?

根据这一页,像这样的文件系统外部4写日记对于块和元数据,它用于防止数据损坏:

日志文件系统是一种文件系统,它通过在称为“日志”的数据结构(通常是循环日志)中记录此类更改的意图来跟踪尚未提交到文件系统主要部分的更改。如果发生系统崩溃或电源故障,此类文件系统可以更快地恢复在线状态,并且损坏的可能性更低。

Btrfs似乎没有日记根据这一页

然而,这一页引号外部4主要开发者和维护者西奥多·托索正如所说BTFS外部4:

尽管 Ext4 为文件系统添加了许多引人注目的功能,但 T'so 并不认为这是向前迈出的一大步。他认为这是对过时的“20 世纪 70 年代技术”的翻版,并将其描述为保守的短期解决方案。他认为,前进的方向是 Oracle 的开源 Btrfs 文件系统,该系统旨在显着提高可扩展性、可靠性和易管理性。

那么,如何BTFS防止数据损坏,无需写日记

答案1

Btrfs 用途写时复制(CoW),因此现有数据在修改时不会被覆盖,而是复制到新位置并更改副本。因此不需要日志,因为在断电或系统崩溃的情况下,您仍然拥有原始数据。 Btrfs 还使用校验和来检测随机数据损坏,以便了解数据和元数据是有效还是已损坏。

提供了有关写入时复制的更多信息这里或更一般的描述维基百科

相关内容