Old Faithful: The File Server
The workhorse of many small businesses, the file server is often the first type of server implemented. A file server is simply a computer on your network, usually more powerful than a PC, which acts as a central repository for files. The files can be organized in personal and shared folders. The file system security of the underlying operating system can be configured in such a way that an individual’s files are made available only to that individual, and files that need to be shared can be accessible to whichever users need them. Backing up files on a file server is easier that trying to backup files on multiple PCs because only one backup device is needed – on the file server itself.
Along with a central repository for files, the file server often doubles as the office print server. Just as a file server allows multiple users shared access to files, a print server allows multiple users to share a printer. Users direct their print requests to a queue on the print server, which sends each print job to the printer as it is able to process them.
Basic file and print server functionality is provided out of the box with each of the server operating systems. There is no clear winner here: each can provide services to Windows 3.x/95/NT, Macintosh, and other PC clients. Each operating system has several parameters that can be adjusted to achieve optimum performance.
Memory and Performance
When building a file server or file and printer server for a small business, the temptation is to purchase a system with a fast CPU, large IDE drive, and save money by skimping on RAM. After all, IDE drives are considerably cheaper than SCSI (75% or more), and *ouch* memory sure is expensive, and most small businesses don’t want to spend much money on hardware anyway, right?
For file and print servers, a fast disk subsystem and plenty of RAM (Random Access Memory) are more important than a fast CPU for good performance. Although a fast CPU is helpful, performance bottlenecks in busy file servers usually occur first at the disk subsystem.
A portion of unused RAM, referred to as the disk cache, is used to store recently accessed files. On subsequent reads, the same files are retrieved much more quickly from the disk cache than if they were read from the disk. Most server operating systems dynamically adjust the size of the disk cache depending on the amount of unused RAM. The more RAM available, the more that can be allocated to the disk cache, and more files can be quickly retrieved. When less RAM is available, the operating system reduces the size of the disk cache, and more files must be read directly from the disk. This can reduce overall performance and end-user response time considerably on a busy server.
For a new file server in today’s small business environment, I recommend at least 128 MB of RAM.
IDE, SCSI, & RAID
If you’re SURE that the environment will never grow beyond 5-10 concurrent active users, AND the workload will be light, IDE disk drives will probably be an adequate choice. However, if you anticipate more than a trivial load on your file server or more than 10 active users, I recommend the use of SCSI disk drives for all but the smallest environments. In conjunction with an Ultra-2 SCSI host adapter, Ultra-2 SCSI drives will provide a higher level of performance over Ultra DMA/66 IDE drives on busy file servers. This is due to the higher maximum transfer rate Ultra-2 SCSI provides (80 MB/sec vs. 66 MB/sec for Ultra DMA/66), and SCSI drives’ ability to allow concurrent operations on multiple devices attaching to the same cable.
Along with SCSI drives, a RAID Ultra-2 SCSI host adapter provides a greater level of redundancy, albeit at an additional cost over a non-RAID alternative. There are different levels of RAID, each of which has varying degrees of redundancy, performance, and overhead.
The most widely used RAID levels in small business servers are RAID 1 and RAID 5. RAID 1 requires at two drives and provides redundancy by mirroring the contents of one drive onto another. RAID 5 requires at least three drives, and provides additional redundancy by spreading parity information across each drive, in the group, usually called an “array”. The parity information is written such that the data on the failed drive is dynamically recreated by the parity information spread across the remaining drives. In both cases, if one drive fails there is no loss of data.
For additional information on SCSI vs. IDE, Ultra DMA/66, Ultra-2 SCSI, and RAID have a look at the following URLs:
For the next article in the series, I’ll select the hardware components for a FreeBSD-based file server. I’ll go through step-by-step instructions for installing a basic FreeBSD distribution on the server, and the necessary configuration steps to enable file sharing for Windows clients.
Be the first to discuss this article!