附录 B. 电源管理驱动
虽然 IPMI 是 director 用来进行电源管理的主要方法,但是 director 也支持其它电源管理类型。本附录提供了 director 支持的电源管理功能列表。在 ??? 中都可以使用这些电源管理设置。
B.1. Dell Remote Access Controller (DRAC) 复制链接链接已复制到粘贴板!
DRAC 是一个提供远程电源功能的接口,这些功能包括电源管理和服务器监控。
- pm_type
-
把这个选项设置为
pxe_drac。 - pm_user; pm_password
- DRAC 的用户名和密码。
- pm_addr
- DRAC 主机的 IP 地址。
B.2. Integrated Lights-Out (iLO) 复制链接链接已复制到粘贴板!
iLO 是惠普提供的一个远程电源功能的接口,这些功能包括电源管理和服务器监控。
- pm_type
-
把这个选项设置为
pxe_ilo。 - pm_user; pm_password
- iLO 的用户名和密码。
- pm_addr
iLO 接口的 IP 地址。
-
编辑
/etc/ironic/ironic.conf文件,把pxe_ilo加入到enabled_drivers选项来启用这个驱动。 director 需要为 iLo 安装一组额外的工具程序。安装
python-proliantutils软件包并重启openstack-ironic-conductor服务:$ sudo yum install python-proliantutils $ sudo systemctl restart openstack-ironic-conductor.service- 为了成功进行內省,HP 节点必须是 2015 的固件版本。director 已经经过测试可以使用固件版本为 1.85(May 13 2015)的节点。
- 不支持使用共享 iLO 端口。
-
编辑
B.3. iBoot 复制链接链接已复制到粘贴板!
Dataprobe 提供的 iBoot 是一个为系统提供远程电源管理的电源单元。
- pm_type
-
把这个选项设置为
pxe_iboot。 - pm_user; pm_password
- iBoot 的用户名和密码。
- pm_addr
- iBoot 接口的 IP 地址。
- pm_relay_id(可选)
- iBoot 对于主机的中继 ID。默认值是 1。
- pm_port(可选)
iBoot 端口。默认值是 9100。
-
编辑
/etc/ironic/ironic.conf文件,把pxe_iboot加入到enabled_drivers选项来启用这个驱动。
-
编辑
B.4. Cisco Unified Computing System(UCS) 复制链接链接已复制到粘贴板!
Cisco 的 UCS 是一个数据中心平台,包括计算、网络、存储访问和虚拟化资源。这个驱动提供了对连接到 UCS 上的裸机系统的电源管理功能。
- pm_type
-
把这个选项设置为
pxe_ucs。 - pm_user; pm_password
- UCS 的用户名和密码。
- pm_addr
- UCS 接口的 IP 地址。
- pm_service_profile
使用的 UCS 服务配置集。通常的格式是
org-root/ls-[service_profile_name]。例如:"pm_service_profile": "org-root/ls-Nova-1"-
编辑
/etc/ironic/ironic.conf文件,把pxe_ucs加入到enabled_drivers选项来启用这个驱动。 director 需要为 UCS 安装一组额外的工具程序。安装
python-UcsSdk软件包并重启openstack-ironic-conductor服务:$ sudo yum install python-UcsSdk $ sudo systemctl restart openstack-ironic-conductor.service
-
编辑
Fujitsu 的 iRMC 是一个 BMC(Baseboard Management Controller),它集成了 LAN 连接以及扩展的功能。这个驱动提供了对连接到 iRMC 上的裸机系统的电源管理功能。
需要 iRMC S4 或更高版本。
- pm_type
-
把选项设置为
pxe_irmc。 - pm_user; pm_password
- iRMC 接口的用户名和密码。
- pm_addr
- iRMC 接口的 IP 地址。
- pm_port(可选)
- iRMC 操作使用的端口。默认值是 443。
- pm_auth_method(可选)
-
iRMC 操作的验证方法。使用
basic或digest。默认值是basic - pm_client_timeout(可选)
- iRMC 操作的超时值(以秒为单位)。默认值是 60 秒。
- pm_sensor_method(可选)
获得感应器数据的方法。使用
ipmitool或scci。默认值是ipmitool。-
编辑
/etc/ironic/ironic.conf文件,把pxe_irmc加入到enabled_drivers选项来启用这个驱动。 如果使用 SCCI 作为获得感应器数据的方法,则 director 还需要安装一组额外的工具程序。安装
python-scciclient软件包并重启openstack-ironic-conductor服务:$ yum install python-scciclient $ sudo systemctl restart openstack-ironic-conductor.service
-
编辑
B.6. 虚拟裸机控制器 (VBMC) 复制链接链接已复制到粘贴板!
director 可以使用虚拟机作为 KVM 主机上的节点。它通过仿真 IPMI 设备来控制这些虚拟机的电源管理。这样就可以使用 第 6.1 节 “为 overcloud 注册节点” 中的标准 IPMI 参数来管理虚拟节点。
这种电源管理方法替代了 第 B.7 节 “SSH 和 Virsh” 中的方法,后者现在已经弃用。
这一选项使用虚拟机而不是裸机节点,这意味着只用于测试和评估用途。我们不建议将其用于 Red Hat OpenStack Platform 企业级环境。
配置 KVM 主机
在 KVM 主机上,启用 OpenStack Platform 软件仓库并安装 python-virtualbmc 软件包:
$ sudo subscription-manager repos --enable=rhel-7-server-openstack-12-rpms
$ sudo yum install -y python-virtualbmc
使用 vbmc 命令为每个虚拟机创建虚拟裸机控制器 (BMC)。例如,如果准备为名为 Node01 和 Node02 的虚拟机创建 BMC,则运行以下命令:
$ vbmc add Node01 --port 6230 --username admin --password p455w0rd!
$ vbmc add Node02 --port 6231 --username admin --password p455w0rd!
这将定义访问每个 BMC 的端口,并设置每个 BMC 的身份验证详细信息。
每个虚拟机应使用不同的端口。低于 1025 的端口号需要在系统中具有 root 权限。
使用以下命令启动每个 BMC:
$ vbmc start Node01
$ vbmc start Node02
重启 KVM 主机之后,必须重复执行此步骤。
注册节点
在节点注册文件 (/home/stack/instackenv.json) 中使用以下参数:
- pm_type
-
将此选项设置为
pxe_ipmitool。 - pm_user; pm_password
- 节点的虚拟 BMC 设备的 IPMI 用户名和密码。
- pm_addr
- 包含节点的 KVM 主机的 IP 地址。
- pm_port
- 用于访问 KVM 主机上特定节点的端口。
- mac
- 节点上的网络接口的 MAC 地址列表。对于每个系统的 Provisioning NIC,只使用 MAC 地址。
例如:
{
"nodes": [
{
"pm_type": "pxe_ipmitool",
"mac": [
"aa:aa:aa:aa:aa:aa"
],
"pm_user": "admin",
"pm_password": "p455w0rd!",
"pm_addr": "192.168.0.1",
"pm_port": "6230",
"name": "Node01"
},
{
"pm_type": "pxe_ipmitool",
"mac": [
"bb:bb:bb:bb:bb:bb"
],
"pm_user": "admin",
"pm_password": "p455w0rd!",
"pm_addr": "192.168.0.1",
"pm_port": "6231",
"name": "Node02"
}
]
}
迁移现有节点
对于使用已弃用的 pxe_ssh 驱动的现有节点,可以进行迁移以使用新的虚拟 BMC 方法。以下命令演示了如何设置节点以使用 pxe_ipmitool 驱动及相关参数:
openstack baremetal node set Node01 \
--driver pxe_ipmitool \
--driver-info ipmi_address=192.168.0.1 \
--driver-info ipmi_port=6230 \
--driver-info ipmi_username="admin" \
--driver-info ipmi_password="p455w0rd!"
B.7. SSH 和 Virsh 复制链接链接已复制到粘贴板!
director 可以通过 SSH 访问运行 libvirt 的 KVM 主机并使用虚拟机作为节点。director 使用 virsh 来控制这些节点的电源管理。
这一选项已经弃用,我们更赞成使用 第 B.6 节 “虚拟裸机控制器 (VBMC)” 中的方法。如果您继续使用这种已经弃用的驱动,需要注意这只用于测试和评估用途。我们不建议将其用于 Red Hat OpenStack Platform 企业级环境。
- pm_type
-
把这个选项设置为
pxe_ssh。 - pm_user; pm_password
SSH 的用户名和 SSH 私钥的内容。如果使用 CLI 工具来注册节点,私钥必须在一行中,其中的新行以 转义字符 (
\n) 替代。例如:-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEA .... kk+WXt9Y=\n-----END RSA PRIVATE KEY-----把 SSH 公共密钥添加到 libvirt 服务器的
authorized_keys集合中。- pm_addr
virsh 主机的 IP 地址。
-
运行 libvirt 的服务器需要一个带有在
pm_password属性中设置的公共密钥的 SSH 密钥对。 -
确保所选的
pm_user可以完全访问 libvirt 环境。
-
运行 libvirt 的服务器需要一个带有在
B.8. Fake PXE 驱动 复制链接链接已复制到粘贴板!
这个驱动提供了一个在没有电源管理的情况下使用裸机的方法。这意味着,director 不控制注册的裸机设备,而是在内省以及部署过程的特定点上手工控制电源。
这个选项当前只用于测试和评估,我们不推荐在 Red Hat OpenStack Platform 企业级环境中使用它。
- pm_type
把这个选项设置为
fake_pxe。- 这个驱动不使用任何验证信息,因为它不控制电源管理。
编辑
/etc/ironic/ironic.conf文件,把fake_pxe加入到enabled_drivers选项来启用这个驱动。在编辑这个文件后重启 baremetal 服务:$ sudo systemctl restart openstack-ironic-api openstack-ironic-conductor-
在节点上执行内省(introspection)操作时,运行完
openstack baremetal introspection bulk start命令后需要手工启动节点。 -
在进行 overcloud 部署时,使用
ironic node-list命令检查节点的状态。等待节点状态由deploying变为deploy wait-callback后,再手动启动这个节点。 -
在 overcloud 部署完成后,重启节点。使用
ironic node-list命令来检查节点的状态,确定部署过程是否已完成。部署完成后,节点状态会变为active。然后,手动重启所有 overcloud 节点。