For Small Business Servers and home servers, one thing becomes apparent, the need to use raid with large data sets. Raid 1 and software mirroring technologies like Windows Drive Extender are too cost ineffective for large storage arrays. For example, if one has 1 TB of storage need and uses one of these mirroring redundancy option, they need 1TB extra storage for a complete backup. Likewise, if an administrator uses four 1TB drives for data storage, then another four 1TB drives would be needed for redundancy. Raid 5 offers a user with both more performance than Raid 1 and lower “lost” capacity due to redundancy storage. Instead of effective storage capacity of n/2 for Raid 1, Raid 5 allows for n-1 of storage capacity.
There are many ways to do Raid 5, but generally the best practice way is to use a dedicated Raid controller. This is for several reasons. One, the onboard cache of most controllers (and the battery back up that protects that data) is essential for providing exceptional performance. Second, by utilizing a dedicated raid controller, the CPU does not need to do XOR calculations which can lower the server’s performance.
Why the Dell Perc 5/i
Raid controllers normally cost several hundred dollars for 8 port versions. Battery backups can easily cost upwards of $100 also. Perc 5/i’s have been around for years, and Dell is currently using the Perc 6 generation in newer servers. Dell servers often have pre-installed Perc 5/i’s that are summarily uninstalled and fitted with new controllers. The controllers are not bad, they just support a maximum of eight drives (without using expanders) are fairly tall for smaller servers, and do not support some advanced features, notably Raid 6. Fortunate for the DIY’er, the Perc 5/i’s are often re-sold on ebay at very attractive prices. For example, I purchased two for $120 including battery backup units (BBU’s) and cables. My Adaptec Raid controller battery backup units cost $120 each for reference.
- Processor: Intel IOP333 @ 500MHz
- Raid Levels Supported: 0, 1, 5, 10, 50
- Form Factor: Full Height PCIe x8
- Connectors: Two Male SFF-8484 connectors that support 8 SAS or SATA drives without expanders
- Memory: 128MB, 256MB, or 512MB of 400MHz (PC2 3200) ECC-registered DDR2 DRAM (I have used the 512MB Kingston KVR400D2S8R3/512 DIMMs in these without problem)
- Drives Supported: SAS and SATA
The major issue that plagues these cards is known as the System Management Bus (SMBus for short) bug. This problem usually surfaces with Intel chipsets and both AMD and NVIDIA chipsets seem to work with the cards. See here for the fix.
Another “issue” is the fact that this card uses the Intel IOP333 processor. This is not an issue as much as it is a design feature. As was previously mentioned, these are not the newest cards on the block. The IOP333 processor seems to be bottlenecked around 300MB/s write and 500-700MB/s read whenever Raid 5 is used. Newer generations of Raid cards use faster, and sometimes multi-core processors to perform the XOR/ parity calculations, and thus are not limited to the same speeds.
Finally, the IOP333 requires that it has decent airflow as it gets hot under normal operation. Numerous guides are available for attaching heatsinks and fans to the IOP333 processor. Personally, I use VGA/ Chipset heatsinks with thermal tape (not paste) to affix the heatsinks to the cards. This is not akin to cooling an overclocked 115w (or higher) CPU or massive GPU and the IOP333 does not require anything fancy. Just make sure there is a heatsink and airflow over the heatsink (can be accomplished by using a case fan) and the IOP333 should stay cool.
Fixing the SMBus issue to use the Perc 5/i on Intel Chipsets
The SMBus issue can be resolved by manually interfering with the SMBus signal. B5 and B6 need to be covered by electrical tape, non-conductive sealant, or non-metallic nail polish. Reference the picture below for a Perc 5/i using the electrical tape method.
If, after making these modifications, the server or PC in question does not boot, a very likely issue is that the manual disabling of the B5 and B6 pins had collateral damage. Make sure to not interfere with the PCIe slot when doing this upgrade. A bad result may be not waiting long enough for the sealant to dry and damage occurring to the PCIe slot when installing.
A nice feature about these cards is that drivers are supported by Dell, meaning that one can easily find Windows XP, Vista 32 and Vista 64 drivers. The card also works with Windows 7, and Windows Server 2003, Windows Server 2008, and Windows Home Server.
The Perc 5/i can also be flashed with LSI firmware as it is very similar, but not identical to the LSI MegaRAID SAS 8480E. See Overclock.net’s forum for more information on how to accomplish this.
Please see this link for some benchmarks using eight 1.5TB Seagate 7200.11 drives. Note that this is a $120 card, with battery back up, and 512MB of cache running a 12TB storage array in Raid 5. Also important is that it can both read and write from that large array at over 300MB/s, meaning that two aggregated gigabit network connections can be saturated by the array. For simple file serving, backup usage, and media streaming, this means that the array can saturate two onboard network cards and still not be the bottleneck in reads and writes to and from the server.
The Perc 5/i is an outstanding value. It is a tested part that is both inexpensive and effective. In fact, it is cheaper than purchasing one or more add on cards to support 8 SATA port, yet unlike those controllers, it is a tested server part, with cache, and the ability to do Raid 5.