本文档介绍Cisco Nexus 1000v系列交换机的虚拟管理引擎模块(VSM)如何处理主机UUID的更改。如果许可证的适当数量或类型不可用,则可能会中断流量。
Nexus 1000v交换机的VSM根据硬件的通用唯一标识符(UUID)向主机发出许可。这意味着,如果主机UUID因任何原因而更改,VSM会将其视为新主机。虽然主机UUID在其生命周期内发生更改的情况很少见,但思科知道两种情况可能导致UUID更改 — ESXi 5.0中的VMware软件缺陷和M3刀片上的思科统一计算系统(UCS)固件缺陷。
当UUID更改时,VSM将之前加载的模块视为新主机。主机作为新模块加载,并分配了新模块编号和新许可证。如果没有可用的许可证,则为主机分配透支许可证;如果没有可用的透支,则完全不为主机分配许可证。如果此主机上有生产虚拟机(VM),则它们无法再传递流量,因为未经许可的主机无法从VSM接收编程。
如果VMware ESXi 5.0系统的系统管理BIOS(SMBIOS)版本是2.6版或更高版本,则ESXi 5.0主机报告的SMBIOS UUID可能与实际SMBIOS UUID不同。UUID前三个字段的字节顺序不正确。
SMBIOS规范扩展了x86架构系统上的BIOS接口,并说明主板和系统供应商如何以标准格式提供有关其产品的管理信息。该信息旨在允许通用仪器将此信息提供给使用桌面管理接口(DMI)、通用信息模型(CIM)或直接访问的管理应用程序,并消除对易出错操作(如探测系统硬件)的需求,以便进行在线状态检测。
SMBIOS规范旨在提供足够的信息,以便BIOS开发人员可以实施必要的扩展,以便允许其产品上的硬件和其他系统相关信息由定义接口的用户准确确定。
VMkernel与使用CIM的硬件交互并传递此信息。虚拟以太网模块(VEM)与VMkernel交互,以读取VMkernel中CIM从硬件中首先收集的UUID信息。VEM UUID等于ESXi UUID。
如果启动或重新启动VEM(vem start/restart),则调用函数startDpa。startDpa函数调用/opt/cisco/vXXX/nexus/vem-vXXX/shell/vssnet-function中的脚本,并从ESXi主机提取UUID:
setBiosUuid()
{
local UUID
UUID=$(esxcfg-info -u | awk '{print tolower($1)}')
if [ "${UUID}" != "" ] ; then
doCommand ${VEMCMD} card uuid vmware ${UUID}
fi
}
注意:
在Cisco UCS B200 M3、B220 M3或B440 M3刀片服务器上升级VMwave ESXi 4.1或ESXi 5.1时,UUID转换不正确。这仅是显示问题,不影响与刀片关联的服务配置文件。
注意:
此过程介绍如何解决由UUID更改引起的问题:
# show module vem mapping <-- old UUID shows unlicensed
# show vms internal info host-table
~ # esxcfg-info |grep UUID <-- new UUID of host
Nexus1000v# conf t
Nexus1000v(config)# no vem 'x'
Nexus1000v# show module vem mapping
Mod Status UUID License Status
--- ----------- ------------------------------------ --------------
3 powered-up 24266920-d498-11e0-0000-00000000000f licensed
4 powered-up 24266920-d498-11e0-0000-00000000000e licensed
Nexus1000v# conf t使用主机的新UUID,如步骤1所示:
Nexus1000v(config)# vem <lowest unused module #>
Nexus1000v(config-vem-slot)# host vmware id <uuid>
~ # esxcfg-info |grep UUID
VEM_MGR-2-VEM_MGR_REMOVE_NO_HB Removing VEM 15 (heartbeats lost)
ETH_PORT_CHANNEL-5-PORT_DOWN port-channel15: Ethernet15/1 is down
VEM_MGR-2-MOD_OFFLINE Module 15 is offline
VIM-5-IF_DETACHED Interface Vethernet248 is detached
VEM_MGR-2-VEM_MGR_DETECTED Host ?hostname? detected as module 32
VEM_MGR-2-VEM_MGR_UNLICENSED License for VEM 32 could not be obtained. Please contact your Cisco
account team or partner to purchase Licenses. To activate your purchased licenses, click on
www.cisco.com/go/license .
VEM_MGR-2-MOD_ONLINE Module 32 is online
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
19-Aug-2013 |
初始版本 |