SNMP 驱动

SNMP 硬件类型支持控制数据中心机架中常见类型的配电单元 (PDU)。PDU 通常具有管理以太网接口和 SNMP 支持,从而可以控制电源插座。

SNMP 电源接口与 PXE 启动 接口配合使用,用于网络部署和网络配置启动。

注意

与大多数其他电源接口不同,SNMP 电源接口没有相应的管理接口。SNMP 硬件类型使用 noop 管理接口。

支持的设备列表

这是支持的设备的非详尽列表。表格中未列出的任何设备可能可以使用类似的驱动程序工作。

请报告任何设备状态。

制造商

型号

支持?

驱动程序名称

APC

AP7920

apc_masterswitch

APC

AP9606

apc_masterswitch

APC

AP9225

apc_masterswitchplus

APC

AP7155

apc_rackpdu

APC

AP7900

apc_rackpdu

APC

AP7901

apc_rackpdu

APC

AP7902

apc_rackpdu

APC

AP7911a

apc_rackpdu

APC

AP7921

apc_rackpdu

APC

AP7922

apc_rackpdu

APC

AP7930

apc_rackpdu

APC

AP7931

apc_rackpdu

APC

AP7932

apc_rackpdu

APC

AP7940

apc_rackpdu

APC

AP7941

apc_rackpdu

APC

AP7951

apc_rackpdu

APC

AP7960

apc_rackpdu

APC

AP7990

apc_rackpdu

APC

AP7998

apc_rackpdu

APC

AP8941

apc_rackpdu

APC

AP8953

apc_rackpdu

APC

AP8959

apc_rackpdu

APC

AP8961

apc_rackpdu

APC

AP8965

apc_rackpdu

Aten

全部?

aten

CyberPower

全部?

未测试

cyberpower

EatonPower

全部?

未测试

eatonpower

Teltronix

全部?

teltronix

BayTech

MRP27

baytech_mrp27

Raritan

PX3-5547V-V2

raritan_pdu2

Raritan

PX3-5726V

raritan_pdu2

Raritan

PX3-5776U-N2

raritan_pdu2

Raritan

PX3-5969U-V2

raritan_pdu2

Raritan

PX3-5961I2U-V2

raritan_pdu2

Vertiv

NU30212

vertivgeist_pdu

ServerTech

CW-16VE-P32M

servertech_sentry3

ServerTech

C2WG24SN

servertech_sentry4

软件要求

需要额外的 Python 库才能与 SNMP 通信。请参阅 driver-requirements.txt 以获取您发布版本的最新列表。

启用 SNMP 硬件类型

  1. snmp 添加到 ironic.conf 中的 enabled_hardware_types 列表中。 此外,更新 ironic.conf 中的 enabled_management_interfacesenabled_power_interfaces,如下所示

    [DEFAULT]
    enabled_hardware_types = snmp
    enabled_management_interfaces = noop
    enabled_power_interfaces = snmp
    
  2. 要启用网络启动回退,请更新 ironic.conf 中的 enable_netboot_fallback

    [pxe]
    enable_netboot_fallback = True
    

    注意

    重要的是启用回退,因为 SNMP 硬件类型不支持设置启动设备。 在传统 (BIOS) 模式下启动时,生成的网络启动工件将强制从本地磁盘启动。 在 UEFI 模式下,Ironic 将使用 UEFI 变量配置启动顺序。

  3. 重新启动 Ironic conductor 服务。

    service ironic-conductor restart
    

Ironic 节点配置

配置为使用 SNMP 硬件类型的节点应将 driver 字段设置为硬件类型 snmp

必须将以下属性值添加到节点的 driver_info 字段

  • snmp_driver:PDU 制造商驱动程序名称或 auto 以根据 PDU 报告的 SNMPv2-MIB::sysObjectID 值自动选择 ironic snmp 驱动程序。

  • snmp_address:控制此节点的 PDU 的 IPv4 地址。

  • snmp_port:(可选)用于 SNMP 操作的非标准 UDP 端口。 如果未指定,则使用默认端口 (161)。

  • snmp_outlet:PDU 上的电源插座(从 1 开始索引)。

  • snmp_version:(可选)SNMP 协议版本(允许的值 12c3)。 如果未指定,则选择 SNMPv1。

  • snmp_community:(对于 SNMPv1/SNMPv2c 必需,除非存在 snmp_community_read 和/或 snmp_community_write 属性,在这种情况下,后者优先)SNMP 社区名称参数,用于读取和写入 PDU。

  • snmp_community_read:SNMP 社区名称参数,用于读取 PDU。优先于 snmp_community 属性。

  • snmp_community_write:SNMP 社区名称参数,用于写入 PDU。优先于 snmp_community 属性。

  • snmp_user:(对于 SNMPv3 必需)SNMPv3 基于用户的安全模型 (USM) 用户名。 现在已过时的 snmp_security 参数的同义词。

  • snmp_auth_protocol:SNMPv3 消息身份验证协议 ID。 有效值包括:nonemd5sha 对于所有 pysnmp 版本,以及对于 pysnmp 版本 4.4.1 及更高版本,sha224sha256sha384sha512。 默认值为 none,除非提供了 snmp_auth_key。 在后一种情况下,默认值为 md5

  • snmp_auth_key:SNMPv3 消息身份验证密钥。 必须长于 8 个字符。 使用消息身份验证时需要。

  • snmp_priv_protocol:SNMPv3 消息隐私(加密)协议 ID。 有效值包括:nonedes3desaesaes192aes256 对于所有 pysnmp 版本,以及对于 pysnmp 版本 4.4.3+,aes192blmtaes256blmt。 请注意,消息隐私需要使用消息身份验证。 默认值为 none,除非提供了 snmp_priv_key。 在后一种情况下,默认值为 des

  • snmp_priv_key:SNMPv3 消息隐私(加密)密钥。 必须长于 8 个字符。 使用消息加密时需要。

  • snmp_context_engine_id:SNMPv3 上下文引擎 ID。 默认值为权威引擎 ID 的值。

  • snmp_context_name:SNMPv3 上下文名称。 默认值为空字符串。

可以使用以下命令注册使用 snmp 硬件类型的节点

baremetal node create \
--driver snmp --driver-info snmp_driver=<pdu_manufacturer> \
--driver-info snmp_address=<ip_address> \
--driver-info snmp_outlet=<outlet_index> \
--driver-info snmp_community=<community_string>