在 Oracle® Solaris 11.2 中管理网络虚拟化和网络资源

退出打印视图

更新时间: 2014 年 9 月
 
 

使用案例:为租户配置弹性虚拟交换机

目标-此使用案例说明了如何为租户设置一个跨越两个计算节点的弹性虚拟交换机 (HR)。

在此使用案例中,您将 CN1 上的 VNIC vnic0 和区域 z1 的 VNIC anet 连接到弹性虚拟交换机 HR,使它们属于同一 L2 网段并且可以在 VXLAN 上彼此相互通信。这些 VNIC 属于租户 tenantA。下图显示了 EVS 设置。

图 6-3  租户的弹性虚拟交换机配置

image:此图显示了在两个计算节点之间配置的 EVS。

此图显示了一个具有四个节点且包含以下组件的网络:

  • 两个计算节点(CN1CN2

  • CN2 上具有 VNIC anet 资源的区域 z1

  • CN1 上的 VNIC vnic0

  • 一个充当 EVS 控制器的节点 CONTROLLER

  • 一个充当您需要在其上运行 evsadm 命令的 EVS 管理器的节点 MANAGER

  • 一个用于实现弹性虚拟交换机 HR 的 VXLAN

  • uplink-port,指定用于 VXLAN 的数据链路

规划弹性虚拟交换机设置

  1. 安装必需的 EVS 软件包。有关所需软件包的信息,请参见使用 EVS 时必需的软件包


    注 -  evsuser 是在安装 pkg:/service/network/evs 软件包时创建的特定用户。用户 evsuser 指定有“弹性虚拟交换机管理”权限配置文件。此配置文件提供用于执行 EVS 操作的所有授权和特权。
  2. 在 EVS 设置中,使用在以下组件之间为 evsuser 预先共享的公钥来设置 SSH 验证:

    • EVS 管理器和 EVS 控制器

    • 每个 EVS 节点和 EVS 控制器

    • EVS 控制器和每个 EVS 节点

    有关更多信息,请参见设置 SSH 验证


    注 -  该用例假定 controller 属性设置为每个 EVS 节点、EVS 管理器和 EVS 控制器上的 ssh://evsuser@evs-controller.example.com
  3. 配置 EVS 控制器并设置控制器属性。

    1. 在所有计算节点上设置 EVS 控制器,然后设置控制器属性以指定如何跨计算节点实现弹性虚拟交换机。

    2. 指定属性 l2-typevxlan-rangeuplink-port。否则,您无法创建弹性虚拟交换机。

  4. 创建弹性虚拟交换机。您必须关联一个 IPnet 并将 VPort 添加到弹性虚拟交换机中。

  5. CN1 上创建一个临时 VNIC,并将该 VNIC 连接到弹性虚拟交换机的 VPort。

  6. 在区域 z1 上创建 VNIC anet 并将 VNIC anet 资源连接到弹性虚拟交换机。

EVS 管理器操作

  1. 设置 EVS 控制器。

    MANAGER# evsadm set-prop -p controller=ssh://evsuser@evs-controller.example.com
  2. 设置 EVS 控制器属性。

    1. 设置必须用于弹性虚拟交换机的 L2 拓扑类型。此示例使用了 VXLAN。

      MANAGER# evsadm set-controlprop -p l2-type=vxlan
    2. 设置 VXLAN 范围。

      MANAGER# evsadm set-controlprop -p vxlan-range=200-300
    3. 指定用于 VXLAN 的数据链路 (uplink-port)。

      MANAGER# evsadm set-controlprop -p uplink-port=net2
      MANAGER# evsadm set-controlprop -h CN2 -p uplink-port=net3

    注 -  您可以从数据中心的任何节点配置控制器,只要您可以连接到 EVS 控制器并且具有必需的授权即可。有关更多信息,请参见使用 EVS 时的安全要求
  3. 验证 EVS 控制器属性。

    MANAGER# evsadm show-controlprop -p l2-type,vxlan-range,uplink-port
    NAME                VALUE               DEFAULT             HOST
    l2-type             vxlan               vlan                --
    vxlan-range         200-300             --                  --
    uplink-port         net2                --                  --
    uplink-port         net3                --                  CN2
  4. 为租户 tenantA 创建弹性虚拟交换机 HR

    MANAGER# evsadm create-evs -T tenantA HR
  5. 将 IPnet hr_ipnet 添加到弹性虚拟交换机 HR

    MANAGER# evsadm add-ipnet -T tenantA -p subnet=192.168.100.0/24 HR/hr_ipnet
  6. 将 VPort vport0 添加到弹性虚拟交换机 HR

    MANAGER# evsadm add-vport -T tenantA HR/vport0
  7. 验证为租户 tenantA 创建的弹性虚拟交换机。

    MANAGER# evsadm
    NAME          TENANT        STATUS VNIC         IP                HOST
    HR            tenantA       --     --           hr_ipnet          --
       vport0     --            free   --           192.168.100.2/24  --
  8. 检查与 HR/vport0 关联的 MAC 地址和 IP 地址。

    MANAGER# evsadm show-vportprop -p macaddr,ipaddr HR/vport0
    NAME          TENANT    PROPERTY  PERM VALUE             DEFAULT   POSSIBLE
    HR/vport0     tenantA   ipaddr    r-   192.168.100.2/24  --        --
    HR/vport0     tenantA   macaddr   r-   2:8:20:d8:da:10   --        --
  9. 检查与弹性虚拟交换机 HR 关联的 VXLAN 网段 ID。

    MANAGER# evsadm show-evs -L
    EVS           TENANT        VID VNI
    HR            tenantA       --  200

计算节点 CN1 操作

  1. 指定 EVS 控制器。

    CN1# evsadm set-prop -p controller=ssh://evsuser@evs-controller.example.com
  2. 创建临时的 VNIC vnic0 并将其连接到弹性虚拟交换机 HR/vport0

    CN1# dladm create-vnic -t -T tenantA -c HR/vport0 vnic0
  3. 验证所创建的 VNIC。

    CN1# dladm show-vnic -c
    LINK   TENANT    EVS   VPORT     OVER           MACADDRESS        VIDS
    vnic0  tenantA   HR    vport0    evs-vxlan200   2:8:20:d8:da:10   0

    vnic0 的 MAC 地址映射到 VPort 的 MAC 地址。

  4. 检查 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 地址。

  5. vnic0 创建 IP 接口,并将 192.168.100.2 指定为 IP 地址。

    # ipadm create-ip -t vnic0
    # ipadm create-addr -t -a 192.168.100.2 vnic0
  6. 检查自动生成的 VXLAN 数据链路。

    CN1# dladm show-vxlan
    LINK                ADDR                     VNI   MGROUP
    evs-vxlan200        0.0.0.0                  200   224.0.0.1

计算节点 CN2 操作

  1. 指定 EVS 控制器。

    CN2# evsadm set-prop -p controller=ssh://evsuser@evs-controller.example.com
  2. 为区域 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> set tenant=tenantA
    zonecfg:z1> select anet linkname=net0
    zonecfg:z1:anet> set evs=HR
    zonecfg:z1:anet> end
    zonecfg:z1> commit
    zonecfg:z1> exit
    
  3. 安装并引导区域 z1

    CN2# zoneadm -z z1 install
    CN2# zoneadm -z z1 boot
  4. 登录到区域 z1 并完成区域配置。

    CN2# zlogin -C z1

    有关区域配置的更多信息,请参见创建和使用 Oracle Solaris 区域

  5. 验证所创建的 VNIC anet 资源。

    CN2# dladm show-vnic -c
    LINK      TENANT   EVS   VPORT       OVER          MACADDRESS        VIDS
    z1/net0   tenantA  HR    sys-vport0  evs-vxlan200  2:8:20:1a:c1:e4   0

    因为未指定 VPort,所以 EVS 控制器将为 VNIC anet 资源创建一个系统 VPort sys-vport0

  6. 显示与 VPort 相关的信息。

    CN2# evsadm show-vport -o all
    NAME            TENANT  STATUS VNIC     HOST MACADDR         IPADDR
    HR/sys-vport0   tenantA used   z1/net0  CN2  2:8:20:1a:c1:e4 192.168.100.3/24

    VNIC anet 资源已激活并为其指定了 VPort 的 IP 地址。

  7. 验证 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