OS X 10.3 File Journaling Explained
[ First posted on www.lafcpug.org, November 16, 2003. ]
I’m a post-production consultant to a variety of broadcast and film production studios throughout Hollywood. In dealing with my clients, their number one concern is maximizing the performance of their equipment, while maintaining the highest level of data integrity.
New to most of us with OS X 10.3 is File Journaling. First released by Apple in OS X Server 10.2, this new feature has a direct impact on how we get maximum performance with maximum safety for our editing systems.
According to Apple’s web site: “Journaling is a technique that helps protect the integrity of the Mac OS Extended file systems on Mac OS X volumes. It both prevents a disk from getting into an inconsistent state and expedites disk repair if the server fails.
“When you enable journaling on a disk, a continuous record of changes to files on the disk is maintained in the journal. If your computer stops because of a power failure or some other issue, the journal is used to restore the disk to a known-good state when the server restarts.
“With journaling turned on, the file system logs transactions as they occur. If the server fails in the middle of an operation, the file system can ‘replay’ the information in its log and complete the operation when the server restarts.”
Basically, Unix, in order to get improved performance, keeps disk directories in memory and only periodically writes them to your hard disk. If you crash, your directories are, in almost all cases, out of sync with the files recorded on your hard drives.
Many of us, faced with a system crash, will use FSCK (or, if the situation is really bad, Disk Warrior X) to rebuild our directories. However, with OS X 10.3, FSCK no longer works the way it did in 10.2. In fact, it doesn’t work at all. This is because file journaling is turned on by default in OS X 10.3.
When journaling is turned on, every time you write a file to your hard disk, or modify an existing file, the operating system writes an entry into a transaction file. This is MUCH quicker than writing out the full directory structure.
Journaling is also much safer for your data because if you crash, the operating system uses the journal to update the directory structure, which means far less lost data and far faster reboots.
The problem is that journaling takes time. Enough time that it is worth considering turning journaling off on all your media drives. The benefit is that you get faster performance. The disadvantage is that in the event of a crash, you don’t have the protection journaling provides. On the third hand, hard drives with journaling turned off are in no worse shape than hard drives running under OS 10.2.
In my experience with a wide variety of media clients, disk directory problems almost never arise with secondary drives, they are almost exclusively the domain of the boot disk.
As Apple writes: “If your [computer] contains high-bandwidth usage data files, such as large video, graphics, or audio files, you may want to weigh the benefits of using journaling against the performance needed to access your data. In most cases, the impact of journaling upon data access performance are unnoticeable to users, but its implementation may not be practical for [computers] where data access demands outweigh its benefits.
My recommendation? Leave journaling turned on for your boot disk and turn it off for all secondary drives (both internal and external) that are used to store media files. For external drives that store data, not media, turn journaling on.
Journaling is controlled using Disk Utility. And there are two ways you can turn Journaling on (the default) or off (better for media drives). First, is when you setup your drive by selecting the appropriate option in the Erase tab.
However, you can also turn off journaling in the Disk Utility by selecting your hard disk then going to File->Disable Journaling, which doesn’t involve reformatting your drive and erasing data.
For more technical information on File Journaling, read Article ID 107249 on the Apple Support web site.