OpenBMC 工具的基本命令和功能

OpenBMC 工具支持处理系统事件日志、更新系统固件、识别系统、关闭系统电源以及其他与服务相关的功能。

OpenBMC 工具顶层选项

进一步了解 OpenBMC 工具命令的顶级选项。

关于本任务

  • -H:BMC 的主机名或 IP 地址。
  • -U:登录时使用的用户名。
  • -A:提示输入密码。
  • -P:用户名密码。
  • -j:将输出格式更改为 JSON。
  • -t:要使用的策略表的位置。
  • -T:提供登录、运行命令和注销的时间统计。
  • -V:显示 OpenBMC 工具的当前版本。

系统事件日志命令

进一步了解 OpenBMC 工具的系统事件日志命令。

过程

  • 要以可读格式打印系统事件日志列表,请使用以下命令:
    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> sel print
  • 要列出原始数据的系统事件日志,请使用以下命令:
    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> sel list
  • 要将系统事件日志的状态更改为已解决,请使用以下命令:
    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> sel resolve -n x其中 x 是系统事件日志编号。
  • 要收集包括系统事件日志在内的所有服务数据,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> collect_service_data.

  • 要清除禁用硬件的 gard 记录,请使用以下命令:
    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> gardclear
  • 要清除警报日志条目,请使用以下命令:
    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> sel clear

系统固件更新命令

进一步了解系统固件更新命令。

过程

  • 要更新系统固件,请使用以下命令:
    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> firmware flash <bmc or pnor> -f xxx.tar其中 bmcpnor 是您希望闪存到系统中的映像类型。
    注意: 如果您与 TAR 文件不在同一文件夹中,则必须包含文件所在文件夹的完整路径。
  • 要激活 BMC 中可用的固件映像,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> firmware activate <firmware image ID>

系统识别命令

进一步了解系统识别命令。

过程

  • 要激活蓝色系统识别 LED 灯,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> chassis identify on

  • 要关闭蓝色系统识别 LED 灯,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> chassis identify off

  • 要检查蓝色系统识别 LED 指示灯的状态,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> chassis identify status

系统开机和关机命令

进一步了解系统开机和关机命令。

过程

  • 要检查系统电源状态,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> chassis power status

  • 要打开系统电源,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> chassis power on

  • 要正常关闭系统电源,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> chassis power softoff

  • 要立即关闭系统,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> chassis power hardoff

系统传感器指令

进一步了解系统传感器命令。

过程

要显示所有监控传感器的列表,请使用以下命令:

openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> sensors print

openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> sensors list

系统故障修复单元命令

进一步了解系统 FRU 命令。

过程

  • 要显示所有库存物品的清单,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> fru print

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> fru list

  • 要显示所有 FRU 项目的已知状态,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> fru status

    注: FRU 项目必须由 BMC 指定为可更换 FRU。
  • 要自动审查 FRU 状态命令并确定是否会对系统性能造成影响,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> health_check

    注意: 此命令不能保证系统健康,因为系统事件日志中可能存在与清单项目无关的条目。

系统 BMC 复位命令

进一步了解系统 BMC 复位命令。

过程

  • 要在不进行交流电循环的情况下远程重置 BMC,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> bmc reset warm

  • 要在不进行交流电循环的情况下远程冷重置 BMC,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> bmc reset cold

系统转储命令

进一步了解系统转储命令。

过程

  • 要创建新的转储文件,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> dump create

  • 要列出系统中的所有转储文件,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> dump list

  • 要从系统中删除特定转储文件,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> dump delete -n <dump file entry>

  • 要删除系统中的所有转储文件,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> dump delete all

  • 要检索特定转储文件,请使用以下命令:

    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> dump retrieve -n <dump file entry>

  • 要检索转储文件并将其保存到特定目录,请使用以下命令:
    openbmctool -U <username> -P <password> -H <BMC IP address or BMC host name> dump retrieve -s <location to save dump file>
    注意: 如果未指定位置,文件将保存在运行命令的操作系统的临时目录中。

启用和禁用本地 BMC 用户账户

了解有关 local_userscommands 的更多信息。

关于本任务

可以使用 local_users 子命令禁用、查询和重新启用 BMC 上的本地用户账户(如 root)。
注意: 禁用本地用户后,LDAP 用户需要与 BMC 进行进一步交互,包括使用 OpenBMC 工具启用本地用户。

过程

  • 要查看当前本地用户账户状态,请使用以下命令:

    openbmctool <connection options> local_users queryenabled

  • 要禁用所有本地用户账户,请使用以下命令:

    openbmctool <connection options> local_users disableall

  • 要启用所有本地用户账户,请使用以下命令:

    openbmctool <connection options> local_users enableall

使用 rsyslog 进行远程日志记录

进一步了解远程日志记录命令。

关于本任务

BMC 可以使用 RSYSLOG 流式传输本地日志(传输到 systemd 日志)。 BMC 会发送日志中的所有内容。 任何类型的过滤和适当存储都必须在 rsyslog 服务器上进行管理。

过程

  • 要配置 rsyslog 服务器进行远程日志记录,请使用以下命令:

    openbmctool <connection options> logging remote_logging_config -a <IP address> -p <port>

    注意: IP 地址和端口用于远程 rsyslog 服务器。 运行该命令后,远程 rsyslog 服务器开始接收来自 BMC 的日志。
  • 要禁用远程日志记录,请使用以下命令:

    openbmctool <connection options> logging remote_logging disable

    注意: 在将远程日志记录从现有远程服务器切换到新远程服务器之前,请禁用远程日志记录。
  • 要查看远程日志配置,请使用以下命令:

    openbmctool <connection options> logging remote_logging view

    注意: 该命令以 JavaScript Object Notation (JSON) 格式打印出远程 rsyslog 服务器的 IP 地址和端口。
  • 要打开 REST API 日志记录,请使用以下命令:

    openbmctool <connection options> logging rest_api on

  • 要关闭 REST API 日志记录,请使用以下命令:

    openbmctool <connection options> logging rest_api off

    注意: REST API 日志记录默认为关闭。

证书管理

进一步了解证书管理命令。

关于本任务

你可以用另一个(可能是 CA 签名的)证书和私钥文件替换现有的证书和私钥文件。 您可以安装服务器、客户端和根证书。

过程

  • 要更新 HTTPS 服务器证书,请使用以下命令:

    openbmctool <connection options> certificate update server https -f <File>

    注: <File> 是隐私增强邮件 (PEM) 文件,其中包含证书和私钥。
  • 要更新 LDAP 客户端证书,请使用以下命令:

    openbmctool <connection options> certificate update client ldap -f <File>

    注: <File> 是包含证书和私钥的 PEM 文件。
  • 要更新 LDAP 根证书,请使用以下命令:

    openbmctool <connection options> certificate update authority ldap -f <File>

    注意: <File> 是只包含证书的 PEM 文件。
  • 要删除 HTTPS 服务器证书,请使用以下命令:

    openbmctool <connection options> certificate delete server https

    注: 删除证书会创建并安装新的自签名证书。
  • 要删除 LDAP 客户端证书,请使用以下命令:

    openbmctool <connection options> certificate delete client ldap

  • 要删除 LDAP 根证书,请使用以下命令:

    openbmctool <connection options> certificate delete authority ldap

    注意: 删除根证书可能导致 LDAP 服务中断。

LDAP 配置

进一步了解 LDAP 配置命令。

关于本任务

在 BMC 中,LDAP 用于远程身份验证。 BMC 不支持远程用户管理功能。 BMC 支持安全和非安全 LDAP 配置。

过程

  • 要创建 LDAP 配置(非安全),请使用以下命令:

    openbmctool.py <connection options> ldap enable --uri="ldap://<ldap server IP/hostname>" --bindDN=<bindDN> --baseDN=<basDN> --bindPassword=<bindPassword> --scope="sub/one/base" --serverType="OpenLDAP/ActiveDirectory"

    注意:uri 参数中配置完全合格的域名或主机名需要在 BMC 上配置域名系统 (DNS) 服务器。
  • 要创建 LDAP 配置(安全),请使用以下命令:

    openbmctool.py <connection options> ldap enable --uri="ldaps://<ldap server IP/hostname>" --bindDN=<bindDN> --baseDN=<basDN> --bindPassword=<bindPassword> --scope="sub/one/base" --serverType="OpenLDAP/ActiveDirectory"

    注:
    1. 运行上述 openbmctool.py 命令字符串时,通常会遇到以下错误:

      xyz.openbmc_project.Common.Error.NoCACertificate

      该错误表示 BMC 客户端需要验证 LDAP 服务器证书是否由已知的认证机构 (CA) 签发。 管理员需要将 CA 证书上传到 BMC 才能解决此错误。

    2. OpenBMC 工具不支持单个 LDAP 配置属性更新。 要更新单个属性,管理员必须使用更改后的值重新创建 LDAP 配置。
  • 要删除 LDAP 配置,请使用以下命令:

    openbmctool.py <connection options> ldap disable

    注意: 运行该命令前必须启用 root 用户,否则无法访问 BMC。 要启用所有本地用户账户,请参阅启用和禁用本地用户账户
  • 要添加权限映射,请使用以下命令:

    openbmctool.py <connection options> ldap privilege-mapper create --groupName=<groupName> --privilege="priv-admin/priv-user"

  • 要删除权限映射,请使用以下命令:

    openbmctool.py <connection options> ldap privilege-mapper delete --groupName=<groupName>

  • 要列出权限映射,请使用以下命令:

    openbmctool.py <connection options> ldap privilege-mapper list

    LDAP 配置的正常工作流程如下:
    1. 配置 DNS 服务器。
    2. 配置 LDAP。
      1. 为安全 LDAP 配置配置 CA 证书。
      2. 使用本地用户创建 LDAP 配置。
    3. 配置用户权限。
    注:
    1. 如果使用 LDAP 凭据登录,但没有为 LDAP 凭据添加权限映射,则会收到以下错误信息:

      403,"LDAP 组权限映射不存在"。

      您可以通过添加权限映射来避免这一错误。

    2. 以下错误信息可能意味着用户在 BMC 上没有足够的权限:

      特权不足

      您可以通过添加权限映射来避免这一错误。

    3. 设置 LDAP 后, OpenBMC 工具的连接选项可同时使用 LDAP 和本地用户。

网络配置

进一步了解网络配置命令。

过程

  • 要启用 DHCP,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network enableDHCP -I <Interface name>

  • 要禁用 DHCP,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network disableDHCP -I <Interface name>

  • 要获取主机名,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network getHostName

  • 要设置主机名,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network setHostName -H <host name>

  • 要获取域名,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network getDomainName -I <Interface name>

  • 要设置域名,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network setDomainName -I <Interface name> -D DomainName1,DomainName2,..

  • 要获取介质访问控制 (MAC) 地址,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network getMACAddress -I <Interface name>

  • 要设置 MAC 地址,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network setMACAddress -I <Interface name> -MA xx:xx:xx:xx:xx

  • 要获取默认网关,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network getDefaultGW

  • 要设置默认网关,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network setDefaultGW -GW <default gw>

  • 要查看当前网络配置,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network view-config

  • 要获取网络时间协议 (NTP),请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network getNTP -I <Interface name>

  • 要设置 NTP,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network setNTP -I <Interface name> -N NTP1,NTP2,...

  • 要获取域名系统 (DNS),请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network getDNS -I <Interface name>

  • 要设置 DNS,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network setDNS -I <Interface name> -d DNS1,DNS2,...

  • 要获取 IP 地址,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network getIP -I <Interface name>

  • 要设置 IP 地址,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network addIP -a <ADDRESS> \-gw <GATEWAY> -l <PREFIXLENGTH> -p <protocol type> -I <Interface name>

  • 要删除 IP 地址,请使用以下命令:

    openbmctool.py -H <BMC_IP> -U root -P <root password> network rmIP -I <Interface name> -a <ADDRESS>

  • 要启用虚拟局域网 (VLAN),请使用以下命令:

    openbmctool.py <connection options> network addVLAN -I <Interface name> -n <IDENTIFIER>

  • 要禁用虚拟局域网 (VLAN),请使用以下命令:

    openbmctool.py <connection options> network deleteVLAN -I <Interface name>

  • 要查看 DHCP 配置属性,请使用以下命令:

    openbmctool.py <connection options> network viewDHCPConfig

  • 要配置 DHCP 属性,请使用以下命令:

    openbmctool.py <connection options> network configureDHCP -d <DNSENABLED> -n <HOSTNAMEENABLED> -t <NTPENABLED> -s <SENDHOSTNAMEENABLED>

    注: DNSENABLED, HOSTNAMEENABLED, NTPENABLED, 和 SENDHOSTNAMEENABLED 是布尔值(真或假)。
  • 要将网络设置重置为出厂默认设置,请使用以下命令:

    openbmctool.py <connection options> network nwReset

    注意: 重置设置将在 BMC 重新启动后应用。