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 {{:sanboot: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. {{:sanboot:sanbootcli.jpg}} Congratulations on a successful boot from SAN! \\ \\ ====== Troubleshooting ====== If you have difficulties booting Windows from SAN, take a look at [[:sanboot:winnt_iscsi_debug|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 [[http://www.rfc-archive.org/getrfc.php?rfc=4173|RFC 4173]].