日志文件系统
编辑日志文件系统是一种文件系统,它在将所有更改实际写入为此目的保留的内存区域(日志)之前记录所有更改。 这使得随时重建数据的一致状态成为可能,即使写入过程在任何时候中止也是如此。 此功能在系统崩溃或断电时很有用。 这意味着可以省去对整个文件系统的检查,而传统文件系统通常在此类事件发生后自动启动并且经常无法修复。 尤其是对于分区大小超过 100 GB 的大硬盘,这也会在引导时节省大量时间,因为检查这些可能需要几个小时。
元数据日志记录和完整日志记录之间存在区别。 元数据日志仅保证文件系统的一致性,而完整日志还保证文件内容的一致性。 通俗地说,当元数据日志实际上是指日志时,通常使用通用术语日志。
文件系统更新问题
编辑文件系统通过将数据与名称相关联来存储有关文件和类文件对象(特别是目录)的信息。 有多种方法可以做到这一点,每个文件系统使用的结构都有些相似但从不完全相同。 所有文件系统的共同点是对文件的更改(包括创建、移动、重命名或删除)需要在大容量存储设备上的多个位置进行写操作。 当执行xxx个写操作时,文件系统不再处于一致状态(它包含更改但尚未包含所有更改;其语义是:假设已完成的写操作将文件从一个一致状态移动到另一个已传输),如果你完成了最后的写过程,文件系统又是一致的。 但是,如果在此期间必须重新启动计算机(无论是由于崩溃、电源故障还是使用重置按钮),则必须首先广泛检查文件系统是否存在此类错误,然后才能再次安全地使用它. 如果跳过这样的测试,则可能会在后续写入操作中出现严重错误,从而导致所有数据全部丢失。
日志功能
编辑日志概念抵消了文件系统更新的问题。 如果用户想将文件D从目录V1移动到目录V2,必须进行两次写操作:首先,必须从目录V1中删除D上的旧条目,其次,必须将新条目D添加到目录中V2。
后者可能需要扩大目录 V2,这将需要进一步的更改。 所有这些更改都不是在它们实际所属的地方进行的,而是首先写入文件系统中的一个特殊区域,即所谓的日志。 然后有定性:
- 从目录 V1 中删除条目 D
- 将条目 D 添加到目录 V2
仅此过程还不能实现防止不完整操作的预期安全目标,因为这里又是在操作的中间 - 可能恰好恰好在“从目录 V1 中删除条目 D”之后但在“将条目 D 添加到目录 V2”之前 -系统崩溃。 因此,期刊需要时常关闭。 它记录到目前为止已进行了多少更改,并使用校验和来确保数据正确。 创建文件的移动操作应从新位置开始,然后复制所有数据并以删除目录条目结束,从而释放源卷上的磁盘空间。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/358203/