Last month we looked at stor- age-area networks (SANs). This month we will talk about network-attached storage (NAS). This type of storage allows users to share files on a common server even if they are using workstations with different operating systems. Figure 1 shows a typical NAS configuration. In the past, it was hard to find a storage server that spoke several different protocols. Solutions were available, but they were expensive and took in-depth knowledge to install and maintain. The good news is that now these boxes are almost commodity products, and are available at amazingly low prices.
Figure 1. NAS storage makes the same files available across multiple platforms.
Parlez-vous protocol X?
If NAS device is to interface with a number of different kinds of workstations, it must emulate different protocols and network file systems. Examples of protocols include TCP/IP, NetBEUI, IPX and AppleTalk.
TCP/IP stands for Transaction Control Protocol/Internet Protocol. TCP/IP has become the de facto standard for network communications in most facilities. A wide variety of devices speak it, and it is used over the Internet. NetBEUI is a protocol used by Windows systems, frequently in peer-to-peer networking environments where routing and direct connection to the Internet is not required. IPX stands for Internetwork Packet eXchange, and was first widely deployed with Netware networks. AppleTalk is a networking protocol frequently used with Apple and MAC computing platforms.
Network file systems
Most of us are accustomed to seeing folders that represent directories on a storage system. Behind the scenes, a file system tells the computer how directories are organized and where files are located. Network file systems extend the file system across a network to a remote device. For a workstation to be able to read and write files on a remote system, the workstation and the server must have a common understanding about how directories and files are organized. Protocols provide a conventional set of rules for this organization. Some common network file systems include NFS, CIFS and AFP.
NFS, or Network File System, has been used on UNIX platforms for many years. NFS allows you to attach the shared portions of a disk at an NFS server to your local disk (see Figure 2). You can change to these directories just as you would a local directory. NFS is a client/server system. The server grants access to its local file system by answering queries and executing commands from the client.
Figure 2. NFS extends a file system across a network.
The client makes the remote server look as if it is attached to the local file system. NFS uses remote-procedure calls (RPCs), and every RPC has a parameter that can be used to authenticate the sender. The server administrator can add an additional layer of security to the system by requiring the use of a particular authentication system such as Kerberos.
The server administrator can decide to share a particular directory on his server by editing a file, typically /etc/exports. This file specifies which directories the administrator wants to make publicly available and what restrictions he wants to apply. The server administrator might make the following entry: /home/ftp/pubmyserver (rw,all_squash). In this case, the administrator has decided to share his /home/ftp/pub directory on a server named myserver. He allows both read and write in that directory and all users are mapped to the anonymous user.
At the client end, you could use the mount command to continually mount this share scheme. But you would have to manually re-attach to the drive after every reboot. To configure your system to reconnect to the remote volume every time you reboot the computer, edit the /etc/fstab file. A typical entry might look like this: myserver:/home/ftp/pub /home/mypub nfs rsize-8192, wsize=8192. During boot, the local machine will attempt to connect to the server named myserver. It will then map the remote directory /home/ftp/pub to the local directory /home/mypub. This will be an NFS drive, and the rsize and wsize parameters listed here perform well.
Common Internet File System (CIFS) is based on SMB, the protocol used by Windows to share files and printers. CIFS specifies access to shared files and directories using the convention file://myserver.com/home/ftp/pub. A server that is parsing this request would understand that the client is asking for access to the directory /home/ftp/pub on the server myserver.com. A server administrator on a Windows server shares a selected directory by highlighting the directory using Windows Explorer and then choosing File/Sharing. This opens a dialog box that allows the server administrator to share the drive, establish a name for the share, set access parameters and so on. The administrator uses the User Administration utilities to select who he allows to have access to the share.
The Snap Appliance 14000 can be configured with 2TB of storage and dual Gigabit Ethernet connections.
Make it simple
Companies such as Snap Appliance (www.snapappliance.com), and Network Appliance (www.network appliance.com) are working on simplifying NAS for the network administrator. Snap Appliance makes everything from a small 80Gb desktop model to a 2Tb server with dual Gigabit Ethernet cards and RAID5 hot-swappable disks. The products support a number of protocols and network file systems to simplify the process of configuring a conventional server for NAS operation. While you can build an NAS server for next to nothing (see sidebar), it will take you some time, and the process is likely to give you a few white hairs. For an NAS solution to be competitive, it must be simple, it must have performance that meets or exceeds your requirements, and it must be easy to administer.
If you want your NAS solution to perform well, you must put some thought into how you design your network. If you aggregate all of your network traffic on one segment, you are likely to be disappointed with the performance of any NAS solution. If, on the other hand, you design your network so that the traffic that is accessing the NAS is switched separately from applications that may be banging away at a network database, you will likely achieve the performance you imagined.
Brad Gilmer is president of Gilmer & Associates, executive director of the AAF Association and executive director of the Video Services Forum.
Building your own NAS box
If you have an old computer lying around, you can build an NAS server practically for free using functionality that is built into many open-source UNIX operating systems. If you want to learn more about UNIX, building an NAS server is an excellent way to get gain exposure to a wide variety of administrative tasks.
We do not have enough room here to give the details of setting up a UNIX NAS server, but at least we can get you started. The author prefers FreeBSD, but this information applies equally well to Linux and other UNIX variants. First, you will need to install and configure the operating system. One of the things the author likes about FreeBSD is that you download two floppies from the Web (www.freebsd.org).
You boot from the floppies and then the installation program downloads the current distribution files from the Internet so you have the latest (most stable) software available. FreeBSD speaks NFS natively. So, to get NAS functionality with another UNIX box (and MAC OSX), all you need to do is follow the instructions for configuring NFS. A good place to start is nfs.sourceforge.net/nfs-howto/. If you want to enable NAS for Windows, your next task is to configure SAMBA (www.samba.org).
FreeBSD is distributed with SAMBA. SAMBA allows UNIX systems to share disk storage with Windows computers. While it is not difficult to set up SAMBA, you really need to read the manual, especially the installation instructions. Also, if you are running a SAMBA server on a gateway, you probably do not want to share your drives with the entire Internet. To avoid this, read about the interfaces-configuration parameter in your smb.conf file – it limits the visibility of the SAMBA server to your local network. Once you configure SAMBA properly, you can see your new server from a Windows machine using the Network Neighborhood icon on your desktop. To use your NFS server with Apple computers, you must enable Apple File Protocol (AFP) on your NAS box. Check into the how-to at www.anders.com/projects/netatalk/.