Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to setup a diskless XenServer 5.6 FP 1 machine that boots from an iSCSI target. I think installation onto an iSCSI should be pretty easy: start the installer, open up a shell, use iscsiadm to connect to the iSCSI target, and have the installer install to it.

I'm not sure how to get the server to boot from the iSCSI target though. I'm thinking I could have the server's NIC perform a PXE boot to load gPXE, which in turn would load the boot loader from the iSCSI target, which would load Xen/Linux. However, how would I get Xen/Linux to mount the root filesystem from the iSCSI target?

Note that this server does not have an HBA iSCSI adapter, so I'm trying to boot it from a regular NIC.

I did a test installation inside a virtual machine. When using gPXE to boot from the iSCSI target, EXTLINUX just hangs. I then replaced the boot loader with GRUB, which was successful in booting the kernel. However, it was not able to mount the root filesystem. I see the following messages, which were printed after messages indicating that a DHCP lease was obtained successfully:

Attaching to iSCSI storage
iscsistart: transport class version 2.0-870. iscsid version 2.0-871
iscsistart: Portal Group not set. Exiting iscsistart
Waiting  for driver initialization.
share|improve this question

Your going to have to add this flag to the pxe boot config "device_mapper_multipath=yes" for example:

default xenserver
label xenserver
       kernel mboot.c32
       append /tftpboot/xenserver/xen.gz dom0_mem=752M com1=115200,8n1 \
       console=com1,vga --- /tftpboot/xenserver/vmlinuz \
       xencons=hvc console=hvc0 console=tty0 \ 
       device_mapper_multipath=yes \
       --- /tftpboot/xenserver/install.img

KDB Article here :

share|improve this answer
I ended up doing a test installation and tried passing the device_mapper_multipath=yes option. This option does not seem to make a difference - it isn't able to find the iSCSI target. – Alex May 19 '11 at 19:22
up vote 0 down vote accepted

I was able to get it to work. Turns out the initrd image had the initiator name missing in /init when it was created during the installation. Setting /etc/iscsi/initiatorname.iscsi and re-executing the mkinitrd using the command that was listed in /boot/initrd- did the trick. I.e.:

mkinitrd -v --theme=/usr/share/splash --without-multipath /boot/initrd-
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.