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

1-iscsi-initiator-pool

2-iscsi-initiator-pool-ip-block

Create a pool of IQNs

SAN > Pools > IQN Pools > Create IQN Suffix Pool

3-iqn-suffix-pool

Choose an IQN Prefix 

4-iqn-suffix-pool-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 

7-create-vnic

Modify the vNIC Placement (recommended) 

Servers > Service Profile Templates > Template > Network tab

8-modify-vnic-placement

Choose “Specify Manually”

9-specify-manually

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

10-vcon

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

11-verify-placement

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. 

12-add-iscsi-vnic

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!!

13-create-iscsi-vnic

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

14-create-iscsi-adapter

Configure Boot Policy

15-specify-boot-policy

Add CD-ROM, and then iSCSI 

16-add-iscsi-to-boot-policy

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. 

17-set-iscsi-boot-params

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

18-create-iscsi-target

Click OK, Notice we now have a target.

19-verify-iscsi-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

20-verify-initiator-info

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 10.150.150.139 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 10.150.150.139 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): 10.150.150.139 
    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): 10.150.150.139 
  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: 10.150.150.139
         Subnet Mask: 255.255.255.0
             Gateway: 10.150.150.1

          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: 10.150.150.254
                Port: 3260
            Boot Lun: 0
          Ping Stats: Success (11.332ms)

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

 

2 comments

  1. 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?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s