Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

附录 B. 电源管理驱动

虽然 IPMI 是 director 用来进行电源管理的主要方法,但是 director 也支持其它电源管理类型。本附录提供了 director 支持的电源管理功能列表。在 第 6.1 节 “为 overcloud 注册节点” 中都可以使用这些电源管理设置。

B.1. Redfish

由分布式管理任务组 (DMTF) 开发的,IT 基础架构的标准 RESTful API

pm_type
将这个选项设置为 redfish
pm_user; pm_password
Redfish 的用户名和密码。
pm_addr
Redfish 控制器的 IP 地址。
pm_system_id
系统资源的规范路径(canonical path)。该路径应该包含系统的根服务、版本和路径/唯一 ID。例如:/redfish/v1/Systems/CX34R87.

B.2. Dell Remote Access Controller (DRAC)

DRAC 是一个提供远程电源功能的接口,这些功能包括电源管理和服务器监控。

pm_type
将这个选项设置为 idrac
pm_user; pm_password
DRAC 的用户名和密码。
pm_addr
DRAC 主机的 IP 地址。

B.3. Integrated Lights-Out (iLO)

iLO 是惠普提供的一个远程电源功能的接口,这些功能包括电源管理和服务器监控。

pm_type
将这个选项设置为 ilo
pm_user; pm_password
iLO 的用户名和密码。
pm_addr

iLO 接口的 IP 地址。

  • 要启用这个驱动器,请将 ilo 添加到 undercloud.confenabled_hardware_types 选项中,然后重新运行 openstack undercloud install
  • 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.4. Cisco Unified Computing System(UCS)

Cisco 的 UCS 是一个数据中心平台,包括计算、网络、存储访问和虚拟化资源。这个驱动提供了对连接到 UCS 上的裸机系统的电源管理功能。

pm_type
将这个选项设置为 cisco-ucs-managed
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"
  • 要启用这个驱动器,请将 cisco-ucs-managed 添加到 undercloud.confenabled_hardware_types 选项中,然后重新运行 openstack undercloud install
  • director 需要为 UCS 安装一组额外的工具程序。安装 python-UcsSdk 软件包并重启 openstack-ironic-conductor 服务:

    $ sudo yum install python-UcsSdk
    $ sudo systemctl restart openstack-ironic-conductor.service

B.5. Fujitsu Integrated Remote Management Controller (iRMC)

Fujitsu 的 iRMC 是一个 BMC(Baseboard Management Controller),它集成了 LAN 连接以及扩展的功能。这个驱动提供了对连接到 iRMC 上的裸机系统的电源管理功能。

重要

需要 iRMC S4 或更高版本。

pm_type
将这个选项设置为 irmc
pm_user; pm_password
iRMC 接口的用户名和密码。
pm_addr
iRMC 接口的 IP 地址。
pm_port(可选)
iRMC 操作使用的端口。默认值是 443。
pm_auth_method(可选)
iRMC 操作的验证方法。使用 basicdigest。默认值是 basic
pm_client_timeout(可选)
iRMC 操作的超时值(以秒为单位)。默认值是 60 秒。
pm_sensor_method(可选)

获得感应器数据的方法。使用 ipmitoolscci。默认值是 ipmitool

  • 要启用这个驱动器,请将 irmc 添加到 undercloud.confenabled_hardware_types 选项中,然后重新运行 openstack undercloud install
  • 如果使用 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 参数来管理虚拟节点。

重要

这一选项使用虚拟机而不是裸机节点,这意味着只用于测试和评估用途。我们不建议将其用于 Red Hat OpenStack Platform 企业级环境。

配置 KVM 主机

在 KVM 主机上,启用 OpenStack Platform 软件仓库并安装 python-virtualbmc 软件包:

$ sudo subscription-manager repos --enable=rhel-7-server-openstack-13-rpms
$ sudo yum install -y python-virtualbmc

使用 vbmc 命令为每个虚拟机创建虚拟基板管理控制器 (BMC)。例如,如果准备为名为 Node01Node02 的虚拟机创建 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
将这个选项设置为 ipmi
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. Red Hat Virtualization

这个驱动通过其 RESTful API 控制 Red Hat Virtualization 中的虚拟机。

pm_type
将这个选项设置为 staging-ovirt
pm_user; pm_password
Red Hat Virtualization 环境的用户名和密码。该用户名中还含有认证供应商。例如:admin@internal
pm_addr
Red Hat Virtualization REST API 的 IP 地址。
pm_vm_name
要控制的虚拟机的名称。
mac

节点上的网络接口的 MAC 地址列表。对于每个系统的 Provisioning NIC,只使用 MAC 地址。

  • 要启用这个驱动器,请将 staging-ovirt 添加到 undercloud.confenabled_hardware_types 选项中,然后重新运行 openstack undercloud install

B.8. Fake Driver

这个驱动提供了一个在没有电源管理的情况下使用裸机的方法。这意味着,director 不控制注册的裸机设备,而是在内省以及部署过程的特定点上手工控制电源。

重要

这个选项当前只用于测试和评估,我们不推荐在 Red Hat OpenStack Platform 企业级环境中使用它。

pm_type

将这个选项设置为 fake

  • 这个驱动不使用任何验证信息,因为它不控制电源管理。
  • 要启用这个驱动器,请将 fake 添加到 undercloud.confenabled_hardware_types 选项中,然后重新运行 openstack undercloud install
  • 在节点上执行内省操作时,运行完 openstack overcloud node introspect 命令后需要手工启动节点。
  • 在进行 overcloud 部署时,使用 ironic node-list 命令检查节点的状态。等待节点状态由 deploying 变为 deploy wait-callback 后,再手动启动这个节点。
  • 在 overcloud 部署完成后,重启节点。使用 ironic node-list 命令来检查节点的状态,确定部署过程是否已完成。部署完成后,节点状态会变为 active。然后,手动重启所有 overcloud 节点。