Saturday, February 8, 2014

Journaling

A journaling file system is more reliable when it comes to data storage. Journaling file systems do not necessarily prevent corruption, but they do prevent inconsistency and are much faster at file system checks than non-journaled file systems. If a power failure happens while you are saving a file, the save will not complete and you end up with corrupted data and an inconsistent file system. Instead of actually writing directly to the part of the disk where the file is stored, it first writes it to another part of the hard drive and notes the necessary changes to a log, then in the background it goes through each entry to the journal and begins to complete the task, and when the task is complete, it checks it off on the list. Thus the file system is always in a consistent state (the file got saved, the journal reports it as not completely saved, or the journal is inconsistent (but can be rebuilt from the file system)). Some journaling file systems can prevent corruption as well by writing data twice. 

The most commonly used journaling file system, ext3fs (or third extended file system) is an extension of ext2 with journaling capabilities. The ext3fs has been supported in Linux since 2001. Finally, the ReiserFS journaling file system blazed many new trails when it was introduced and found wide adoption. Its evolution is now diminished because of the legal issues of its original author.  

Journaling file systems today

    File System
    Max File Size
    Max Partition Size
    Journaling
    Notes
    Fat16
    2 GB
    2 GB
    No
    Legacy
    Fat32
    4 GB
    8 TB
    No
    Legacy
    NTFS
    2 TB
    256 TB
    Yes
    (For Windows Compatibility) NTFS-3g is installed by default in Ubuntu, allowing Read/Write support
    ext2
    2 TB
    32 TB
    No
    Legacy
    ext3
    2 TB
    32 TB
    Yes
    Standard linux filesystem for many years. Best choice for super-standard installation.
    ext4
    16 TB
    1 EiB
    Yes
    Modern iteration of ext3. Best choice for new installations where super-standard isn't necessary.
    reiserFS
    8 TB
    16 TB
    Yes
    No longer well-maintained.
    JFS
    4PB
    32PB
    Yes (metadata)
    Created by IBM - Not well maintained.
    XFS
    8 EB
    8 EB
    Yes (metadata)
    Created by SGI. Best choice for a mix of stability and advanced journaling.
    GB = Gigabyte (1024 MB) :: TB = Terabyte (1024 GB) :: PB = Petabyte (1024 TB) :: EB = Exabyte (1024 PB)

    No comments:

    Post a Comment