[syslinux] How to support iSCSI multipath...
Alex Zeffertt
alex.zeffertt at eu.citrix.com
Thu Oct 1 02:57:13 PDT 2009
Hi Bootmeisters,
I am using gpxelinux.0 + sanboot.c32 to boot a diskless machine into Linux. I
would like to use device-mapper-multipath to provide fault tolerant access to
its root disk.
Although I am able to do this by hardcoding the additional paths in the initrd,
it would be better if the bootloader could pass the information in the iBFT
(iSCSI Boot Firmware Table). However, at the moment gpxelinux.0 can only build
iBFTs with one NIC and one target.
As I understand it, gpxelinux.0 consists of two parts linked together:
pxelinux.gpxe (taken from the etherboot project); and pxelinux.0. The
pxelinux.gpxe part runs first and extends the TCP/IP stack of the PXE
implementation in ROM. It then runs a script which launches pxelinux.0.
pxelinux.gpxe provides the iSCSI protocol support which can later be used by the
sanboot.c32 comboot module.
When "sanboot.c32 iscsi:<tgtip>:<prot>:<port>:<lun>:<iqn>" is run, pxelinux.0
passes control back to the pxelinux.gpxe component to build the iBFT. Although
the target to write to the iBFT it given explicitly, the NIC and IP
configuration are implicit, and pxelinux.gpxe assumes that these should be the
NIC that DHCP'd, and the IP configuration provided by the DHCP server.
In order to support multipath I need to make this more flexible. Ideally
sanboot.c32 would support an invocation like this:
sanboot.c32 ibft:<filename>
that would cause it to collect tftp://<next-server>/<filename>, load it into
memory, read it to determine the NIC and config to use, and then proceed as
before by logging into the LUN and jumping to its MBR.
Does anybody have any advice about how to go about this, or whether it is even
feasible?
Thanks in advance for any help, and thank you for syslinux!
Alex
More information about the Syslinux
mailing list