Inhaltsverzeichnis
Overview
HP Proliant servers usually contain a hardware-based RAID controller (e.g. P420i controller). The description below explains how to disable the RAID modes of this controller and use the attached disks directly (e.g. for software-based RAID).
You may want to avoid using a hardware-based RAID controller for some reason:
- you want software RAID instead (no dependency (lock-in) with regard to this specific RAID controller; you may plug your disks into any ordinary other server)
- you require TRIM/DISCARD, but the controller lacks this feature
- you need direct access to the disk internals via smartctl
- you do not want or you are not allowed to install the proprietary management software (provided as RPM packages) from HP, but still require access to the disk internals
- ...
Disabling the RAID controller is not trivial:
- You cannot simply remove the controller, since it provides the hardware connector for attaching the front disk bays (besides the RAID controller there is only one on-board SATA connector).
- It is also not possible to configure "RAID 0" for all disks separately, since these disks still contain the meta data format of the RAID controller (thus they are not usable without the controller) and there is still no access via smartctl.
There are some downsides when configuring the controller for HBA mode (pass-through):
the BIOS cannot boot from the disks attached to the RAID controller (see below Booting without the RAID controller)
- you cannot use the RAID modes provided by the controller (this is quite obvious)
- if the disks currently contain data, you will want to copy them before
Configure the controller for HBA mode (pass-through)
download the HP Service Pack for your server
- astonishingly this requires a running support contract with HP
- alternatively search for the MD5 checksum given in the download descriptions of HP
e.g. teimouri.net blogs about and shares the Service Packs from HP regularly
mount the ISO and copy the appriate file for your system: hp/swpackages/ssacli-*.rpm (either i386 or x86_64)
- boot the server with a minimal live system
for Debian: the rescue system is not sufficient - you will need to install the rpm package
install the rpm-based package from the Service Pack ISO: rpm -i --nodeps ssacli-*.rpm
enable the HBA mode (pass-through) for the controller: ssacli controller slot=0 modify hbamode=on
verify the result (if required): ssacli controller slot=0 show
The above configuration change is permanent, until you reconfigure the controller again (e.g. with hbamode=off).
Booting without the RAID controller
The Proliant BIOS and/or the RAID controller have the following limitations with regard to the boot medium:
- the RAID controller does not support booting from its disks, when in HBA mode
- when booting from the internal SD card (there is a slot on the mainboard), the BIOS provides access only to the internal SD card (no the disks behind the RAID controller)
- thus it is not sufficient to simply dump a minimal grub bootloader (stage 1) onto the SD card - it will not find the root filesystem containing the other grub modules and configuration
workaround: place the /boot/ directory on a filesystem on the SD card
- optionally with a software RAID (metadata version 0 - for transparency) connected to the real system hard disks attached to the RAID controller