Monday, March 16, 2009

Hot-Swapping in Software RAID Works in Linux, Apparently

I need to try this out when I get a software RAID going:

When will software RAID hotswap work?

Some tips from the one-sided discussion from "Robotbeat" is to make sure the kernel supports hotswapping and that the BIOS set to use AHCI for the sata drives.

Another link on the topic.

Wikipedia entry on AHCI has some useful information like what motherboards have problems with AHCI and how to get AHCI working on Linux, copy-pasted below.

Common problems switching to AHCI under Linux

  • The AHCI controller does not work on AMD/ATI RS400-200, and RS480 HBA; and Nvidia nForce 560 chipset[citation needed] when MSI is enabled due to a hardware error. In order for AHCI to work users must provide the "pci=nomsi" kernel boot parameter. With MSI disabled in this way, the PCIe bus can only act as a faster PCI bus with hotplug capabilities.
  • The AHCI controller on AMD/ATI SB600 HBA can't do 64-bit DMA transfers. 64-bit addressing is optional in AHCI 1.1 and the chip claims it can do them, but, in reality, it can't so it is disabled. After that it will be forced to do 32-bit DMA transfers. Thus DMA transfers will occur in the lower 4 GiB region of the memory, and bounce buffers must be used sometimes if there is more than 4 GiB of RAM.[9]
  • The VIA VT8251 South bridge suffers the same fate but it can be circumvented with the "pci=nomsi" option to force detection of the chip. This has been tested to work on 2.6.26, 2.6.24 and 2.6.20 kernels.
  • Under RHEL, CentOS and similar, if you change your BIOS to AHCI mode and do not have the ahci drivers in your initrd then you will not be able to boot. To solve this
    • Set you BIOS to IDE/ATA/Original setting mode
    • boot into linux
    • edit /etc/modprobe.conf and add the line alias scsi_hostadapter2 ahci
    • run mkinitrd -f /boot/initrd-`uname -r`.img `uname -r`
    • reboot in to you BIOS and set to AHCI/RAID mode
    • boot into linux
    • check your vendors manual for more details