您可以使用 LLDP 自动配置 VM 之间的通信。LLDP 根据外部交换机是否支持反射中继,将网络通信的交换配置为内部或外部。要使用 LLDP,请将 vswitchmode 数据链路属性设置为 auto。首先,您必须确保以下各项:
LLDP 软件包已安装。
要检查 LLDP 软件包是否已安装,请使用下面的命令:
# pkg info lldp
LLDP 服务处于联机状态。
要检查 LLDP 服务是否处于联机状态,请使用下面的命令:
# svcs lldp STATE STIME FMRI online Jul_13 svc:/network/lldp:default
已在 dot1-tlv TLV 单元中启用 EVB。
NIC 的 LLDP 模式为 both。
在此示例中,要检查是否在 dot1-tlv TLV 单元中启用了 EVB 以及 LLDP 模式是否为 both,可以使用下面的命令:
# lldpadm show-agentprop -p mode,dot1-tlv net5 AGENT PROPERTY PERM VALUE DEFAULT POSSIBLE net5 mode rw both disable txonly,rxonly,both,disable net5 dot1-tlv rw evb none none,vlanname,pvid,linkaggr,pfc, appln,evb,etscfg,etsreco,all
将 vswitchmode 数据链路属性设置为 auto:
# dladm set-linkprop -p vswitchmode=auto net5
将 vswitchmode 数据链路属性设置为 auto 时,可以使用 dladm show-linkprop 命令的输出检查 VM 之间的通信是内部的还是通过外部交换机的。
# dladm show-linkprop -p vswitchmode net5 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE net5 vswitchmode rw auto remote local local,remote,auto
由于此输出的 EFFECTIVE 字段的值为 remote,因此 LLDP 已在外部交换机上启用反射中继,VM 之间的通信是通过外部交换机进行的。
有关 LLDP 的更多信息,请参见在 Oracle Solaris 11.2 中管理网络数据链路 中的第 5 章 使用链路层发现协议交换网络连接信息。