Overview: What is a NAS?
One of the things I’m planning to do, from time to time, is write about practical issues related to creating a functional computing environment for scientific research. Today’s topic: Network-Attached Storage (NAS). A NAS is basically file storage on your network that is always to other computers on your network. In contrast, you can share a file or a folder on a particular machine with other machines on your network, but the shared folder will only be available when the machine that is sharing the data is turned on, and you also have to deal with various cross-system compatibility issues, where a NAS will usually manage some of this complexity for you.
Why have a NAS?
I wanted to set up a NAS for my home office mainly to support centralized backup and to provide a mechanism for shared access to large data repositories – something that comes with the territory in astronomical data mining, image processing and analysis, etc. My day job in scientific computing for drug discovery also carries some hefty data requirements as well. Another reason someone might want to set up a NAS is to act as a media server for piping music and movies throughout their home. While the device I used for my NAS has some such capabilities, I wasn’t looking to do this, and so I don’t discuss this further. Finally, I should mention that this is not an end-to-end tutorial, but I do want to offer some suggestions that hopefully will save a few people some aggravation. A full-fledged high-performance NAS solution can cost several thousand dollars for business environments. Those intended for the general consumer run about $500-$700 once you factor in the cost of both the enclosures and the disk drives. The solution I went with is not the most high-performance solution, but it was cheap and for my needs it seems quite adequate.
The Iomega iConnect (pictured above) is basically a USB-based NAS. You hook it up to your router through an ethernet cable, and then you can plug-in external USB-based disk drives (or thumb drives!) to the device and voilà, instant NAS. That’s the theory anyway. In practice, it required a bit more experimentation. The iConnect now runs about $75 on Amazon. I should warn you that the reviews on Amazon are pretty mixed. The negative reviews seem to be due to some manufacturing or firmware problems with the early releases that have since been resolved. The more recent reviews are much more positive. For disk storage, I acquired two identical Western Digital WD Elements 2 TB USB drives ($125 on Amazon each). Sitting on my desk, they are completely silent – the quietest external drives I have ever owned. So the total cost is about $325 for a 4 TB NAS – and you may not even need this much storage. In fact, I’m not yet sure that I need this much storage! If all you want is, say, 500 GB of networked storage, you could manage that for about $150 ($75 for the iConnect / $75 for the external drive).
My home computing environment is pretty heterogeneous – and this creates some challenges. I have an old Windows PC running XP that I occasionally turn on – for which I use Norton Ghost to do periodic whole-drive image backups. My Mac Mini is where I manage email, some software development, writing, music libraries etc. I use Time Machine (which iConnect supports pretty well once it is properly configured) for hourly incremental updates. My core research and development environment is an HP Quad-core desktop running Ubuntu Linux. Here I use home-grown scripts to generate tar-based snapshots of various selected directories about once a week. I also like to synchronize my entire home file system daily using rsync so that I don’t have to go fishing through compressed tar files if I accidentally delete something.
Note: I configured the iConnect with the new name “NAS” (the default “storage”) and assigned to the two USB drives the names NAS1 and NAS2 (the default names are just plain ugly). Once the NAS is set up, actually connecting to them from your computer depends on your operating system:
Windows XP: Go to My Network Places. Under Internet locations, you should see icons for each drive. For example, mine says: “nas1 on iConnect (Nas)”. Or you can go into the file browser and enter: \\nas\nas1. You can also of course map a network drive. I have no experience with Vista or Windows 7.
Mac OS X: Open any file browser. “NAS” will appear under shared resources. Clicking on it will then display NAS1 and NAS2. Selecting each in turn mount each drive, where they will then appear as icons on your desktop.
Linux: I mount the drives on boot up by adding entries to the /etc/fstab configuration file:
Some suggestions:
1. Avoid the software that comes on a CD with the iConnect. It’s not really needed as far as I can tell, and the last time I tried, the Linux version that you can download from the support site doesn’t even start properly. Instead, you simply navigate with your web browser to the IP address of the connected device – the configuration is entirely web-based. You might have to check your router to find the IP address, or in Windows XP go to “My Network Places” and click on the icon for the NAS and it will open up your browser to the right location (see below).
2. For multiple OS environments, reformat the drives to ext2. The WD drives that I used are pre-formatted with the Windows NTFS file system. However, I’ve read reports that NTFS on the iConnect is quite slow, which I confirmed. Trying to run the Mac’s Time Machine backup program with a NAS-connected NTFS drive appears to take hopelessly long. Hoping to preserve file permissions in data copied from my Linux machine, I formatted both drives as ext2 after I learned that the preferred Linux standard, ext3 (which is a journaled file system), is not supported by the device. If you format your drives as ext3 – the iConnect won’t even detect them once they’re plugged in. (Very sad.) Unfortunately, it seems that the file permissions are not in fact preserved, but performance was better. For a heterogeneous computing environment that includes Windows, Macs, and Linux – ext2 was I think the best available choice in terms of maintaining cross-compatibility and reasonable performance for a USB-based NAS.
3. Upgrade the device firmware from the Iomega iConnect website. It’s easy as long as you follow all of their directions, and doing so seemed to resolve some early issues I was having with drives popping in and out of existence.
4. If connecting the NAS device to your router is a problem because you’ve run out of ethernet ports, you can cascade a second router.
Outstanding Problems.
Despite the cost advantages, I have to say that the iConnect is pretty flaky about some things.
1. I was unable to get Time Machine on my wife’s wireless iMac to work properly. This issue has been widely reported. Although the Time Machine configuration will find and allow you to select the NAS drive that you have configured for Time Machine support, the backup would always fail during initialization.
2. Linux file permissions are not preserved upon being copied to the device. I’d welcome solutions if there is one.
3. Lack of ext3 file system support
4. As you may have noticed in the above figure, my 2 x 2.0 = 4.0 TB solution has mysteriously turned into a 3.4 TB capacity solution – this “missing mass” is more than can be accounted for by the usual games hard drive manufacturers play when defining mega-, giga-, or tera-bytes. I’m still investigating this.
Summary
Around the year 2000, I worked briefly for a company whose IT department was primarily focused on how they were going to manage 1 TB of storage for a core project. Now, you can set something up and running with a few hundred bucks and a couple of hours to kill. What a difference 10 years makes! Overall, I have to say that the iConnect does a pretty decent job for the money. Keep in mind – it’s USB – so don’t expect lighting transfer speeds – 2-3 minutes per GB are typical. Given the data-intensive nature of science today, a NAS may help you to better manage your scientific data needs. And if you’re on a budget and willing to put up with slower transfer times and some general flakiness, the iConnect is a decent choice, especially if you already have some old USB-based external hard drives sitting around and you need cross-platform (Windows, Mac, Linux) compatibility.
