UCS Boot from iSCSI

Follow these steps to boot from iSCSI in UCS

Create a pool of ISCSI Initiator IP Addresses

Lan > Pools > IP Pool iscsi-initiator-pool > Create Block of IP Addresses



Create a pool of IQNs

SAN > Pools > IQN Pools > Create IQN Suffix Pool


Choose an IQN Prefix 


Choose an IQN suffix, and size of pool 

5-iqn-suffix-pool-suffix 6-iqn-suffix-pool-complete

Create a dedicated vNIC for iSCSI

LAN > Polices > vNIC Templates > Create

Set the MAC Pool
Set the native VLAN to your iSCSI VLAN
If using VMware, set the adapter policy accordingly 


Modify the vNIC Placement (recommended) 

Servers > Service Profile Templates > Template > Network tab


Choose “Specify Manually”


Drag all vNIC on the left to vCon 1 on the right.  Ensure iSCSI is at the bottom. 


Notice the ordering is now sequential starting at “1”. 


Create an iSCSI vNIC.  

This is easily confused with the vNIC created earlier, but this is completely separate and actually isn’t really a vNIC, it’s an iSCSI bootable firmware table (iBFT) used of iSCSI boot.  Think of this as a virtual placeholder for the iSCSI traffic. 


Give it a name, set the Overlay vNIC as the one we created earlier, set the native VLAN to the iSCSI VLAN.
Do NOT assign MAC addresses here!!  Will not boot if you do!!


If you wanted to create an iSCSI Adapter Policy for some additional parameters, here is where you do so.  I’m not configuring any.


Configure Boot Policy


Add CD-ROM, and then iSCSI 


Set Boot Parameters

Click “Set Boot Parameters” under iSCSI vNICs.

Choose the Initiator pool, and IQN pools created in the beginning (Note, we could have also created the pools from here, I just like to do them first).  Then click the green “+” to add an iSCSI target. 


Enter the iSCSI target name, IP and port.  Set the LUN ID if necessary. 


Click OK, Notice we now have a target.


Go to your storage network and configure necessary communications.  I’m using iSLB in this example, but you can use anything.

feature iscsi
iscsi enable module 1
islb distribute

islb initiator name iqn.2014-8.lab.ucs:esxi:0
  static nWWN 21:09:00:0d:ec:54:63:82
  static pWWN 21:0a:00:0d:ec:54:63:82
  vsan 101
  target pwwn 21:00:00:1d:38:1c:79:0a vsan 101 iqn-name iqn.2014-08.lab.mds2.jbod1-d1

islb commit
islb vrrp 1 load-balance

Boot the server (service profile).

Notice we now see the IQN and IP assignment in UCS


And notice in our fabric we have a login:

MDS1(config)# 2014 Aug 30 23:38:38 MDS1 %IPS-5-ISCSI_SESSION_CREATE_REDIRECT: GigabitEthernet1/2: iSCSI Session initiator iqn.2014-8.lab.ucs:esxi:0 target iqn.2014-08.lab.mds2.jbod1-d1 redirected to 20:00:00:0d:ec:54:63:80/GigabitEthernet1/2
2014 Aug 30 23:38:38 MDS1 %IPS-SLOT1-5-ISCSI_CONN_DOWN: GigabitEthernet1/2: iSCSI session down from initiator iqn.2014-8.lab.ucs:esxi:0 alias FI ip to target iqn.2014-08.lab.mds2.jbod1-d1, reason: local iscsi port initiated connection close
2014 Aug 30 23:38:38 MDS1 %IPS-SLOT1-5-ISCSI_CONN_UP: %$VSAN 101%$ GigabitEthernet1/2: iSCSI session up from initiator iqn.2014-8.lab.ucs:esxi:0 alias FI ip to target iqn.2014-08.lab.mds2.jbod1-d1 

We have an iSCSI initiator and session built:

MDS1(config)# show islb initiator 
iSCSI Node name is iqn.2014-8.lab.ucs:esxi:0 
    Initiator ip addr (s): 
    iSCSI alias name: FI 
    Configured node (iSLB)
    Node WWN is 21:09:00:0d:ec:54:63:82 (configured) 
    Member of vsans: 101
    Number of Initiator Targets: 1

    Initiator Target: iqn.2014-08.lab.mds2.jbod1-d1 
    * Port WWN 21:00:00:1d:38:1c:79:0a 
      Primary PWWN VSAN 101
      Zoning support is enabled
      Trespass support is disabled
      Revert to primary support is disabled

    Number of Virtual n_ports: 1
    Virtual Port WWN is 21:0a:00:0d:ec:54:63:82 (configured)
      Interface iSCSI 1/2, Portal group tag: 0x3001 
      VSAN ID 101, FCID 0x010104

MDS1(config)# show islb session 
Initiator iqn.2014-8.lab.ucs:esxi:0
  Initiator ip addr (s): 
  Session #1
    Target iqn.2014-08.lab.mds2.jbod1-d1
    VSAN 101, ISID 00023d010000, Status active, no reservation

Lastly, we can confirm via the UCS cli that we have successfully booted from iSCSI:

FI-A# connect adapter 2/2/1
adapter 2/2/1 # connect
adapter 2/2/1 (top):1# attach-mcp
adapter 2/2/1 (mcp):1# iscsi_get_config

vnic iSCSI Configuration: 

vnic_id: 18
          link_state: Up

       Initiator Cfg: 
     initiator_state: ISCSI_INITIATOR_READY
initiator_error_code: ISCSI_BOOT_NIC_NO_ERROR
                vlan: 0
         dhcp status: false
                 IQN: iqn.2014-8.lab.ucs:esxi:0
             IP Addr:
         Subnet Mask:

          Target Cfg: 
          Target Idx: 0
               State: ISCSI_TARGET_READY
          Prev State: ISCSI_TARGET_DISABLED
        Target Error: ISCSI_TARGET_NO_ERROR
                 IQN: iqn.2014-08.lab.mds2.jbod1-d1
             IP Addr:
                Port: 3260
            Boot Lun: 0
          Ping Stats: Success (11.332ms)

        Session Info: 
          session_id: 0
         host_number: 0
          bus_number: 0
           target_id: 0


David Varnum


You may also like...

2 Responses

  1. alessandro says:

    hi, I’m installing the same setup to one of our customer, os is vsphere 5.5.
    I’m having 2 problems:
    1 after installation, that goes well, I can see the configured ip address, for the iscsi vnic, in esxi
    2 if I configure esxi with the right ip address and other configuration, then reboot the server, it is restored as just installed with the configured ip address, for the iscsi vnic.

    do you have idea of what is causing this strange behaviour?

  2. vick says:

    i’m having the same problem. did you find the solution alessandro?

Leave a Reply