必须只配置一个计算节点作为网络中的 EVS 控制器,然后在每个 EVS 节点上设置 EVS 控制器,以便 EVS 节点可以与 EVS 控制器通信。但是,您只需要从可与 EVS 控制器通信的任何节点设置一次 EVS 控制器的属性。可以使用 evsadm set-controlprop 命令设置 EVS 控制器的属性。有关更多信息,请参见如何配置 EVS 控制器。
也可以重置 EVS 控制器的属性。Example 6–2 说明了如何重置 EVS 控制器的属性。有关 EVS 控制器及其属性的信息,请参见 EVS 控制器。
要简化弹性虚拟交换机的配置,您需要以 evsuser 身份进行连接。在安装必需的 EVS 软件包 (service/network/evs) 时,将创建一个特殊用户 evsuser,并向其指定“弹性虚拟交换机管理”权限配置文件。此配置文件包含执行 EVS 操作的所有授权和特权。要使用 evsuser,您需要按如下所示设置 controller 属性:
# evsadm set-prop -p controller=ssh://evsuser@evs-controller-hostname-or-IP-address
此外,您还必须使用在运行 evsadm 命令的主机与 EVS 控制器之间预先共享的公钥来设置 SSH 验证。
您需要采用具有预先共享的公钥的 SSH 验证,使 evsadm 命令能够以非交互模式安全地与 EVS 控制器通信。在 EVS 设置中,需要使用在以下组件之间为 evsuser 预先共享的公钥来设置 SSH 验证:
EVS 管理器和 EVS 控制器-将在 EVS 管理器上运行 evsadm 命令的管理员或用户的公钥附加到 EVS 控制器上的 /var/user/evsuser/.ssh/authorized_keys 文件中。
EVS 节点和 EVS 控制器-将每个 EVS 节点上的 root 用户的公钥附加到 EVS 控制器上的 /var/user/evsuser/.ssh/authorized_keys 文件中。需要附加这些公钥的原因是 zoneadmd 守护进程以 root 用户的身份运行。该守护进程连接到 EVS 控制器,并检索 VNIC anet 资源的配置信息。有关更多信息,请参见 zoneadmd(1M) 手册页。
EVS 控制器和 EVS 节点-将 EVS 控制器上的 evsuser 的公钥附加到每个 EVS 节点上的 /var/user/evsuser/.ssh/authorized_keys 文件,因为 EVS 控制器将与每个 EVS 节点进行通信来设置 VPort 属性。
下图显示了设置 EVS 组件之间的 SSH 验证。
图 6-1 EVS 设置中的 SSH 验证
设置 SSH 验证后,需要指定 EVS 控制器。假定 controller 属性设置为 EVS 节点、EVS 管理器和 EVS 控制器上的 ssh://evsuser@evs-controller.example.com。
以下过程说明如何设置 SSH 验证。
evs-node# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: a0:64:de:3d:c8:26:59:cb:4a:46:b9:1d:17:04:7d:bf root@evs-node
evs-node# ssh evsuser@evs-controller The authenticity of host 'evs-controller (192.168.100.10)' can't be established. RSA key fingerprint is 73:66:81:15:0d:49:46:e0:1d:73:32:77:4f:7c:24:a5. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'evs-controller' (RSA) to the list of known hosts. Last login: Wed Jun 11 14:36:28 2014 from evs-controller Oracle Corporation SunOS 5.11 11.2 April 2014 evsuser@evs-controller$
该输出显示您可以从 EVS 节点以 evsuser 身份登录 EVS 控制器,而不需要使用口令。
evs-manager# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: a0:64:de:3d:c8:26:59:cb:4a:46:b9:1d:17:04:7e:bf root@evs-manager
evs-manager# ssh evsuser@evs-controller The authenticity of host 'evs-controller (192.168.100.10)' can't be established. RSA key fingerprint is 73:66:81:15:0d:49:46:e0:1d:73:32:77:4f:7c:24:a5. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'evs-controller' (RSA) to the list of known hosts. Last login: Wed Jun 11 14:38:28 2014 from evs-controller Oracle Corporation SunOS 5.11 11.2 April 2014 evsuser@evs-controller$
该输出显示您可以从 EVS 管理器以 evsuser 身份登录 EVS 控制器,而不需要使用口令。
evs-controller# su - evsuser
evsuser@evs-controller$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/var/user/evsuser/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /var/user/evsuser/.ssh/id_rsa. Your public key has been saved in /var/user/evsuser/.ssh/id_rsa.pub. The key fingerprint is: a0:64:de:3d:c8:26:59:cb:4a:46:b9:1e:17:04:7d:bf evsuser@evs-controller
evsuser@evs-controller$ ssh evsuser@evs-node The authenticity of host 'evs-node (192.168.100.20)' can't be established. RSA key fingerprint is 73:66:89:15:0d:49:46:e0:1d:73:32:77:4f:7c:24:a5. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'evs-node' (RSA) to the list of known hosts. Last login: Wed Jun 11 14:40:28 2014 from evs-node Oracle Corporation SunOS 5.11 11.2 April 2014 evsuser@evs-node$
该输出显示您可以从 EVS 控制器以 evsuser 身份登录 EVS 节点,而不需要使用口令。
注意 - 如果没有在 EVS 设置期间设置 SSH 验证,evsadm 命令将无法以非交互模式安全地与 EVS 控制器通信。 |
开始之前
使用在运行 evsadm 命令的主机与 EVS 控制器之间预先共享的密钥设置 SSH 验证。
# evsadm set-prop -p controller=[value[...,]]
此命令为执行此命令的主机设置属性值。唯一支持的属性是 controller,格式可以是:ssh://[user@]evs-controller-host-name 或 ssh://[user@]evs-controller-IP-address。
# evsadm show-prop [[-c] -o field[,...]] [-p controller[,...]]
有关更多信息,请参见显示 EVS 控制器。
# evsadm set-controlprop [-h host] -p prop=[value[...,]]
有关更多信息,请参见设置 EVS 控制器的属性。
# evsadm show-controlprop [[-c] -o field[,...]] [-p prop[,...]]
有关更多信息,请参见显示 EVS 控制器的属性。
以下示例说明了如何将主机 s11-server 配置为 EVS 控制器,其 L2 网段是使用 VXLAN 创建的。
# evsadm set-prop -p controller=ssh://evsuser@s11-server # evsadm show-prop PROPERTY PERM VALUE DEFAULT controller rw ssh://evsuser@s11-server -- # evsadm set-controlprop -p l2-type=vxlan # evsadm set-controlprop -p vxlan-range=10000-20000 # evsadm set-controlprop -p vxlan-addr=192.168.10.0/24 # evsadm set-controlprop -h s11-server -p uplink-port=net3 # evsadm set-controlprop -h s11-client -p uplink-port=net4 # evsadm show-controlprop PROPERTY PERM VALUE DEFAULT HOST l2-type rw vxlan vlan -- uplink-port rw net3 -- s11-server uplink-port rw net4 -- s11-client vlan-range rw -- -- -- vlan-range-avail r- -- -- -- vxlan-addr rw 192.168.10.0/24 0.0.0.0 -- vxlan-ipvers rw v4 v4 -- vxlan-mgroup rw 0.0.0.0 0.0.0.0 -- vxlan-range rw 10000-20000 -- -- vxlan-range-avail r- 10000-20000 -- --
在此示例中,vxlan-range-avail 属性显示了可用于实现弹性虚拟交换机的 VXLAN ID (10000-20000)。属于子网 192.168.10.0/24 的一个 IP 接口用于在 EVS 节点上创建 VXLAN 链路。
以下示例说明了如何将 IP 地址为 192.168.100.1 的主机配置为 EVS 控制器,其 L2 网段是使用 VLAN 创建的。
# evsadm set-prop -p controller=ssh://evsuser@192.168.100.1 # evsadm set-controlprop -p l2-type=vlan # evsadm set-controlprop -p vlan-range=200-300,400-500 # evsadm set-controlprop -p uplink-port=net2 # evsadm set-controlprop -h host2.example.com -p uplink-port=net3 # evsadm set-controlprop -h host3.example.com -p uplink-port=net4
该输出显示为弹性虚拟交换机预留了 VLAN ID 200-300 和 400-500。除了 host2.example.com 和 host3.example.com 之外,所有主机上的数据链路 net2 均为 uplink-port。在 host2 上,数据链路 net3 用作 uplink-port,而在 host3 上,数据链路 net4 用作 uplink-port。
示例 6-2 重置 EVS 控制器的属性以下示例说明了如何重置控制器属性 uplink-port。
# evsadm show-controlprop -p uplink-port PROPERTY PERM VALUE DEFAULT HOST uplink-port rw net2 -- -- # evsadm set-controlprop -p uplink-port= # evsadm show-controlprop -p uplink-port PROPERTY PERM VALUE DEFAULT HOST uplink-port rw -- -- --