This is an old revision of the document!


Booting from an iSCSI target

Configuring Root Path on your DHCP Server

Using DHCPd

Place the following two lines in /etc/dhcpd.conf:

  filename "";
  option root-path "iscsi:my.target.dns.name::::iqn.2007-08.name.dns.target.my:iscsiboot";

where my.target.dns.name is the DNS name (or IP address) of your iSCSI target, and iqn.2007-08.name.dns.target.my:iscsiboot is the iSCSI target IQN that you wish to boot from.

You will probably need to restart your DHCP server for the changes to take effect:

  root@chipmunk# /etc/init.d/dhcpd restart

Using Microsoft DHCP Server

Depending on your deployment, right click either “Server Options,” “Scope Options,” or a reservation for the client you wish to boot (if you're unsure, use “Server Options”), and then click “Configure Options.” In the options window, scroll down to and click the checkbox next to “017 Root Path,” and enter the root path string for your iSCSI target in the “String Value” field, for example:

iscsi:my.target.dns.name::::iqn.2007-08.name.dns.target.my:iscsiboot

msrootpath.jpg

Where my.target.dns.name is the DNS name (or IP address) of your iSCSI target, and iqn.2007-08.name.dns.target.my:iscsiboot is the iSCSI target IQN that you wish to boot from.

Booting Your Client

Boot your diskless client using gPXE. If all has gone well, you should see it boot from your iSCSI target image.

sanbootcli.jpg

Congratulations on a successful boot from SAN!



Troubleshooting

If you have difficulties booting Windows from SAN, take a look at Debugging Windows iSCSI boot.

Extended Description of iSCSI Root Path Syntax

Root Path Arguments

Described heavily in depth in RFC 4173, the root path string used to boot from SAN can range from relatively simple, to a very explicit, information packed line. According to the RFC, the root path string is formatted as follows:

iscsi:<servername>:[protocol]:[port]:[LUN]:<targetname>

“servername” is required, and can be the domain name or IPv4 (or IPv6, which is not supported by gPXE) address of your iSCSI target server.
“protocol” is optional, and is generally left blank, assuming a default value of “6” for TCP.

  • RFC 4173 states that TCP is the only valid protocol at the time of writing.

“port” is optional, and if left blank will assume a default value of 3260.
“LUN” is optional, and if left blank will assume a default value of 0.
“targetname” is required, and should be the iSCSI target IQN you wish to boot from.

Practically Speaking

For most non-complex deployments, such as the samples in above sections, your root path will look like:

iscsi:my.target.dns.name::::iqn.2007-08.name.dns.target.my:iscsiboot

That root path string omits the protocol, port, and LUN used by the iSCSI target server, defaulting to TCP, port 3260, and LUN 0, but is functionally equivalent to:

iscsi:my.target.dns.name:6:3260:0:iqn.2007-08.name.dns.target.my:iscsiboot

Furthermore, the LUN ID itself has a rather sophisticated set of rules for how it can be defined, but that goes beyond the scope of this article.

Advanced Reading

For more information, please see pages 3 and 4 of RFC 4173.


QR Code
QR Code sanboot:iscsi_boot (generated for current page)