Configuring iSCSI Boot for x86 Systems

Configuring iSCSI Boot for x86 Systems

OpenSolaris iSCSI boot allows you to initialize an operating system over the network from a remote location, such as a storage disk array. iSCSI boot is typically loaded onto an initiator, or diskless client, while the hard disk resides on a SCSI target attached to the network. Because iSCSI boot uses standard Ethernet-based infrastructure, data, storage, and networking traffic can be consolidated on a standard network.

Using iSCSI boot is different from booting an x86 system over the network using GRUB:

  • A GRUB based network boot requires a DHCP server that is configured for PXE clients. This is not necessary for iSCSI boot, however using a DHCP server with iSCSI boot is an option.
  • PXE requires a boot server to provide the miniroot/ramdisk. This is not necessary for iSCSI boot.

For information on GRUB based booting over the network, see How to Perform a GRUB Based Boot From the Network.

Prerequisites

Your x86 system must be running Solaris Express Community Edition (SXCE) Build 104 or later. To download the latest SXCE build, go to http://www.opensolaris.org/os/downloads/.

Your system must have one of the following Intel network interface cards (NICs):

To determine if your x86 machine supports iSCSI boot, check the BIOS setting. If the BIOS setting supports the iBFT, it will also support iSCSI boot. The iBFT is a table created by the iSCSI boot firmware to pass parameters about the iSCSI boot device to the loaded OS.

Useful Information

It is possible to have an iBTF compatible NIC that does not have the firmware loaded. If this is the case, you will not be able to use iSCSI boot without first updating the firmware on the NIC. For information on how to update the firmware, see the documentation provided by the NIC manufacturer.

How to Install SXCE on a Remote x86 SCSI Disk

Installing SXCE on a remote x86 SCSI disk is similar to the network installation outlined in the Solaris Express Installation Guide for Network-Based Installations, with the important exception of specifying an iSCSI target logical unit number (LUN). This step is unique to iSCSI boot.

In the following procedure, steps 1-4 highlight how to start the installation and configure the system. For more in-depth information, see the Solaris Express Installation Guide for Network-Based Installations. After completing step 4, you interrupt the installation to perform step 5 – specifying the iSCSI target LUN. After completing step 5, you resume the standard installation.

To install SXCE remotely on an x86 SCSI disk:

  1. Use the DVD installation media and boot from the DVD-ROM.
  2. Choose the display mode: Solaris Express for a desktop environment, and Solaris Express Serial Console ttya for a console session.
  3. Choose the Solaris Interactive mode (default).
  4. Configure the system:
    • Select the Networked option.
    • Select the network interface that has iBF. This is the interface Solaris will boot off of later.
    • Select Yes for DHCP, if you are using Dynamic Host Configuration Protocol (DHCP) server. The server must be configured to provide the iSCSI remote boot configurations to the iSCSI initiator.
    • Select Confirm, and then select Exit. You have to interrupt the installation at this point, and go to a shell window to specify the iSCSI target LUN.
  5. Use the iscsiadm command to specify the target LUN. The LUN configuration is temporary, and will not affect the OS behavior after installation. Refer to the iscsiadm(1M) man page for full list of sub commands.
  6. After specifying the target LUN, type install-solaris. When the install wizard appears, select Next to resume the installation.
Useful Information

The following basic commands make a logical unit available and verify that the logical unit has been discovered. Then you can format the disk.

  • iscsiadm add discovery-address <device_IP_address>
  • iscsiadm modify discovery -t enable
  • iscsiadm list target -S

The device name from iscsiadm list target -S corresponds to the target logical unit where you install Solaris. For more information on setting up Solaris iSCSI targets and initiators, see Chapter 14 of the OpenSolaris System Administration Guide: Devices and File Systems.

How to Boot Solaris From a Remote x86 iSCSI Disk

Before you begin, you should review the Prerequisites to ensure that the NIC on the host supports iBTF.

To boot Solaris from an x86 iSCSI disk:

  1. Configure iBF. This procedure varies from vendor to vendor, depending on the firmware implementation of iBF. See the following example for instructions on how to configure an Intel iBF.
  2. Boot the system from an iSCSI disk volume. See the following Intel iBF example.

To configure an Intel iBF and boot from an iSCSI disk:

  1. Power on the system and then press Ctrl+D.
  2. Select the primary NIC to configure.
  3. Choose iSCSI Boot Configuration and modify the initiator and target information as needed.
  4. Save your changes and exit. You will not need to change this information again, unless changes are made to the boot environment.
  5. Press ESC to continue with the boot process. iBF adopts the configuration, establishes a connection with the iSCSI target and lists the available disks on the target.
  6. From the pop-up menu of bootable devices, select Hard Disk and then select the iSCSI disk. It is not necessary to specify the iSCSI disk for every bootup, because the configuration is saved in the BIOS.

iSCSI Boot Console Messages

The following console messages were introduced with iSCSI boot. Details on each message and its resolution are listed below.

Notice: Configuring iSCSI boot session...
This message does not require action. The OS is trying to connect to the iSCSI storage device and boot from that device.

Notice: Adopting default login parameters in boot session as MPxIO is disabled
This message does not require action. For a non MPxIO, there is no safe way to adopt customized parameters for an iSCSI session that is connected to a boot target.

Warning: Failed to configure iSCSI boot session
The attempt to establish a session with a boot target has failed. Verify the connectivity to the target and the accuracy of the login parameters, such as CHAP.

Warning: Failed to configure iSCSI boot nic
The attempt to set up a boot NIC has failed. Check to see if there is a conflict between the firmware setup and your Solaris configuration.

Warning: Invalid iBFT table 0x%x
The iBFT passed to Solaris is invalid. Refer to the vendor-specific documentation to set up iBFT correctly. You can also call the vendor's Customer Service Department for assistance.


Where to go Next

Labels

iscsi iscsi Delete
boot boot Delete
task task Delete
smallsiteadmin smallsiteadmin Delete
configuring configuring Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Nov 21, 2008

    Jack_Meng says:

    1. I've added a stub page for new console messages, feel free to edit that secti...

    1. I've added a stub page for new console messages, feel free to edit that section if needed.
    2. Per comments we received, a link to point to another page which describing the installation process will be good. Please add it.

    Others look good to me.

    1. Apr 27, 2009

      clcchu@hotmail says:

      There seems no need to use iscsi-boot capable NICs as mentioned in the Prerequi...

      There seems no need to use iscsi-boot capable NICs as mentioned
      in the Prerequisites.

      One may use gPXE of http://www.etherboot.org to make Nevada
      snv-b104 to snv-b111 be installed and booted from iscsi-target.

      snv-b112 had failed that, though. Wish the feature will be
      fixed on the upcoming snv-b113+.

      I had made a few boxes be iSCSI-booted using even the cheapest
      ever rtls(4) NIC.

      If the author of this article is to enrich it with gPXE iSCSI-boot,
      email me, and prepare to buy me beer

  2. May 03, 2009

    Jack_Meng says:

    gPXE is out of the support list for iSCSI boot, the prerequisite is valid, at le...

    gPXE is out of the support list for iSCSI boot, the prerequisite is valid, at least for now. However it will work if gPXE uses iBFT standard internally. gPXE is an interesting feature, I'll take a closer look, and may have a dozen beers prepared.

    1. Jun 24

      clcchu@hotmail says:

      Dear Jack_Meng, the small trick to make gPXE be use as iSCSI boot is as follows...

      Dear Jack_Meng,

      the small trick to make gPXE be use as iSCSI boot is as follows:

      use manual reboot on installation, and upon installation completion,
      insert a line "/lib/svc/method/iscsi-initiator" into
      /a/lib/svc/method/fs-root.

      the trick works for b112 thru b115, believably b116, too (am to do
      that later today).

      the most important benefit of using iSCSI boot is that:
      the installed contents is machine independent, regardless of
      chipsets, NICs, etc. i.e. as far as you figure out how to use
      gPXE properly, any machine with enough resources may use the bootimage.
      the iqn seems to have been embedded into root-fs, had started hunting
      for places of the embedded contents. for now, the same bootimage may be deployed
      on different iSCSI targets to achieve the one-image, several machines goal.

      I had mentioned it to Marty Connor of etherboot.org, but seems they
      are more interested in lindoz systems rather than opensolaris

      best wishes,

      Clarence
      P.S. try it and save iSCSI-bootable NICs, and buy me beers
      actually, xcat.sf.net is also using gPXE intensively, another
      lindoz project, though.

Sign up or Log in to add a comment or watch this page.


The individuals who post here are part of the extended Sun Microsystems community and they might not be employed or in any way formally affiliated with Sun Microsystems. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Sun nor any other party necessarily agrees with them.

Copyright 1994-2009 Sun Microsystems, Inc.
Powered by Atlassian Confluence
Sun Guidelines on Public Discourse Privacy Policy Terms of Use Trademarks Site Map Employment Investor Relations Contact