* Fun With File Servers

NAS appliances can be a less expensive alternative to setting up a separate computer as a file server.

By Erik J. Heels

First published 11/1/2003; Law Practice Management magazine, “nothing.but.net” column; American Bar Association

In the 1970 Dustin Hoffman movie “Little Big Man,” the character Old Lodge Skins goes up a mountain to perform an ancient Cheyenne ritual, which fails. Without missing a beat, Old Lodge Skins turns to Hoffman’s character and says, “Sometimes the magic works, sometimes it doesn’t.” Which is exactly how I feel about computer networks. Sometimes they work, sometimes they don’t. And you’d better have a plan for what to do when they don’t.

The Need To Network

My firm recently expanded from one to two full-time attorneys. Which means that my computing requirements changed quite dramatically. Previously, I kept all of my files on my computer, and I backed those up on a daily basis to an online backup provider. Suddenly I needed to share many of my files with Josh, and I needed to establish a new backup procedure that protected the firm’s data. While I am quite pleased with my online backup provider, that off-site data is useless if my Internet connection or my backup provider goes offline. What I really needed was a belt-and-suspenders approach that provided both on-site and off-site backup. And what that would allow me to access my data whether or not my Internet connection was available. In short, I needed to set up file sharing on my local area network.

I had previously set up a simple network to allow both computers to share printers and the same Internet connection. Both computers are running the WindowsXP operating system and are configured nearly identically. The major difference is that one is a Dell laptop and the other is a generic desktop PC that I purchased from a local computer shop. The laptop has a 60 GB hard disk, the desktop has a 40 GB hard disk. I prefer simple solutions to problems, so I decided to try WindowsXP “simple file sharing” first.

Simple File Sharing – A Simple Solution

To enable simple file sharing, I opened the Control Panel, selected Folder Options, selected the View tab, and checked the “Use simple file sharing” box. This allowed me to share folders on my computer by right-clicking on a folder, selecting the Sharing tab, and selecting the “Share this folder on the network” box. I also selected “Allow network users to change my files” since both of us need to work on client and other files. Now the shared folder appears as a network volume under My Network Places. For example, on the computer named BurntOrange (all of my computers are named for Crayola crayons), I have a shared folder called “erik.shared”. In My Network Place, the shared folder appears as the volume “erik.shared on burntorange.” BurntOrange is my laptop, and when I take that home and connect to my home network, I can also access the shared folder from my iMac, which is running the OS X operating system. Simple file sharing. Perfect. Sometimes the magic works.

My simple networking system had two main advantages. I didn’t have to purchase any new equipment, and I could continue to use my online backup provider to backup all of my data, including my shared data. But the disadvantages rapidly became apparent.

  1. First, portability. If I wanted to take my laptop home (which was now the “file server”), Josh would not be able to access the files on the server.
  2. Second, backup. with two of us producing data, I quickly exceeded the 4 GB limit of my online backup provider, which meant that I either had to upgrade my online backup account or select which of my data I DIDN’T want to backup. The shared folder included about 5,500 files and took up 2.5 GB of disk space, but total amount of data that I wanted to back up included about 34,000 files and took up 7.5 GB.
  3. Third, stability. whenever my computer crashed (about twice per week) or needed to be rebooted (about twice per day), Josh would lose access to the shared files.
  4. Fourth, performance. Performance of the laptop was sluggish when both of us were accessing files.

The VNC Work-Around

To solve the portability problem, Josh and I switched computers. The desktop became the “file server” (i.e. the computer with the shared folders) and the laptop became a client. But this introduced a new problem (if it can be considered a problem), which was that I had no work computer at home. To solve this problem, I installed a VNC server, RealVNC (http://www.realvnc.com/) on the desktop computer at work and a VNC client, VNCViewer (http://homepage.mac.com/kedoin/VNC/VNCViewer/), on my iMac at home. VNC (which stands for Virtual Network Computing) is remote-control software like Timbuktu or PCAnywhere. Unlike those programs, RealVNC runs on multiple operating systems (including Windows, Macintosh, and Linux) and it’s free. With VNC, one computer can control another over a network. In order to get this to work, I had to do a little extra work. VNC traffic operates on port 5900, so I had to enable port 5900 on both my home firewall and my work firewall. I have multiple computers on both networks, but I only wanted to use one computer as a server and another as a client, so I had to be able to direct VNC traffic to these specific computers. Although my router can act as a DHCP server and dynamically assign IP addresses to the computers on my network, I chose to assign static IP addresses to my home and work computers so that I could always know which computer had which IP address. Then I used the port-forwarding feature of both routers to forward VNC traffic to the IP address of the VNC server at work and to the IP address of the VNC client at home. So getting VNC to work was a four step process: 1) Install the VNC server; 2) Install the VNC client; 3) Allow VNC traffic to pass through the firewalls; and 4) Configure each router to send VNC traffic to the correct IP addresses on each network.

And VNC works great. Now, I can login to my WindowsXP desktop computer on my work network from my iMac on my home network.

Solving The Backup Problem

This new setup solved some, but not all of the problems. The portability problem was solve, as Josh was free to take the laptop home, and I could use VNC from home. The stability problem still existed, as the desktop computer periodically crashed and frequently needed to be restarted (e.g. after installing new software or virus definitions). The performance problem was less of a concern, as the desktop was speedier than the laptop, but performance issues were still apparent when both of us were accessing shared files. The backup problem was critical and needed immediate attention.

I have been happily using Connected.com (http://www.connected.com/) as my online backup provider for years. But their plans are becoming needlessly complex (e.g. 4 GB for $17.95/mo excluding audio and video files) and expensive for larger amounts of data. I have only been backing up my data directory, but I should really be concerned with all of my data, including the operating system, application, and data files. Plus I wanted to have the backup available on my local network.

It turns out that what I was looking for was Network-Attached Storage (NAS). A NAS device is basically a special purpose appliance with a hard disk and a network connection. NAS appliances can be a less expensive alternative to setting up a separate computer as a file server. I paid about $3000 for my laptop and for my iMac (including software), so I wanted to pay significantly less than $3000 for my file server. I use multiple operating systems, so I wanted my file server to work – out of the box – with all of them.

One solution is the Iomega NAS A205m (http://www.iomega.com/), which provides 160 GB of storage in a rack-mounted unit for about $999. A second option is the Martian NetDrive (http://www.martian.com/), which is a $479 120GB wired/wireless disk server based on Linux. A third option is the Snap Server product line by Snap Appliance (http://www.snapappliance.com/). I chose the Snap Server because I didn’t have the need (or space) for rack-mounted storage and wanted something even smaller than the Martian NetDrive. You can purchase the 80 GB Snap Server 1100 for about $499 from PCConnection (http://www.pcconnection.com/) and the 240 GB Snap Server 2200 for about $1599. If you shop around, you can save even more. I purchased a 240 GB Snap Server 2000 for only $1299 (just over $5 per GB of storage). The Snap Server just works. Out of the box, it acts as a NFS (UNIX), Windows, and AppleShare (Macintosh) file server. It can also be an FTP and a web server, supports SNMP for centralized management, and can be administered via a web-based interface. With the included PowerQuest DataKeeper software, each of our computers can be configured to automatically back up to the Snap Server in real time. So now I have a full backup of both computers on my local network and a partial backup offline. Sometimes the magic works.

The Blue Screen Of Death

The only remaining problems were the stability and performance of the shared folders on my desktop computer. I could actually live just fine with reduced stability and reduced performance, but what I can’t live with is total system failure, otherwise know as the Blue Screen Of Death (BSOD) on Windows. On many occasions, and for no apparent reason, when Josh was trying to create a new folder in a shared folder, my computer (the desktop) would instantly reboot. On other occasions, I got the BSOD accompanied by a physical dump of memory. There is nothing more joyous than having your computer suddenly reboot with multiple programs running and multiple files open.

I gave Microsoft the benefit of the doubt and assumed that this was a bug with WindowsXP. Josh and I both searched the Microsoft support website and elsewhere for clues but found none. So I decided to run Windows Update (http://www.windowsupdate.com/) for both computers and install all of the critical updates for WindowsXP. It turns out that Windows Update must be run from Internet Explorer (IE), which I had removed. Attempts to re-install IE failed, and we ended up reinstalling WindowsXP on both machines in order to get IE (and Windows Update) working. Once that was done, we found 38 critical updates (hmm) that needed installing, so we installed them all. This project took about six hours, and after all of that, the problem was NOT fixed. Creating a new folder in a shared folder still crashed the desktop computer. Sometimes the magic doesn’t work.

Not Just A Backup Server

Until my BSOD issues, I had been using the Snap Server only as a backup server. To solve the stability and performance issues, I started using the Snap Server as a file server as well. I created a new network share on the server (AKA a Microsoft share, Novell volume, Apple shared folder, or UNIX exported file system) and moved all of the (formerly) shared folders to the Snap Server. But my Connected.com backup account does not allow me to backup from a network drive, so I use the WindowsXP suitcase feature (an admittedly kludgey solution) to keep a copy of the shared data on my desktop computer, which allows the shared data to be backed up to my Connected.com account.

Now that all of my data lives primarily on the server, and that all of it is in standard cross-platform file formats, I realized that I no longer have to use Windows on my client computer. I have freed my data and am now free to use Linux (http://www.ubergeek.tv/switchlinux/) or Macintosh OS X (http://www.ubergeek.tv/switchback/) on my client computer. I had to drive home before I finished this article, and I am writing this last paragraph from home, at my iMac, connected to my desktop computer via VNC. Sometimes the magic REALLY works!