Disabling hardware RAID in HP proliant controller
I have a proliant G6 and a G7 which both use the p410i raid controller so I tried to follow this guide as well as the one linked to in order to configure my controllers to HBA mode.
There are many reasons to do that, most importantly that if you want to use ZFS (which is much more flexible than the braindead hardware RAID controller), the drives have to be exposed as just normal drives (JBOD mode).
I have no idea how this could possibly work on a p410i:
-
the p410i does not support hba mode, when using ssacli it always reports it can not be set to hba mode, that it is not supported. Further as mentioned here the hba mode on the p410i is a bit special and for linux requires a patch in order to recognize the drives. I am not aware of an equivalent patch made for FreeBSD. When I forced the hba mode with hpsahba, FreeBSD did not recognize the drives.
-
I also have some gen8 server with p420i controllers. Those can be set to hba mode with ssacli. However, the mention as well as the one linked to that you just needed to install the mbr and gptzfsboot to an internal SDcard to then boot to the actual system on a zfs root on the hdd seems dubious. That can not possibly work. I tried and as mentioned , when the p420i is set to HBA mode, the bios does not expose the drives, therefore once you boot the system from a ubs key or SD card, the loader does not see any additional drives to load the kernel. gptzfsboot would only see one drive, the usb card it booted from. When at the gptzfsboot prompt, no additional device is available to load a kernel from (I tested this).
As mentioned in the systemausfall link above, I solved this by copying the entire boot/ directory from the zfsroot to the boot usb key/sdcard. Then modified /boot/loader.conf
by adding vfs.root.mountfrom="zfs:zroot/ROOT/default"
, and installed on the usb key/sdcard gptboot instead of gptzfsboot.
This works because the kernel is loaded from the usb key/sdcard, at which point the ciss driver for the p410/p420 controller is available and the kernel can find the drives connected to the controller. It then just uses as root filesystem the zfs filesystem on those drives.
Leave a comment
Your email address will not be published. Required fields are marked *