Wednesday, April 16, 2008

What's the right filesystem for your portable backup drive?

By Nathan Willis on April 16, 2008 (7:00:00 PM)



So you just bought an external hard drive for backups. Now, with what filesystem should you format it? Ext2? FAT32? No matter which one you choose, there are trade-offs to consider.

You face the same choice whenever you buy a USB thumb drive, but for a backup drive, a lot more is at stake. Those backups have to be there and be reliable when disaster strikes. On the one hand, you need to preserve your data and your metadata, so not just any filesystem will do. But on the other, if you're not at your home base, you need to be able to access it from anywhere, so you can't be too obscure.

Back in February, my streak of never needing to restore from backup came to an end (though my no-hard-drive-failure streak is still running strong at 11 years). Filesystem corruption zapped some work from my laptop while I was on the road. It was not a sizable amount in the grand scheme of things, but inconvenient in that it happened while I was away from home base. Once I returned, I started shopping for a pocket-sized external hard drive to carry around to deal with such occasions in the future.
Evil number one: Old and FAT

If a drive comes formatted out-of-the-box, it likely uses FAT32 -- the old Microsoft classic guaranteed to be readable on any computer modern enough to have the right physical connector. You can use FAT32 for a backup drive and be safe in the knowledge that you can retrieve files from it on a Linux, Windows, or Mac OS X system. But FAT32 limits individual file sizes to 4GB, a restriction way too small for video editing and increasingly for DVD ISOs and virtual machine images. More importantly, FAT32 does not support Unix file permissions, adding hassle to restoring ownership and write permission to backup recovery.

NTFS overcomes those technical limitations, but its write support under Linux and OS X is, at best, a problematic hurdle. That makes it risky: a backup system that is a daily hassle to write to is a backup system that doesn't get used. Getting out of that habit is the last thing you want to do.
Evil number two: Nobody understands me

Ask for advice on formatting an external drive in a Linux forum, and the traditional answer is ext2. It is the standard native-to-Linux filesystem -- a reliable, no-nonsense choice for well over a decade, and thanks to its compatibility with successor ext3, unlikely to disappear from Linux in the foreseeable future.

All of which makes ext2 a good option as long as you live in a perfect world, in which no matter where you go there is a Linux computer handy. But if you occasionally find yourself in a room with one of the 90% of the world's PCs that run Windows, you will find it unable to read ext2 partitions.

There are two actively developed projects to bring ext2 support to Windows. The Ext2 Installable File System (IFS) implements system-level read/write access for Windows systems from NT 4.0 to Vista. It is regarded as generally stable, although it does not respect Unix file permissions, and cannot read Logical Volume Manager (LVM) volumes. It is freeware, but not open source.

Ext2fsd is GPL-licensed, and supports many of the same features as Ext2 IFS. It does not run on Windows NT or on Vista, though, and its developer cautions that it is not to be regarded as stable. It does not support LVM, but the latest development builds do support reading ext3 journals.

On Macs, the only option is ext2fsx, an open source project that appears to have gone dormant late in 2006. It was last verified to support OS X version 10.4. Recent rumblings among a new set of developers in the project's discussion forum indicate a growing interest in resuming development, so 10.5 users may not be left out in the cold for long.
Calculating which is the lesser

Not a particularly heartening choice, is it? Everything can read FAT32, but you'll lose your file permission settings and will have to take special measures to split up oversized files. Ext2 will be a breeze to use in Linux, but you will have to find another Linux system to read it.

You can address the latter point by always carrying around a bootable Linux CD or flash drive, or perhaps keeping a copy of the ext2 tools for Windows and Macs on portable storage as well. That is a workable solution, although it adds complexity and additional points of failure. Scratch or lose your portable Linux image and you are back to square one. Plus, the ext2 solutions for the proprietary OSes all require administrator privileges to install -- something you may not have access to in an emergency disaster recovery scenario.

But then again, how many files do you actually have that exceed 4GB in size? Are file ownership and permissions for data (i.e. not system) files really that difficult to restore, compared to the time required to reinstall the OS itself after a hard drive failure?

What I have done in the past is use ext2 for the bulky 3.5-inch backup disk attached to my desktop system at home, and FAT32 on the pocket-sized portable drive I take on the road. Neither approach is a perfect solution, but considering the different steps I'd likely have to take to recover from a failure in both circumstances, at least that approach simplifies a quick recovery in both.

But my choice certainly isn't the only reasonable way to look at it. What strategy do you use, and when disaster strikes, how has it fared?

No comments: