With our design criteria in mind, we set out to choose the best components for the SOHO server system. The following sections describe the components we chose and why we chose them.
Note
Although we tested the configuration we used to build our own SOHO server, we did not test permutations with the listed alternatives. Those alternatives are simply the components we would have chosen had our requirements been different. That said, we know of no reason the alternatives should not work perfectly.
Intel Server Chassis SC5250-E (http://www.intel.com)
Most so-called SOHO server cases are simply thinly disguised mini-tower cases with perhaps a lockable swing-out front bezel. The Intel Server Chassis SC5250-E is different. It was designed from the ground up as an entry-level server case, and includes such features as a padlock loop (so your hard drives don’t walk away) and such options as an active Ultra-320 SCSI backplane. In addition to two 5.25” and one 3.5” externally accessible drive bays, the standard SC5250-E configuration supports six hard drives, with the option to install hot-swappable bays for five SCSI or four S-ATA drives. The SC5250-E also includes an industrial-strength 450W power supply that more than suffices for our needs. The SC5250-E is our first choice for a serious SOHO server.
Intel S875WP1 (http://www.intel.com)
Although motherboards for AMD processors are much more reliable than they used to be, Intel defines the ultimate in reliability. For our SOHO server, we wanted a Pentium 4 motherboard made by Intel. Video performance is unimportant for a server, so we wanted integrated video. Embedded 100BaseT Ethernet is acceptable for our environment. Although we plan to use only 512 MB of memory initially, support for 2 GB or more of PC3200 dual-channel DDR-SDRAM is desirable for expandability. We may eventually add SCSI drives, a tape drive, and other storage devices to this system, so a full ATX motherboard with plenty of expansion slots was a plus. Finally, we wanted embedded S-ATA interfaces and plenty of USB 2.0 ports for external peripherals.
We could have used an Intel D-series desktop motherboard, but there was a better option. In addition to its familiar D-series motherboards, Intel makes various S-series server motherboards. The Intel S875WP1 is the server version of their high-end D875PBZ desktop motherboard. The S875WP1 differs from the D875PBZ in several respects, but the most important are the addition of embedded video, an optional four-drive S-ATA RAID controller, and dual server-class Ethernet controllers, including one 100BaseT and one 1000BaseT. The S875WP1 is in every respect an ideal entry-level server motherboard, so that’s what we chose.
Intel Pentium 4 (http://www.intel.com)
Processor performance is a minor consideration for a file and print server. In fact, if this server were to be used only for file and print duties, even a slow Celeron or Duron would do the job with Linux. But although this server will provide only file and print services initially, we expect it to last for years with few upgrades, and we may eventually run some applications on it. Accordingly, it made sense to choose a faster processor that would give us some horsepower in reserve.
At the time we built this server, Intel had just introduced the Prescott-core Pentium 4 processors. Older Northwood-core processors were going at fire-sale prices as vendors cleared inventory. We chose a 3 GHz Northwood for our server. Any Northwood, including the slowest 1.8 GHz model, would have been more than adequate for our current requirements, so choosing the 3 GHz model bought us lots of headroom for future needs.
We chose the retail-boxed model, which comes with a three-year warranty and a high-quality heatsink/fan unit. For an OEM Pentium 4, we would have installed a Dynatron DC1207MB-X heatsink/fan (http://www.dynatron-corp.com).
Crucial PC3200 DDR-SDRAM (http://www.crucial.com)
We could analyze the memory requirements of a Linux SOHO server all day long, but what’s the point? Memory costs little, so it makes no sense to compromise. In our 20 years of dealing with servers, we’ve never heard anyone complain that his server had too much memory.
Our small SOHO server running Linux would probably be happy with 256 MB. In fact, if we ran Linux at the command line, 128 MB would suffice. But our crystal ball is notoriously unreliable, so we really don’t know what demands we’ll put on our server next year or even next month. On that basis, we decided to install 512 MB initially.
Note
Memory stability is paramount for a server. Don’t even think about using cheap, no-name, unreliable memory on a server, nor, for that matter, using fast memory timings even with high-grade memory. Install the highest-quality memory you can buy, and run it at the default memory timing.
We could install one 512 MB DIMM—which actually costs less than two 256 MB DIMMs—but the dual-channel memory controller on the S875WP1 motherboard provides better memory performance if DIMMs are installed in pairs. We therefore decided to use two 256 MB DIMMs, which leaves two memory slots free for future expansion. If our server needs more memory in a year or two, we can do a five-minute upgrade to 1 GB of total memory simply by installing another pair of 256 MB DIMMs.
In theory, we could later upgrade to 1.5 GB by installing two 512 MB DIMMs, or to 2.5 GB by installing two 1 GB DIMMs, but we won’t do that. We’re using non-parity memory modules, for which we consider 1 GB the cutoff. If we install more than 1 GB, we use ECC memory modules. ECC memory is slower and more expensive than non-parity memory, but ECC memory detects and corrects memory errors, which non-parity memory cannot. Like most motherboards, the Intel S875WP1 can use mixed non-parity and ECC modules, but using a non-parity module disables ECC for all installed modules.
Seagate Barracuda 7200.7 SATA (http://www.seagate.com)
The disk subsystem of our SOHO server must be capacious, fast, and reliable. Capacious, because this server will store all of the data we want to keep online, including large video files. Fast, because the server will sometimes be hammered by several clients accessing large amounts of data. Reliable, because we have never lost any data—other than by our own stupidity—and we don’t intend to start now.
- Capacity
Our target for capacity was between 300 and 500 GB. The largest hard drives available when we built this system held 250 GB, so clearly we needed multiple hard drives to meet our capacity requirement. Considering only capacity, we could meet our requirement by installing two ATA hard drives, each with a capacity of 150 to 250 GB. If we needed the entire capacity of both drives to appear as one volume, we could use the operating-system disk management utilities or a RAID 0 controller to concatenate those two physical drives into one logical volume. If multiple volumes were acceptable, we could simply install the two drives normally and partition and format them as separate volumes.
- Performance
A 7,200 RPM ATA hard drive performs well with only one person accessing it, but bogs down badly when several people access it simultaneously. A 10,000 or 15,000 RPM SCSI drive performs well in a small multiuser environment, but such drives are very expensive and have small capacities. The only affordable option for a small server that requires high disk performance and large capacity is to use 7,200 RPM ATA drives in a RAID 0.
- Reliability
Using two 7,200 RPM ATA drives in a RAID 0 meets our capacity and performance requirements, but not the reliability requirement. If either drive in a RAID 0 fails, all data on both drives is lost. In effect, that means a RAID 0 is half as reliable as a single drive, which is unacceptable. Reliability requires redundancy, using either RAID 1 mirroring or RAID 5 disk striping with parity. Unfortunately, neither of those RAID levels is fast enough for our requirements.
So, SCSI costs too much, ATA RAID 0 isn’t reliable enough, and ATA RAID 1 or RAID 5 isn’t fast enough. What’s a system designer to do? Fortunately, we can meet all of our requirements by using a stacked RAID. Instead of choosing one RAID level, we’ll combine two RAID levels in one array—RAID 0 for performance and capacity, and RAID 1 for reliability. This configuration is referred to as RAID 0+1.
If you’ve been paying attention, you might object that using RAID 0+1 means we need four hard drives. True enough. But our RAID 0+1 uses inexpensive S-ATA drives. When we wrote this, four 160 GB S-ATA drives (640 GB of drive space) cost about the same as one 73 GB 15K SCSI drive, even ignoring the cost of a SCSI host adapter. For the same amount of money, then, an S-ATA RAID 0+1 provides more than four times as much disk capacity as the single SCSI drive. Read performance under typical SOHO loads is similar. The SCSI drive provides faster writes, but most of the activity on a SOHO server consists of reads, so that’s a minor issue. The RAID also provides data redundancy, which the single drive does not.
The Intel S875WP1 motherboard is available in two models. The basic model provides two S-ATA connectors, each of which supports one drive. The model we chose provides the standard two S-ATA connectors, and four additional S-ATA connectors that can be configured for RAID 0, RAID 1, or RAID 0+1. We’ll connect our four hard drives to those four S-ATA connectors, and configure them in a RAID 0+1.
We chose Seagate Barracuda 7200.7 SATA hard drives for several reasons. Although the Seagate Barracuda performs very respectably in desktop benchmarks, it is sometimes slightly slower than similar drives from Maxtor, Western Digital, and other manufacturers. But in server benchmarks, the Barracuda outperforms the other 7,200 RPM ATA drives we tested, sometimes by significant margins. Barracudas are also much quieter than competing drives, which can be an issue even for a server when several drives are running. Finally, our impression, along with those of our readers and several hard drive recovery companies we’ve spoken with, is that Seagate ATA drives are significantly more reliable than competing models.
Seagate External Hard Drive (http://www.seagate.com)
We don’t know why Seagate doesn’t use a better name for their external hard drives than Seagate External Hard Drive. Seagate uses the names of fast animals for their other products—Barracuda, Cheetah, and so on. You’d think they could have named their external hard drive the Greyhound or the Hare or the Falcon or something. Anything. Oh, well.
Despite the generic name, the Seagate External Hard Drive is an excellent product. It’s basically a Barracuda hard drive in an external enclosure with USB 2.0 and FireWire interfaces. It’s small, light, fast, cool-running, and quiet. We can’t think of another thing we’d want in an external hard drive.
Well, maybe one thing. Like all of its competitors, the Seagate External Hard Drive is designed for use with a Windows or Mac computer. It includes CMS BounceBack Express software, which provides one-button backup. The first time you press the button, the software does a full backup of your internal hard drive. Once the full backup is done, pressing the button backs up only the changes. Although one-touch backup isn’t supported for Linux, any recent Linux distribution can recognize the drive and back up data to it.
Plextor PlexWriter Premium CD writer (http://www.plextor.com)
Most SOHO servers need larger differential backup capacity than what a CD writer provides. The incremental cost of a DVD writer is relatively small and DVD writers can also write CDs, so it seldom makes sense to limit yourself to CD capacities by installing a CD writer. But if your environment is such that a CD writer is sufficient and likely to remain so, you can save $100 or so by installing a top-notch CD writer rather than a DVD writer of comparable quality. The Plextor PlexWriter Premium is the best CD writer you can buy, period.
Plextor PX-708A DVD writer (http://www.plextor.com)
For most SOHO servers, a DVD writer is the best choice for differential backups. Although its native capacity is limited to about 4.5 GB, it is far faster than a tape drive and uses much less expensive media. The Plextor PX-708A is the best, fastest, most reliable DVD writer we know of. It costs only $100 or so more than a CD writer of comparable quality, and can also do backups to inexpensive CD-R discs for those times when you don’t need the larger capacity of a writable DVD disc.
We recommend using top-quality DVD+R discs for backup. The PX-708A drive can fill a DVD+R disc in less than 10 minutes; writing to DVD+RW takes about twice as long. Although the PX-708A can also write DVD-R and DVD-RW, we don’t recommend using those for data backups. DVR+R and DVD+RW provide excellent error detection and correction, which DVD-R and DVD-RW do not.
Lite-On LTN-526S 52X CD-ROM drive
Lite-On XJ-HD166X DVD-ROM drive (http://www.liteonit.com.tw)
If you plan to do differential backups to a tape drive, the SOHO server doesn’t need an optical writer, but it does need a read-only optical drive for loading software and so on. Reliability is much less important for a read-only optical drive because you seldom use it. Adequate CD-ROM drives sell for $15 to $20, and DVD-ROM drives for twice that. We’d be inclined to choose the later, if only because DVD-ROM is becoming a common software distribution media.
Certance Travan 20 and NS20 tape drives (http://www.certance.com)
Certance (formerly Seagate) Travan 20 and NS/20 tape drives are an excellent choice for doing differential backups of a large disk array. We consider them to be the most reliable inexpensive tape drives available. Certance produces multiple variants of this drive, including ATAPI and SCSI-2 versions, both of which are available as bare drives or as TapeStor models (bundled with software). The more expensive Travan NS20 models support read-while-write and hardware compression, while the entry-level Travan 20 models do not. Otherwise, all use the same basic drive mechanism and have similar specifications. For the SOHO server, an ATAPI Travan 20 model suffices.
Because this SOHO server runs Linux, we need a keyboard, mouse, and display only for initial installation and configuration. Once the server is running, we can manage it remotely from one of our desktop systems.
Note
Yes, we know about Windows Remote Desktop, but it’s not the same. Remote Desktop provides limited remote management functions, but some management tasks must still be done from a monitor and keyboard physically connected to the server. Linux remote management tools allow us to do almost anything remotely that doesn’t require changing hardware.
Running a server without a UPS is foolish. Even a momentary power glitch can corrupt open databases, trash open documents, and crash server-based apps, wiping out the work of everyone connected to the server. A UPS literally pays for itself the first time the power fails.
We chose a 700 VA APC unit for our SOHO server. The APC Smart-UPS SU700NET is very reliable, is designed specifically for small servers, and costs less than $300. Its 700 VA rating is adequate for our SOHO server, and it has sufficient runtime to allow an orderly shutdown.
We considered using an APC Back-UPS Pro unit, but decided the Smart-UPS was worth the additional cost. Relative to the Back-UPS Pro, the Smart-UPS provides true sine-wave output, longer runtime, shorter recharge times, more extensive status displays, greater expandability, and various remote management options.
Table 4-3 summarizes our component choices for the SOHO server system. Only one of the optical drives listed is needed, and the tape drive is optional. (See the explanation earlier in this chapter.) For our own SOHO server, we installed the Plextor PX-708A DVD writer, but not a CD writer, CD/DVD-ROM drive, or tape drive.
Table 4-4. Bill of Materials for the SOHO server
Component |
Product |
---|---|
Case |
Intel Server Chassis SC5250-E |
Power supply |
Intel 450W (bundled) |
Motherboard |
Intel S875WP1 |
Processor |
Intel Pentium 4 (retail-boxed) |
CPU cooler |
(bundled with processor) |
Memory |
Crucial PC3200 DDR-SDRAM (two 256 MB DIMMs) |
Video adapter |
(embedded) |
Sound adapter |
(none) |
Hard drive |
Seagate Barracuda 7200.7 SATA (four) |
S-ATA power adapters |
Antec Serial ATA Power Adapter (four) |
External hard drive |
Seagate 160GB External Hard Drive (at least two) |
CD writer |
Plextor PlexWriter Premium |
DVD writer |
Plextor PX-708A, PX-712A, or PX-712SA |
CD/DVD-ROM drive |
Lite-On LTN-526/S 52X CD-ROM drive Lite-On XJ-HD166X DVD-ROM drive |
Tape drive |
Certance Travan 20 or Travan NS/20 |
Keyboard |
(none) |
Mouse |
(none) |
Speakers |
(none) |
Display |
(none) |
UPS |
APC Smart-UPS SU700NET |
Get Building the Perfect PC now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.