Metadata Journaling
Explore metadata journaling in file systems to understand how it ensures crash consistency and improves recovery performance. Learn the differences between data journaling and metadata journaling, the protocols involved, and how careful write ordering prevents data corruption during crashes. Gain insights into practical implementations like Linux ext3 and Windows NTFS, and grasp challenges such as block reuse and revoke records for safe recovery.
We'll cover the following...
Although recovery is now fast (scanning the journal and replaying a few transactions as opposed to scanning the entire disk), normal operation of the file system is slower than we might desire. In particular, for each write to disk, we are now also writing to the journal first, thus doubling write traffic; this doubling is especially painful during sequential write workloads, which now will proceed at half the peak write bandwidth of the drive. Further, between writes to the journal and writes to the main file system, there is a costly seek, which adds noticeable overhead for some workloads.
Because of the high cost of writing every data block to disk twice, people have tried a few different things in order to speed up performance. For example, the mode of journaling we described in the previous lesson is often called data journaling (as in Linux ext3), as it journals all user data (in addition to the metadata of the file system). A simpler (and ...