目标-此使用案例说明了如何设置一个跨越两个计算节点的弹性虚拟交换机 (EVS1)。
在此使用案例中,您将 CN1 上的 VNIC vnic0 和区域 z1 的 VNIC anet 连接到弹性虚拟交换机 EVS1,使它们属于同一个 L2 网段并且可以在 VLAN 上彼此相互通信。下图显示了跨越两个计算节点的弹性虚拟交换机 (EVS1)。
图 6-2 弹性虚拟交换机配置
此图显示了一个具有四个节点且包含以下组件的网络:
两个计算节点(CN1 和 CN2)
CN2 上具有 VNIC anet 资源的区域 z1 (z1/net0)
CN1 上的 VNIC vnic0
一个充当 EVS 控制器的节点 (evs-controller.example.com)
一个充当您需要在其上运行 evsadm 命令的 EVS 管理器的节点 (MANAGER)
一个用于实现弹性虚拟交换机 EVS1 的 VLAN
uplink-port,指定用于 VLAN 的数据链路
安装必需的 EVS 软件包。
有关所需软件包的信息,请参见使用 EVS 时必需的软件包。
在 EVS 设置中,使用在以下组件之间为 evsuser 预先共享的公钥来设置 SSH 验证:
EVS 管理器和 EVS 控制器
每个 EVS 节点和 EVS 控制器
EVS 控制器和每个 EVS 节点
有关更多信息,请参见设置 SSH 验证。
配置 EVS 控制器。
指定一个计算节点作为网络中的 EVS 控制器,然后在每个计算节点上设置 EVS 控制器,以便这些计算节点可以与 EVS 控制器通信。请注意,您可以从与 EVS 控制器通信的任何计算节点设置控制器属性。有关更多信息,请参见配置弹性虚拟交换机。
指定属性 l2-type、vlan-range 和 uplink-port。否则,您无法创建弹性虚拟交换机。
创建弹性虚拟交换机。您必须关联一个 IPnet 并将 VPort 添加到弹性虚拟交换机中。
在 CN1 上创建一个临时 VNIC,并将该 VNIC 连接到弹性虚拟交换机的 VPort。
在区域 z1 上创建一个 VNIC anet 资源并将其连接到弹性虚拟交换机。
设置 EVS 控制器。
MANAGER# evsadm set-prop -p controller=ssh://evsuser@evs-controller.example.com
设置 EVS 控制器属性。
设置必须用于弹性虚拟交换机的 L2 拓扑类型。
MANAGER# evsadm set-controlprop -p l2-type=vlan
设置 VLAN 范围。
MANAGER# evsadm set-controlprop -p vlan-range=200-300
指定用于 VLAN 的数据链路 (uplink-port)。
MANAGER# evsadm set-controlprop -p uplink-port=net2
MANAGER# evsadm set-controlprop -h CN2 -p uplink-port=net3
验证控制器属性。
MANAGER# evsadm show-controlprop -p l2-type,vlan-range,uplink-port NAME VALUE DEFAULT HOST l2-type vlan vlan -- vlan-range 200-300 -- -- uplink-port net2 -- -- uplink-port net3 -- CN2
创建名为 EVS1 的弹性虚拟交换机。
MANAGER# evsadm create-evs EVS1
将 IPnet EVS1_ipnet 添加到 EVS1。
MANAGER# evsadm add-ipnet -p subnet=192.168.100.0/24 EVS1/EVS1_ipnet
将 VPort vport0 添加到 EVS1。
MANAGER# evsadm add-vport EVS1/vport0
您无需始终将虚拟端口添加到弹性虚拟交换机。创建 VNIC 时,您只能指定 VNIC 必须连接到的弹性虚拟交换机的名称。在这种情况下,EVS 控制器将生成系统虚拟端口。这些虚拟端口遵循命名约定 sys-vportname,例如 sys-vport0。系统虚拟端口继承弹性虚拟交换机的属性。
验证所创建的弹性虚拟交换机。
MANAGER# evsadm NAME TENANT STATUS VNIC IP HOST EVS1 sys-global -- -- EVS1_ipnet -- vport0 -- free -- 192.168.100.2/24 --
检查与 EVS1/vport0 关联的 MAC 地址和 IP 地址。
MANAGER# evsadm show-vportprop -p macaddr,ipaddr EVS1/vport0 NAME TENANT PROPERTY PERM VALUE DEFAULT POSSIBLE EVS1/vport0 sys-global ipaddr r- 192.168.100.2/24 -- -- EVS1/vport0 sys-global macaddr r- 2:8:20:3c:78:bd -- --
连接到 vport0 的 VNIC 将继承该 IP 地址和 MAC 地址。为 vport0 指定的 IP 地址是 IPnet EVS1_ipnet 中下一个可用的 IP 地址,而 MAC 地址则是为 vport0 随机生成的。
检查与弹性虚拟交换机 EVS1 关联的 VLAN ID。
MANAGER# evsadm show-evs -L EVS TENANT VID VNI EVS1 sys-global 200 --
指定 EVS 控制器。
CN1# evsadm set-prop -p controller=ssh://evsuser@evs-controller.example.com
创建一个临时 VNIC vnic0 并将其连接到 EVS1/vport0。
CN1# dladm create-vnic -t -c EVS1/vport0 vnic0
验证所创建的 VNIC。
CN1# dladm show-vnic -c LINK TENANT EVS VPORT OVER MACADDRESS VIDS vnic0 sys-global EVS1 vport0 net2 2:8:20:3c:78:bd 200
vnic0 的 MAC 地址映射到 VPort 的 MAC 地址。
检查 vnic0 允许的 IP 地址。
CN1# dladm show-linkprop -p allowed-ips vnic0 LINK PROPERTY VALUE EFFECTIVE DEFAULT POSSIBLE vnic0 allowed-ips 192.168.100.2 192.168.100.2 -- --
allowed-ips 属性设置为与 VPort 关联的 IP 地址。在此设置下,您无法在 vnic0 上创建除 192.168.100.2 之外的任何其他 IP 地址。
为 vnic0 创建 IP 接口,并将 192.168.100.2 指定为 IP 地址。
# ipadm create-ip -t vnic0 # ipadm create-addr -t -a 192.168.100.2 vnic0
指定 EVS 控制器。
CN2# evsadm set-prop -p controller=ssh://evsuser@evs-controller.example.com
为区域 z1 配置 VNIC anet 资源并将其连接到弹性虚拟交换机。
CN2# zonecfg -z z1 Use 'create' to begin configuring a new zone zonecfg:z1> create create: Using system default template 'SYSdefault' zonecfg:z1> set zonepath=/export/zones/z1 zonecfg:z1> select anet linkname=net0 zonecfg:z1:anet> set evs=EVS1 zonecfg:z1:anet> end zonecfg:z1> commit zonecfg:z1> exit
安装并引导区域 z1。
CN2# zoneadm -z z1 install CN2# zoneadm -z z1 boot
登录到区域 z1 并完成区域配置。
CN2# zlogin -C z1
有关区域配置的更多信息,请参见创建和使用 Oracle Solaris 区域 。
验证所创建的 VNIC anet。
CN2# dladm show-vnic -c LINK TENANT EVS VPORT OVER MACADDRESS VIDS z1/net0 sys-global EVS1 sys-vport0 net2 2:8:20:1a:c1:e4 200
由于您在创建 VNIC anet 资源时未指定 VPort,因此 EVS 控制器将为 VNIC anet 资源创建一个系统 VPort sys-vport0。
显示与 VPort 相关的信息。
CN2# evsadm show-vport -o all NAME TENANT STATUS VNIC HOST MACADDR IPADDR EVS1/sys-vport0 sys-global used z1/net0 CN2 2:8:20:1a:c1:e4 192.168.100.3/24
VNIC anet 资源已激活并为其指定了 VPort 的 IP 地址。
验证 VNIC anet 资源 z1/net0 的 IP 地址。
CN2# zlogin z1 ipadm NAME CLASS/TYPE STATE UNDER ADDR lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 lo0/v6 static ok -- ::1/128 net0 ip ok -- -- net0/v4 inherited ok -- 192.168.100.3/24