Recommendations for hardware RAID controllers [closed]
Solution 1:
As a sysadmin I have many raid setups using 3ware, LSI and adaptec and they've been fast and reliable. I have had many drive failures and only 1 problem with a controller card ever. If you stick to the flagship models of these proven brands then you can't go wrong.
I think most of the myth is from people trying to use onboard raid which is provided on their motherboards although this is not a true hardware solution.
One of the main advantages of proper hardware raid is that the cache memory has a battery backup. If you run software RAID on a machine without a UPS you are very susceptible to corruption with power outages.
Solution 2:
I know and trust HP's mid-to-top-end controllers but that's when used in HP servers with HP disks, if I had to build from off-the-shelf parts I'd have no hesitation using Adaptec controllers.
Solution 3:
Software RAID is poo on Windows but works well on Linux. For a linux machine, software RAID is a viable option (although it's not something I'd recommend on Windows).
Pros and Cons of SW RAID
Pros of SW RAID:
Cheaper, although a SATA RAID controller might not be much more expensive than a good 8 port SATA card.
Portable across different models of host adaptor.
Cons of SW RAID:
No BBWC - A cache battery on a HW RAID controller mitigates some risks associated with loss of power.
SW RAID volumes (at least the last time I looked) don't support direct mapped I/O. If you're using software that supports this you might get some benefit from a H/W RAID controller with a device driver that supports Direct mapped I/O. This may or may not be an issue.
Hardware RAID in more depth
If you want to do hardware RAID, you're far better getting an older model controller by a better manufacturer (Adaptec, LSI, 3Ware, ICP-Vortex or Intel) than a cheap one. 3Ware, in particular have been making SATA RAId controllers for quite a while and are pretty well established in that space. Typically you can purchase this sort of kit off ebay for a few hundred dollars.
Check the manufacturer's web sites (support, driver downloads will have items for older controllers) and find one with the appropriate specification and bus interface (i.e. don't buy a PCI-X 133 controller for a motherboard with a PCIe x4 slot). Then, go hunting for that model on ebay. Stick to very mainstream types, and you are very unlikely to have issues with getting a replacement controller. Get a battery backup unit for it as well - again, these are often quite cheap on ebay, especially for Adaptec or LSI models.
Note also, that most desktop motherboards don't have PCIe x4 slots, so you will want a machine with a motherboard that does. Asus and various other outfits do make single socket 'workstation' motherboards that have wider slots. Supermicro and Tyan also make a range of two socket motherboards if you need lots of CPU speed or RAM.
One point to note is that RAID metadata formats tend to be fairly consistent within a single manufacturer. Find a range where future versions of the controller will mount arrays from older ones. Most of the major brands of controllers will do this.
I've been using workstations with H/W RAID for database development work for a few years now, and with BBUs on the controllers I have never lost any data. Most of my systems have Adaptec ASR-2200S controllers on them. These seem to be fairly good controllers and the BIOS and disk management facilities are pretty good. If you're doing database work, format the volumes you're putting the database on with a large stripe size, the largest that will fit on a single track of your disks. On a modern-ish SATA drive this will probably be 256K or 512K. Make sure your disk volume allocation units are aligned with the physical stripes on the disk, although this is mostly a NTFS/SQL Server issue - YMMV.
Note that the ASR-2200S is a U320 SCSI controller so you won't be able to use that particular model, but Adaptec make SATA RAID controllers as well, and they all share pretty much the same firmware.
The ASR-2200S will occasionally spuriously take a disk off line if it reports SMART errors. Often you can bring the machine down and remount the disk (unless it really has gone on the fritz) and it will rebuild the array in the background. If you have hot-swappable disks, get a spare disk and tray and just swap the disks out if the controller does this.