iSCSI booting on HPE BL460c gen 9 Blade Servers

Hi all,
I was looking about throwing this out there, and see if anybody has seen a similar issue.

We are trying to deploy AlmaLinux 8 unto HPE BL460c gen 9 Blade Servers to boot via iSCSI.
The little quirky installation issues have been wrinkled out with the correct kernel parameters (rd.iscsi.ibft, rd.iscsi.mp and rd.iscsi.firmware), and the installation is generally successful.

But upon first boot, we end up with iSCSI hanging and spitting out “23 - host not found”
It will then repeat this forever until the server is force shutdown.

Unfortunately documentation and searching online have given little results, and the results I have gotten are outdated or changed nothing.

Has anyone seen a similar issue and can hopefully point me in the right direction?
Cheers,
Alex

Hello.

https://support.hpe.com/hpesc/public/docDisplay?docId=a00075834en_us&docLocale=en_US

Maybe this article can help.

Hi there,
That was something I stumbled upon, and it didn’t seem to help unfortunately.

I’ve currently forced an emergency shell and I’m scouring what I can there. Everything seems fine, including the appropriate network interfaces receiving addresses from iBFT. It’s very odd.

We found something that works!
So, as it turns out, the issue was a multipath issue. The HPE network modules act as iSCSI HBAs. They are “invisible” to the OS in the sense that all of the iSCSI stuff is offloaded to the hardware.

Turns out that multipath forces NetworkManager to “wait” for the network to come up before mounting the disks. It never does! We don’t have DHCP for these servers and the iSCSI subnets don’t either.

To start, we removed the second interface. We will install the OS as single-path.

Then, for the installer, we used the following kernel arguments: rd.iscsi.firmware rd.iscsi.mp=0 rd.iscsi.ibft=1 rd.net.timeout.dhcp=1 inst.nonibftiscsiboot

For the installed system, we used these ones: rd.iscsi.firmware rd.iscsi.waitnet=0 rd.neednet=0 rd.net.timeout.dhcp=1

Basically, post-install, we ran commands something like this:
yum install device-mapper-multipath -y → install needed multipath packages
mpathconf --enable → turn on multipath, create the multipath.conf file
multipath -a /dev/sdb → add the WWID for the root device to the multipath.conf automatically
grubby --args="rd.iscsi.firmware rd.iscsi.waitnet=0 rd.neednet=0 rd.net.timeout.dhcp=1" → add the new args to grub

grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg → rebuild grub conf
dracut --force --add multipath → rebuild initial kernel image, including multipath in it

Then we shutdown, re-add the second network interface, and turn it back on. Voila!