Goodbye reiser4, hello ext3

I’ve held out quite a long time, but my reiser4 usage has finally come to an end. I’ve converted the last remaining reiser4 partition to ext3 today.

The backstory:
As my OnStream 15GB tape drive has become unusable (I only own 3 tapes, they’re apparently defective, and as OnStream has gone out of business like 2 zillion times, I can’t purchase replacements) I needed some other form of ‘good enough’ storage that could survive a harddrive crash (I’ve had several of those in the past, so I’m kinda weary of storing stuff on a single drive). I decided to go the RAID5 way with 3 200GB drives (attached via USB to my fileserver as I don’t have any free IDE channels in it), figuring that 400GB would be more than enough to store my photo gallery, video work and the various other stuff I like to keep lying around. Given those 400GB of new free space, I had to decide on a filesystem to put on there and as I looked around for a candidate that would at the same time be fast and flexible while handling that, to me, large amount of data, I fell for Reiser4 which was touted as high-performance fs with the ability to grow and, in later (future) versions, shink (neither xfs nor jfs, the other two candidates, are able to do this).

Now you may ask: Why would anyone want to shrink the filesystem? Well, you never know. I figured that if I ever got into trouble with my new fs, I could start shrinking it, and grow a different one alongside, allowing me to progressively move the data between them. Little did I know that reiser4’s growing capacity was at best experimental at the time (it subsequently got removed completely), and that shrinking the fs wouldn’t arrive even until today. In addition to that, reiser4’s inclusion into the mainline Linux kernel kept being put off, forcing me to patch and compile my own version of Debian’s kernel packages on every kernel upgrade. Anyway, it was too late now, my data was on the drive, and lacking shrinking support, I couldn’t move it off anyway, unless I got more harddrives to copy it to. So I kept using this setup for several months, slowly filling the volume, up until recently where I encountered this thread in the namesys mailing list started by somebody pretty much in the same situation than myself (locked into reiser4, unable to grow the fs). Namesys’ answer was pretty much what I had feared and realizing that I could probably use my RAID5 setup to my advantage when migrating, I decided I’d rather switch now than later, so I purchased another 200GB drive and got set to migrate.

So why did I switch to ext3 instead of the filesystems I mentioned earlier? Well as said, they don’t support shrinking (and I still want that as an option), so it boils down to reiser3 and ext3. Knowing that ext3 had gotten ‘dir_index’ in the meantime, I decided that it was worth the ‘performance loss’ to go with what I consider the most standard/compatible filesystem. As for the migration itself, it was smoother than I thought: Break the old RAID5 to free up one drive, use that drive and the new one to create a new RAID5 in degraded mode, create ext3 fs on new RAID5, move data from Reiser4 to ext3 fs, wipe out the old RAID5, add one of the two drives from it to the new RAID5 to get it fully active (and actually have redundancy), throw away self-compiled kernels and use standard one from Debian packages, done. Reiser4 is gone, and I’m not looking back.

My next task will be to grow the new RAID5. Unfortunately I seem to have shot myself in the foot as EVMS, which I was planning to use for this operation, doesn’t seem to like the new RAID volume: The md metadata format seems to have changed, so while it was happily working with the old RAID and allowing me to grow it (yes, I actually tested this before the very first implementation), it won’t even activate the new one.

So far for my ‘perfect storage odyssey’… there will undoubtly be a similarly uninteresting follow up episode, and if you’re unlucky, I’ll even post it here! ;)

Leave a comment

Your email address will not be published. Required fields are marked *

Bear