This was never the plan; it was an adjustment after we needed a B200-M4 blade at our secondary site to boot VMware without a disk or SD card. I figured it would be easier (and quicker) to configure the storage array, the UCS, a service profile, create a LUN and write a blog entry rather than try over and over again to get a Cisco SD card from Cisco that is compatible with Cisco blades and Cisco firmware.
I should probably settle down now.
Anyway, this article from Cisco will help and was my main reference during the process and has some troubleshooting tips: iSCSI Boot Configuration
The pre-requisites for this are straight forward with the exception of having L2 connectivity to the storage. Fortunately, I had already been there and done that. The walkthrough is here: Setup iSCSI Storage for UCS Blades
The rest of the pre-reqs:
-The UCS is set up. – Yep.
-The blades and storage both have Layer 2 (L2) connectivity. – If not, read this.
-The service profile is set up with the correct VLANs on the virtual network interface cards (vNICs). – This is true if you have hosts set up already.
-The Cisco virtual interface card (VIC) adapter is used. The VIC adapter can be a M81KR, a VIC1240, or a VIC1280. – Yep, I have a VIC1240.
-The minimum UCS version is 2.0(1)a. – Sure, just a little over (2.2 5b)
-The iSCSI qualified name (IQN) and IP address of the storage system iSCSI target portal is available. – Yep.
-The boot logical unit number (LUN) ID is available.- Create the boot LUN prior on whatever array you’re using and assign strict access. It isn’t necessary to set the LUN ID to zero on the array if that option is available. When the iSCSI Target is created during the setup in the UCS, the LUN ID is set to zero by default. Set the LUN access to allow only from the IP that will be used for the UCS iSCSI vNIC and to not allow simultaneous connections.
The Configuration: (I’m modifying an existing service profile in the UCS)
Step 1– In the server profile, create a new vNIC. If the VMware version
is 5.0, make sure it is the last one in sequence. Modify the vNIC
so it’s native VLAN is the one used for iSCSI L2 connectivity.
Step 2– Create an iSCSI vNIC in the service profile and use the other
newly created vNIC as the overlay. According to Cisco this is
“not an actual vNIC”. Instead, it’s a placeholder in the iBFT
(iSCSI boot firmware table). This is the setting that will force the blade
to look for an iSCSI volume as the boot disk.
In the example above, name the iSCSI vNIC, assign the new vNIC created in the service profile as the overlay and set the native VLAN to the one used for iSCSI traffic. I previously named this VLAN “iSCSI”. Do not assign a MAC address as this isn’t real; it’s just a permanent ghost vNIC that points to the real vNIC created (overlay). View the ghost iSCSI vNIC in the UCS:
Step 3– Add a Boot Policy to the UCS using the iSCSI vNIC in the sequence. Save and name the policy. Note: This is optional. The Boot Order can be changed in the blade’s service profile directly (Step 5). I like to add a policy in case I need to add another blade that needs an iSCSI LUN to boot up. To guarantee policy compliance I would need to name the iSCSI vNIC of every blade “iSCSI_1” as I did here.
Step 4– Assign the Boot Policy of the blade. Choose the Boot Policy just created. Click the Modify Boot Policy link in the Boot Order tab of the service profile. Choose the policy and OK.
Step 5– Modify the Boot Parameters of the iSCSI vNIC so it can access the storage array. In the service profile of the blade, choose the Boot Order tab, expand the iSCSI section of the Boot Order window and choose the iSCSI vNIC. Click the Set iSCSI Boot Parameters button to get this window:
Set the Iniator Name Assignment to Manual and enter the name in the field below.
Note: The Initiator Name format is: : iqn.2013.01.com.name-of-server
The IP address of the initiator will not need a gateway if it’s on the same subnet as the target array. Next, add a Target Server:
I’ve already added the target for the initiator. You can see the results in the vanilla row at the bottom of the picture. Fill in the IQN identifier, port (if it isn’t the standard) and the IP address of the target array and click OK. That’s it. The boot LUN is ready and VMware is ready to be installed.
Once the VMware host boots you’ll see the vNIC created in the service profile has its own vSwitch, portgroup and physical adapter created automatically:
I named the vNIC in the UCS profile “iSCSIBoot”, so VMware just added a suffix at the end for the vSwitch and the Port Group names. This will mess with existing VMware host profile compliance if the profile was not based on a boot from iSCSI configuration.
Until next time…
Leave a Reply