虚拟交换机 (vsw) 是在服务域中运行的组件,由虚拟交换机驱动程序管理。可以将虚拟交换机连接到某些来宾域,以在这些域之间进行网络通信。此外,如果虚拟交换机还与物理网络接口相关联,则可以通过该物理网络接口在来宾域和物理网络之间进行网络通信。在 Oracle Solaris 10 服务域中运行时,虚拟交换机还具有网络接口 vswn,该接口允许服务域与连接到该虚拟交换机的其他域通信。可以像使用任何常规网络接口一样使用虚拟交换机,并使用 Oracle Solaris 10 ifconfig 命令对其进行配置。
向域分配虚拟网络设备会创建对提供虚拟交换机的域的隐式依赖关系。可以使用 ldm list-dependencies 命令查看这些依赖关系或者查看依赖此虚拟交换机的域。请参见列出域 I/O 依赖关系。
在 Oracle Solaris 11 服务域中,虚拟交换机无法用作常规网络接口。如果虚拟交换机连接到物理网络接口,可以使用此物理接口与服务域进行通信。如果在没有物理接口的情况下进行配置,可以通过将 etherstub 用作与 VNIC 连接的网络设备 (net-dev) 来启用与服务域的通信。
要确定将哪个网络设备用作虚拟交换机的后端设备,请在 dladm show-phys 输出中搜索物理网络设备或使用 ldm list-netdev 命令列出逻辑域的网络设备。
此情况仅会在 Oracle Solaris 10 OS 中发生,不会在 Oracle Solaris 11 OS 中发生。
可以使用 ldm add-vsw、ldm set-vsw 和 ldm rm-vsw 命令分别向域中添加虚拟交换机、为虚拟交换机设置选项以及删除虚拟交换机。请参见 ldm(1M) 手册页。
在具有 VLAN 标记的 NIC 或聚合实例上创建虚拟交换机时,必须在 ldm add-vsw 或 ldm set-vsw 命令中指定 NIC (nxge0)、聚合 (aggr3) 或虚名 (net0) 作为 net-dev 属性的值。
不能在 InfiniBand IP-over-InfiniBand (IPoIB) 网络设备之上添加虚拟交换机。尽管 ldm add-vsw 和 ldm add-vnet 命令似乎已执行成功,但由于这些设备通过 InfiniBand 传输层来传输 IP 包,因此不会传输任何数据。虚拟交换机仅支持以太网作为传输层。请注意,虚拟交换机不支持 IPoIB 和 Ethernet-over-InfiniBand (EoIB) 后端。
以下命令可在名为 net0 的物理网络适配器上创建虚拟交换机:
primary# ldm add-vsw net-dev=net0 primary-vsw0 primary
以下示例使用 ldm list-netdev -b 命令仅显示 svcdom 服务域的有效虚拟交换机后端设备。
primary# ldm list-netdev -b svcdom DOMAIN svcdom NAME CLASS MEDIA STATE SPEED OVER LOC ---- ----- ----- ----- ----- ---- --- net0 PHYS ETHER up 10000 ixgbe0 /SYS/MB/RISER1/PCIE net1 PHYS ETHER unknown 0 ixgbe1 /SYS/MB/RISER1/PCIE4 net2 ESTUB ETHER unknown 0 -- -- net3 ESTUB ETHER unknown 0 -- -- ldoms-estub.vsw0 ESTUB ETHER unknown 0 -- --