I’ve been interested in putting in a Network Attached Storage (NAS) setup on my home network for awhile. Although I have several machines that I can run as servers, I like the idea of a simple dedicated file serving device for general storage of backups, music, movies, and other stuff. On the surface, NAS fits very well. Minimal administration, low power consumption, dedicated CPU cycles for file serving, etc. Put it in the closet and forget about it.
My first try was a Western Digital NetCenter. It was a miserable failure. Awful performance and even worse reliability. I figured it was just a sign of NAS not being ready for primetime. Then I came across an interesting device from Linksys called the NSLU2 or affectionately known as the SLUG by the dedicated community around it. This is NAS done (mostly) right.
Linksys has an interesting history in regards to GPL, Linux, and open source. It started with the WRT54G wireless 802.11 B/G router. It used a version of Linux on it. After it had been out for awhile, someone discovered what it was running and that opened the floodgates on hacking it for other purposes. Linksys resisted at first but eventually published their source (as the GPL requires) and has been a favorite of Linux users ever since. In fact, the newest version of the WRT54G is now split into two lines - a less expensive version using VxWorks and the “classic” version using Linux the WRT54GL. I recently added the WRT54GL to my network and will have more to say on it later.
The NSLU2 is straight from the WRT54G school. It too is running Linux and has seen a remarkable community build around it. At its core, the NSLU2 is a Intel XScale processor running at 133MHz with 8MB of flash memory and 32MB of SDRAM. It features a wired ethernet port and two USB 2.0 ports. The design is to allow you to hook up at least one external USB 2.0 hard drive and add a second hard drive or flash memory in the other USB slot. Clearly, it is running Samba for file serving. In fact, this device is nothing more than a simple hardware Samba device.
I attached a new 300 GB Maxtor OneTouch II USB 2.0/Firewire drive and a second Maxtor OneTouch that is 250 GB. The NSLU2 runs an embedded web server that is very similar to Linksys’s router management software. Since it is using Linux, the default is to format each drive for ext3. It can work with a FAT32 formatted disk as well. By default, it creates an ADMIN N and a DISK N folder on each drive. The admin section of the first drive actually contains files that would reside in /etc including the smb.conf and passwords files. In fact, downloading a backup of the config gives you these files which you could in theory edit directly.
User management is straightforward. You create users much like you would on any Linux machine including a password for each user and an optional private share. Groups can be created and access to any share can be per user or group. Several additional features round out the product. FTP is available including guest logins. Administrative features include schedule disk scans as well as the ability to send email log reports.
The really killer feature of the NSLU2 though is the backup job scheduler. You can schedule either a push or pull job. Pull jobs require a SMB share on your machine that you wish to backup. It can also do backups from one drive to another and backups to other SMB shares. The really fantastic part though is that it appears to be built around rsync as you can do full backups or sync. This is backup done right. Setup the job and forget about it. If your share is online, it gets backed up. If it isn’t it will be skipped.
It’s not all perfect though. The backup rsync is slow. I can easily backup my wife’s home directory on her iMac (about 4-5GB). But my home directory on my G5 (about 120GB — includes my movies and music) is another story. I think there is simply too much data to transmit over the relatively slow interface. I need to find a way to re-organize my home directory or some other way of getting my home directory seeded onto the NAS to reduce the sync time.
Performance in general is ok. It is slow compared to a real server. But not so bad that you can’t use it. Streaming is possible as long as there isn’t too much going on at the same time. I don’t know if it is the USB interface to the drives or the relatively underpowered CPU/RAM of the server but whatever it is, it is a common problem with consumer NAS.
There are a few features that are missing that would make this an incredible device. Direct SSH including SFTP would be greatly appreciated. More control over the disk layout including the shares would be nice. I don’t like being forced to always have a required DISK N public partition. Also, using ReiserFS would be a nice option as well as enough performance to do RAID.
The fun can really start if you use the open source SLUG replacement firmwares. Many of the features I mention above can be put in via the replacement firmware. I haven’t used one yet as I am happy with it out of the box. I am thinking of picking up a second NSLU2 to dedicate as a SSH gateway for getting into my network. I could put a 8MB flash or something like that and just use it as the entry point to my network. But I may mod my WRT54GL for that instead.
Linksys have a winner on their hands. It is definitely geared to the more technically inclined users although it can be used by just about anyone. One thing that I had to laugh about was how many people say that the NSLU2 uses a “proprietary disk format” because it uses EXT3 instead of FAT32. It’s still a painfully pro-Microsoft world out there. I highly recommend this device both as it is intended and as a toy for hackers to build other interesting devices.
Post a Comment