I have been in the market for a faster server for a while. I do a lot of testing, which means building and rebuilding programs and that is pretty demanding. My dual PIII 600s are adequate but not quick. So, I recently procured a 2U from FreeBSD Systems for evaluation. I am writing up a detailed review as a tool to help others make informed decisions about hardware for use for use with FreeBSD.
I have broken the review into sections so that you may jump to the areas that interest you. The rating scale is from 1 to 10. One means that it sucks, 5 is average, 7 is good, 9 is ideal, and 10 (a rare award) means they really went above and beyond expectations.
While it may not seem important, let me explain why it is. I'm in the habit of opening the lid of every server as soon as I pull it out of the box. There are many reasons for this, but I'll give you the biggest one. One particular brand of servers that I've used a lot of would arrive and at least 50% of the servers would need the RAID cards reseated in the PCI slots before they would work. This was due to several issues, including packaging but it's very annoying. Rather than having the provisioning team take them from receiving to the data center, I'd have them all delivered to my office where I'd personally inspect each server.
So, when I get a server that shows up with adequate packaging, I do appreciate it. When I opened the box from FreeBSD Systems, I was quite pleased. Everything was nice and orderly, with custom styrofoam inserts just like you'd expect from the much bigger server vendors.
RACKMOUNT HARDWARE: 9
Maybe you'd have to work in a data center to appreciate this, but we used to keep an old office chair with pneumatic height adjustment that we removed the back from in our data center. Some of the crappy hardware we had to use (don't worry Micron, I won't name names) had the worlds worst rackmount hardware and often required two or three guys to get a server mounted in the rack. If you were shorthanded, you could use the chair to hold your server up while you monkeyed with getting the rails set up. Not a very pleasant experience.
Even in my home, my wife is no stranger to being beckoned down to the basement to assist me when installing a server in my (four post) rack. Racking up my FreeBSD Systems iNET 2325 was a pleasant surprise. Having never used their hardware, I read the little rackmount instructions, and in under 5 minutes, I had the server mounted in my rack with no assistance. I could do it again in 1 minute. My one observation here is that if you plan to have a rack full of these (stacked tight), make sure to get the rackmount rails. You won't be able to get the lid off the case without fully extending the server chassis out of the rack.
It's easy to overlook the importance of built in ports. An easy example is motherboards that ship with integrated SCSI yet with no external interface for accessing it. Duh! You end up cutting a hole in the chassis or running a cable out a PCI slot. Yucky. I was pleased to find two 10/100/Gigabit Ethernet ports on the motherboard. In addition, on the back you have (2) USB ports, video, serial, SCSI, PS/2 (keybard/mouse), console (RJ-45), and dual power supply bays. On the front you have a USB and video port. My only dislike is the PS/2 port is a single and it requires the use of an (included) dongle to plug in a mouse. However, since you can plug in the keyboard directly without the adapter, and I don't often need a mouse, it's a very small issue that doesn't bother me.
FRONT PANEL VIDEO + USB: 10
What a great feature. No more wheeling the KVM card to the back of the rack, and then having to run around the row of cabinets/racks to the front of the servers to: insert a CD in the drive tray, press the power button, watch the LEDs, etc. Just bring the KVM cart to the front of the server.
(2) Hot-swap power supplies, (6) hot swap SCSI drive bays, dual channel SCSI controller, 6 PCI slots, dual Gigabit Ethernet, dual CPUs, (6) DIMM slots, (3) USB. You could have a lot of hardware fail and still keep your server online. That's an excellent feature!
INSIDE THE BOX: 10
Getting into this baby is a treat. No tools required, just push the lid lock button with one finger and with the palm of your other hand, push back on the non-slip pad embedded in the lid. It slides back and voila, you're inside. You can install a PCI card or RAM without the use of tools. Nice.
I'm sure nearly any reader of this article will understand the term "explosion in a spagetti factory". It describes the horrible feeling you get when you crack the case of a computer and it's a maze of wires and cables that make it very difficult to work inside. This server is the antithesis of that. It's clean and very well organized. The SCSI cable is the round type rather than the fat ribbons. There are only a few cables. The SCSI backplane for the hot-swap drives also serves as a control board and carries the circiuts for the integrated floppy/CD drive as well. Wahoo! No ATA ribbons. A single ribbon carries signals from the motherboard up to the LED panel on the front of the server (instead of a collection of jumper cables). It's so pretty and clean. :)
PCI SLOTS: 10
These deserve special mention. If you've ever given blood, or spent more than a half hour figuring out how XYZ server company expects you to get a PCI card installed, you will love this server. Pop off the lid, and right there, big and obvious are two blue pull handles on the PCI riser card. Just pull on them and the whole riser card assembly is in your hand! No using special screwdrivers, no magic levers to find, no trying to match the card into the slot at awkward angles. Just pull out the riser, insert your card(s), and stick it back in. Sometimes the best solutions are the simplest! Intel did an outstanding job of designing this server board and it really shows.
If you poke around my site, you'll find that I'm a big fan of PXE and other similar management tools. PXE is a something that I expect on any server hardware and I wasn't disappointed. What was really neat is that now you can enable/disable the NIC BIOS features within the servers BIOS. It makes sense, since the NICs are embedded on the motherboard but I haven't seen this done on any other motherboard. The server board supports all sorts of nifty Intel Server Management options but sadly, there is no FreeBSD support for those options. I'd be quite pleased just to be able to get motherboard monitoring working (CPU voltage, fan speed, temperature).
Performance is very subjective. So, rather than just tell you how fast it is, I decided to do a comparison to my Intel Dual PIII 650 w/1GB. Since that's a fairly common hardware configuration, most people will find the results helpful:
Intel ISP 2150
Complete Mail::Toaster install
RedHat 9 Server Install (SQL,X,KDE)
Lots, lots more!
As you can see, the operations there are significantly faster, as you'd expect. The buildworld times are about 5 times faster (650MHz -vs- 3GHz) which closely corresponds to the increase in CPU performance. The CreateJail command is almost entirely disk I/O. The roughly 4 times performance difference very closely resembles the disk throughput differences you'd expect to see between a 5 year old HP 80MB/s SCSI disk and a shiny new Seagate 320MB/s SCSI disk.
OVERALL IMPRESSIONS: 9.5
Every aspect of this server has left me very pleased. It's like opening the lid of an Xserve. You realize that whomever designed this server has spent a significant amount of time in a data center, or talking to people who work in data centers. It's hard to quantify into a checklist, but all the little details are all addressed. For example, the lid is easy to remove. It's got a push button lock that you depress and then push back on a non-slip pad to remove it. It works extremely well and requires no tools. Having a front panel video (console) and USB port is VERY nice. Dual GB NICs on the motherboard spares a PCI slot for other additions. A plastic air shield funnels air past the CPU heat syncs. A greater quantity of smaller fans is used for redundancy. The differences really are in the details.
I got the iNET 2325 in the following configuration:
CPU: Dual 3GHz Intel Xeon
RAM: 1GB (2x512MB)
Power Supply: Single 500W
Disks: (1) Seagate Cheetah 36GB
I didn't bother with additional drives or RAID as I use this as a development box. If the drive fails, I insert another, install FreeBSD, and I'm back in business. I can afford for it to be down for a couple days.
If you are using this as a production mail server and can fit your desired disk capacity onto a single disk, get three of those disks and the best Adaptec RAID controller you can afford. Of those offered, I've used the MegaRAID's and Adaptec (formerly DPT) cards and I favor the Adaptec cards. These sentiments were also echoed by others I've discussed this with, including FreeBSD Systems. Use RAID 1 on the first two disks can create your partitions on there. Duplicate the contents of the RAID volume to the third disk on a weekly/monthly schedule. I do that on my production mail systems. You'll be amazed at how useful that third drive is, even if you have tape backups.
If you can't fit your target disk capacity onto a single disk, use RAID 5 and as many disks as necessary to get there. I also use 0+1 (aka RAID 10) when I/O performance is critical.
[root@jails] /usr/local/etc # dmesg
Copyright (c) 1992-2004 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 5.2-CURRENT #0: Fri Mar 12 15:35:16 EST 2004
Preloaded elf kernel "/boot/kernel/kernel" at 0xc0950000.
Preloaded elf module "/boot/kernel/acpi.ko" at 0xc095026c.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(TM) CPU 3.06GHz (3056.82-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf29 Stepping = 9
Hyperthreading: 2 logical CPUs
real memory = 1073676288 (1023 MB)
avail memory = 1041133568 (992 MB)
ACPI APIC Table:
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
cpu2 (AP): APIC ID: 6
cpu3 (AP): APIC ID: 7
ioapic0 irqs 0-23 on motherboard
ioapic1 irqs 24-47 on motherboard
ioapic2 irqs 48-71 on motherboard
lapic0: Forcing LINT1 to edge trigger
Pentium Pro MTRR support enabled