第 23 章 使用 rhel_mgmt 集合通过 IPMI 和 Redfish 进行远程管理


使用智能平台管理接口(IPMI)和 Redfish API,管理员也可以远程管理主机,即使操作系统没有运行。rhel_mgmt Ansible 集合提供了使用 IPMI 和 Redfish 执行某些远程操作的模块,如设置引导设备。

23.1. 使用 rhel_mgmt.ipmi_boot 模块设置引导设备

您可以使用 redhat.rhel_mgmt 集合的 ipmi_boot 模块来设置主机的引导设备。此模块使用智能平台管理接口(IPMI)执行此操作。

重要

当您使用此 Ansible 模块时,会涉及三个主机:控制节点、受管节点,以及应用实际 IPMI 操作的基板管理控制器(BMC)的主机。控制节点在受管节点上执行 playbook。受管主机连接到远程 BMC 以执行 IPMI 操作。例如,如果您在 playbook 中设置 hosts: managed-node-01.example.comname: server.example.com,则 managed-node-01.example.com 将通过使用 server.example.com 上的 IPMI 更改设置。

先决条件

  • 您已准备好控制节点和受管节点
  • 以可在受管主机上运行 playbook 的用户登录到控制节点。
  • 用于连接到受管节点的帐户具有 sudo 权限。
  • ansible-collection-redhat-rhel_mgmt 软件包安装在控制节点上。
  • 您有凭证来访问 BMC,这些凭证有更改设置的权限。
  • 受管节点可以通过网络访问远程 BMC。

流程

  1. 将您的敏感变量存储在一个加密文件中:

    1. 创建 vault :

      $ ansible-vault create ~/vault.yml
      New Vault password: <vault_password>
      Confirm New Vault password: <vault_password>
      Copy to Clipboard
    2. ansible-vault create 命令打开编辑器后,以 <key>: <value> 格式输入敏感数据:

      ipmi_usr: <username>
      ipmi_pwd: <password>
      Copy to Clipboard
    3. 保存更改,并关闭编辑器。Ansible 加密 vault 中的数据。
  2. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Set the boot device by using IPMI
      hosts: managed-node-01.example.com
      vars_files:
        - ~/vault.yml
      tasks:
        - name: Install python3-pyghmi prerequisite
          ansible.builtin.dnf:
            name: python3-pyghmi
            state: latest
    
        - name: Set the boot device to hd
          redhat.rhel_mgmt.ipmi_boot:
            name: <bmc_hostname_or_ip_address>
            port: <bmc_port_number>
            user: "{{ ipmi_usr }}"
            password: "{{ ipmi_pwd }}"
            bootdev: hd
            persistent: true
    Copy to Clipboard

    示例 playbook 中指定的设置包括以下内容:

    name: <bmc_hostname_or_ip_address>
    定义 BMC 的主机名或 IP 地址。这是受管节点在其上执行操作的主机的 BMC。
    port: <bmc_port_number>
    设置远程管理控制协议(RMCP)端口号。默认值为 623
    bootdev: <value>

    设置引导设备。您可以选择以下值之一:

    • hd: 从硬盘引导。
    • 网络 :从网络引导.
    • 学:从光驱(如 DVD-ROM)引导。
    • floppy :从软盘引导.
    • 安全 :在安全模式下从硬盘驱动器引导.
    • 设置 :引导到 BIOS 或 UEFI。
    • 默认 :删除任何 IPMI 直接引导设备请求。
    persistent: <true|false>
    配置远程主机是否对所有引导都使用定义的设置,还是只针对下一个配置。默认情况下,此变量设置为 false。请注意,并非所有 BMC 都支持永久设置引导设备。

    如需有关 playbook 中使用的所有变量的详细信息,请在控制节点上使用 ansible-doc redhat.rhel_mgmt.ipmi_boot 命令来显示模块的文档。

  3. 验证 playbook 语法:

    $ ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml
    Copy to Clipboard

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  4. 运行 playbook:

    $ ansible-playbook --ask-vault-pass ~/playbook.yml
    Copy to Clipboard
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat