I’ve been doing cross-computer backups for the last year or so — a cron job on one box pushes an rsync-based backup to the another box, and vice versa. The process has been getting increasingly clunky, and it never did handle the non-Linux machines all that well. After Christmas, I happened to run across an article in Linux Journal about the Linksys NSLU2, which is a small USB-based NAS adapter. You plug in a network cable, some USB drives, and presto, NAS storage. That sounded like it would be a quick and easy way to rework my backup system, so New Year’s Day I ran down to the wilds of Virginia to visit the Microcenter.
Of course, the really cool thing is that the NSLU2 runs Linux, on a 130MHz ARM processor, with a 32MB flash RAM. (Hence, the Linux Journal article.) At this point, you’re thinking Linksys, Linux — hmm, and yes indeed, there is an open source firmware you can use to replace the one Linksys ships on the device. The nice thing is that it leaves the Linksys web interface intact, while adding the ability to run SSH and other servers on the actual device.
I converted the firmware over and was installing packages in less than an hour, and that’s after having to re-do the flash upgrade portion because I missed a step. Not very hard at all; probably easily do-able even for a Linux novice. Once I had everything moved around, I installed nfs-utils, adjusted a few mount points, jiggered a cron job or two, and it was off to the races.
Total price at retail, under $500 — $100 for the NSLU2, and about $170 each for the 250GB USB drives, post-rebate. I think you could push that down another $50 or even more by being aggresive about drive pricing (and buying the drive and enclosure separately and assembling them yourself). I was in a bit of a hurry with this project and a cost of about $1/gigabyte was good enough for me.
Note that using this thing for its intended purpose barely scratches the surface of what it’s capable of. Once you’ve replaced the firmware, you’ve got a $100 embedded computer (with a 9W power draw) running a Debian-based Linux with two USB2.0 ports, capable of talking to any USB device you might have laying around. I can easily see getting one or two more of these, just to play with.