Hardware RAID on Linux- IDE and SATA

From Free Knowledge Base- The DUCK Project: information for everyone
Jump to: navigation, search

Linux Hardware RAID - RAID Controller information and an IDE Hardware RAID exploratory. Focus on IDE Hardware RAID.

Linux Software RAID is inexpensive, well documented, and supported by practically all IDE controllers. You do not _need_ a hardware RAID controller to do RAID with Linux thanks to Linux Software-RAID. Please see Software RAID on Linux for information.

When doing RAID 3 or 5, for example, the parity checking can be costly on your CPU, slowing down the entire system. Moving the parity checking and other processing to a true Hardware-RAID card becomes a more attractive and safer option.

Using an actual hardware RAID controller means that you will not need to configure Linux for software RAID or any md devices. Only using Hardware-RAID is discussed in this document.

IDE RAID

Most "cheap" IDE "RAID controllers" implement RAID in the device driver. The card itself is just a regular IDE controller with a special BIOS. The CPU still does all the work, and you still have to deal with IDE bus contention problems.

DONT LET THE FANCY BIOS PROMPT FOOL YOU! The popular Promise IDE RAID controller and those with the SiI chipset are, at best, pseudo-Hardware-RAID; they are more honestly software RAID and all of the RAID processing is handled by the computer CPU, not the controller card as it should be.

There is one known IDE RAID Controller that is fully supported native in Linux. The 3ware Escalade 6000 series has been confirmed to work with Linux, although, the drivers are still considered "alpha".

An interesting point about them is that both Linux and the BIOS sees the card as a SCSI controller, despite it being IDE. The reason for this has to do with the way a boot device is selected in your system bios, you can make it the boot device simply by selecting SCSI first in the boot order.

Official GPL'ed 3Ware drivers have been in the stock Linux kernel since 2.2.15. 3Ware uses a on-blocking I/O ASIC + SRAM approach and their cards are affordable.

It is also believed that Adaptec has a true Hardware-RAID controller that is known to work with Linux.

There are many cards listed as Linux IDE RAID Controllers. They all appear to implement RAID in the device driver and are not, in the strictest sense, true hardware RAID controllers.

MOST LINUX DOCUMENTATION IS NOT CLEAR ON THIS ISSUE. The Linux Hardware Compatibility HOWTO lists all of the following as supported RAID controllers (but doesn't meantion if the RAID processing is on the card or simply at the device driver level).

  1. Tekram D690CD IDE PCI Cache Controller
  2. ARCO Inc. DupliDisk IDE disk mirroring controller
  3. 3ware Escalade IDE RAID controllers
  4. Adaptec ATA RAID 2400A
  5. Promise SuperTRAK SX6000

We suggest using the 3ware Escalade 6000 series.

collected tidbits and notes:

If the system was truely hardware RAID, it would present a single disk to your OS, regardless of the OS.

Any RAID setup that _requires_ a software driver to work is actually software RAID, not hardware RAID.

Promise will not release their programming information so that Linux programmers can develop current drivers. They only release proprietary RAID drivers in binary form for a few kernels shipped with Red Hat, for example. There's no guarantee that they'll support it even in binary mode in the future.

Promise controllers are really just software burned to hardware anyway, not true hardware controllers with their own ability to process data (it must be loaded on to the computer's CPU before anything can be done with it).

It has been reported that the most recent cards from Promise are true hardware RAID; however, they cost almost as much as the 3ware cards we recommend here.

Promise and Adaptec have been described as "the two worst for Linux" because they are focused on retail only and do not disclose hardware specifications to the Linux community that is trying to make drivers.

From a Linux SATA RAID FAQ: The following cards are pseudo RAID.

"It is software RAID, provided by the BIOS on the card"

  • Intel ICH5/ICH5-R/ICH6/ICH6-R SATA RAID
  • VIA SATA RAID
  • Adaptec 1210SA SATA RAID
  • Promise TX2 SATA RAID

Promise SX4 SATA RAID is not true hardware RAID either, however, the SX4 has extensive "RAID accelerator" features. Linux does not support the SX4's special RAID accelerator features at this time.

Getting Your Pseudo-Hardware-RAID controller to Work:

To access the data stored by your BIOS software RAID, you need to use a Device Mapper (DM) and dmraid.

RAID Hardware Options as defined on Linux Journal:

1. Hardware: Microcontroller + DRAM + multiple-ATA/SCSI channels + BIOS RAID Controller

Select few ATA RAID controllers (DPT I2O now Adaptec AAA-2400A, Promise SuperTrak) and ALL SCSI RAID
Cost: $250-1,500

2. Hardware: ASIC + SRAM + multiple-ATA channels + BIOS RAID Non-Blocking I/O Storage Switch

3Ware Escalade products
Cost: $100-500

3. Software: Normal ATA Controller + BIOS "RAID" with OS-specific Software Driver

Most ATA "RAID" controllers (Promise FastTrak, various AMI, HighPoint and other solutions)
Cost: $25-100

4. Software: Linux Multi-device (MD)

Linux Kernel 2.0+ option (best in 2.2)
Cost: Free

5. Software: Linux Logical Volume Manager (LVM)

Linux Kernel 2.2+ (best in 2.4)
Cost: Free

Avoid:

Silicon Image SiL0680 / SiI680 for hardware RAID. This controller is only capable of doing RAID with linux Software-RAID. Note how the kernel, card bios is labeled "SiI680" and on the card SiL0680 (L rather than I). The chipset is SiI.

Final recommendation:

If you're intent on getting a hardware IDE RAID controller, get one of the 3ware or Adaptec cards. You can then do everything using the onboard BIOS, including other features such as RAID5. Otherwise, use software RAID.

Know the Difference:

  • IDE, ATA, SATA, SCSI
  • (Serial-ATA, Parallel-ATA)

Research Suggestions:

  • Linux "Logical Volume Management" instead of RAID-0

last update:

Wed Aug 18 21:51:15 CDT 2004

 

SATA RAID

Most ATA RAID host adapters (except 3Ware Escalade, Adaptec 24x0, Areca, HP/Compaq, IBM ServeRAID, Intel SRC*/ICP Vortex, LSI Logic MegaRAID 150-4/150-6, and Tekram) turn out, upon examination, to not be real hardware RAID, but rather software/BIOS-dependent fakeraid.

If your installer finds no block devices or has other problems, please realize that all Linux SATA support is still (2004-01) hit or miss. Users of 3Ware cards should have no problems.

There is a list here