Ah, the sound of a dead drive. That’s what my 200GB Western Digital drive said to me this morning as I rebooted. This was after I realized that I couldn’t access any of my source code. dmesg was yelling at me about having trouble accessing /dev/hde. This drive contained my source code (almost all of which are on remote SVN or CVS repositories, of course) and all my media (audio, video, images).
I just chuckled.
A very short while ago, a matter of weeks really, I had this bad bad feeling that I was going to lose all my data. No real reason, but I started getting very paranoid about it. I looked around and after factoring in cost and laziness, I picked up a 1.0TB Buffalo Terastation, which is a cute little machine. It’s a PPC-based Linux RAID-enabled NAS, basically, with SMB, FTP, and AppleTalk support. After RAID5, I was left with about 700GB. I immediately copied everything I truly cared about to it (media files, basically). While most places sell this for $1000, I found it just over $900 at Comp-U-Plus.
It arrived and I set it up. I have to say, I like it. It just works. It has gigabit ethernet, for when I finally get around to upgrading my network. You just set it up over the web. Users, groups, permissions, mounts, RAID configuration, formatting, diagnostics, optional periodic status e-mails, etc.
One nice thing about the Terastation is that it has 4 USB ports. You can connect a printer to it and have network printer sharing. You can also connect up to 4 USB hard drives and set up a second RAID array, expand the current array, or back up your array. Nice and expandable. It also has support for hooking up to a UPS system, so it can shut down gracefully.
So with the Western Digital drive dead, I shut down, pulled the drive, and rebooted. I then proceeded to play some music and think to myself how glad I was I bought this thing earlier this month.
Now, the Terastation isn’t perfect. My main complaint was that I couldn’t use symlinks, due to SMB not supporting them (or at least this particular version?). That wasn’t a huge deal, considering it’s mostly media files, but I wanted the option, damnit!
I looked around and found a coupel sites on hacking the Terastation. The main one with all the info is a nice wiki at terastation.org. I went to the section on gaining root access and saw that he soldered dip switches onto his Terastation’s motherboard to make the serial port actually usable. I wasn’t ready to do that just yet. Or ever. Maybe if this thing was a few years old and I had another solution.. Maybe.
I checked back today and looked over the firmware pages. It turns out that Buffalo, the makers of the Terastation, provide a zip file with a image.dat, which is just a password-protected zip file containing a tarball and some other stuff. The passwords are available at the aforementioned wiki. The wiki also has some nice instructions on taking an existing firmware image, adding a sudoers file and an ssh server, and repackaging it.
Feeling stupid, I decided to give it a try. I figured that even if I bricked the Terastation, which I very much doubted I would do (given that I was just installing another server and a sudoers file), I would at least still have my drives, so no data loss. I packaged up the new image, compared the old and new tarballs a few times, and then put it back into the firmware zip file. I went over to my Windows machine and ran the updater. It found my terastation and, after a few moments, I clicked the button.
They really need a little thing underneath the rarely updating progress bar saying, “Don’t panic, everything’s okay, we’re just really slow. Get some coffee, it’s alright.”
I ran back and forth between my work room and the living room and watched as the Terastation rebooted itself a few times (as was documented in the README). Finally it stopped doing that. I stared at it, daring it to blink. It didn’t blink, but it didn’t have the Red LED of Doom, either. I went back to the Windows machine and it happily indicated that the firmware update was successful!
I ran back into the work room and pinged the Terastation. It ponged! I mounted the shares… I could access my files! The worry was over, but the shaking continued for a few minutes still. One last test… I tried to ssh in.
Huzzah! Life is good.
And now that I have a little hackable Terastation to play with, I think I’ll play with the NFS packages available for this. More to follow, maybe.
Oh, and if anybody has a Terastation and wants a known working hacked 1.08 firmware file, let me know. If it doesn’t work, though, I claim no responsibility whatsoever.