Boot from SAN is not necessarily one of the easiest things in the world; however, Cisco UCS does take away a lot of the complexity with its Service Profiles and associated Boot Policies. I’m not going to get into an exhaustive post around booting from SAN on Cisco UCS as I think most people have readily documented and how it works. However one important caveat to keep in mind is that the Cisco M81K-R does not have an “HBA BIOS” that is typically available in the Emulex or Qlogic HBA/CNA’s that we’re all familiar with. If you’re unfamiliar with the HBA BIOS utilities, this is typically as Cntrl+E or Cntrl+Q sequence that you can type in as a host is booting up so you can have the HBA log into the fabric and scan for its available luns.
Not to turn into a Debbie Downer, but there is a very easy way to circumvent this caveat and make use of the lovely UCSM CLI. As the host is booting, you can connect the VIC adapter and have it log into the fabric and list its luns. Couple this with the dialogue from the UCS Boot Policy and we can easily troubleshoot any SAN booting issues. This method negates any need for having a traditional HBA BIOS created for the Cisco VIC family and demonstrates from the real power of the UCSM CLI.
It should also be noted that once the host has completed booting, the host drivers will take over and the VIC drivers will not be accessible for scanning the fabric. See below for some of the command walk through.
UCS-6200-TOP-A#
UCS-6200-TOP-A# connect adapter 1/1/1adapter 1/1/1 # connectadapter 1/1/1 (top):1# attach-fls
adapter 1/1/1 (fls):5# vnic
—- —- —- ——- ——-
vnic ecpu type state lif
—- —- —- ——- ——-
7 1 fc active 4
8 2 fc active 5adapter 1/1/1 (fls):4# login 7
lifid: 4
ID PORTNAME NODENAME FID
0: 20:00:00:1f:93:00:12:9e 00:00:00:00:00:00:00:00 0xa70400
adapter 1/1/1 (fls):5# lunmap 7
lunmapid: 0 port_cnt: 1
lif_id: 4
PORTNAME NODENAME LUN PLOGI
20:00:00:1f:93:00:12:9e 00:00:00:00:00:00:00:00 0000000000000000 Y
adapter 1/1/1 (fls):6# lunlist 7
vnic : 7 lifid: 4
– FLOGI State : flogi est (fc_id 0xa70804)
– PLOGI Sessions
– WWNN 20:00:00:1f:93:00:12:9e WWPN 20:00:00:1f:93:00:12:9e fc_id 0xa70400
– LUN’s configured (SCSI Type, Version, Vendor, Serial No.)
LUN ID : 0x0000000000000000 (0x0, 0x4, XIOTECH , 3BCC01C4)
– REPORT LUNs Query Response
LUN ID : 0x0000000000000000
– Nameserver Query Response
– WWPN : 20:00:00:1f:93:00:12:9e
Thanks for sharing. I enjoy learning something new everyday.
[…] put this under the “Servers” category even though it’s storage-related: In this post, Ryan Hughes explains how to use the UCSM CLI to do some cool—and useful—boot from SAN […]
At 10000 ft, Its even simpler than this..for blade in question:
1. verify blade in question has Flogid into FI on at least 1 vHBA path.
2. assuming target WWPN is correct in the boot policy, with
blade KVM open, quiet boot off, boot blade, look for target wwpn/LUN in VIC option ROM at boot time.
If option ROM does not show the target LUN at boot time, you know for sure that theres either a lun masking or zoning issue upstream from UCS. Its true that the option ROM doesnt have a config utility but its not totally useless for troubleshooting.
Since the goal of the above commands is to determine flogi/plogi status, its not faster than the article commands, but its a no brainer.
Bookmarked! Thanks for an amazing post, will read your others posts.
[…] Hughes (@angryjesters) got the ball rolling on this. He took it upon himself to write an excellent article explaining how to access the obscure-but-useful command called LUNLIST. So if you are looking for […]
[…] Hughes (@angryjesters) got the ball rolling on this. He took it upon himself to write an excellent article explaining how to access the obscure-but-useful command called LUNLIST. So if you are looking for […]
Have you seen any issues with performance of Xiotech arrays with UCS / MDS? I am seeing major performance issues when doing p2v’s to UCS/Xio environment (datastores dropping offline. etc)