12 适用于 MD 软件 RAID 的存储机箱 LED 实用程序 #
存储机箱 LED 监视实用程序 (ledmon
) 和 LED 控件 (ledctl
) 实用程序属于 Linux 用户空间应用程序,它们使用多种接口和协议来控制存储机箱 LED。主要用途是视觉化显示使用 mdadm 实用程序创建的 Linux MD 软件 RAID 设备的状态。ledmon
守护程序会监视驱动器阵列的状态,然后相应更新驱动器 LED 的状态。您可以使用 ledctl
实用程序为指定的设备设置 LED 模式。
这些 LED 实用程序使用 SGPIO(通用串行输入/输出)规范(小型 (SFF) 8485)以及 SCSI 机箱服务 (SES) 2 协议控制 LED。它们实施 SGPIO 的 SFF-8489 规范中的国际闪烁模式解释 (IBPI) 模式。IBPI 定义了 SGPIO 标准将如何解释成驱动器以及底板上各插槽的状态,以及底板将如何通过 LED 视觉化显示状态。
有些存储机箱并未严格遵循 SFF-8489 规范。机箱处理器可能会接受 IBPI 模式,但不会按照 SFF-8489 规范闪烁 LED,或者处理器可能仅支持部分 IBPI 模式。
ledmon
以及 ledctl
实用程序不支持 LED 管理(AHCI) 和 SAF-TE 协议。
ledmon
和 ledctl
应用程序经验证可以用于 Intel AHCI 控制器以及 Intel SAS 控制器等 Intel 存储控制器。它们还支持使用 PCIe-SSD(固态硬盘)机箱 LED 来控制属于 MD 软件 RAID 卷一部分的 PCIe-SSD 设备的存储机箱状态(正常、故障、正在重建)LED。这些应用程序也可能可以用于其他供应商提供的符合 IBPI 的存储控制器(特别是 SAS/SCSI 控制器);不过其他供应商的控制器未经过测试。
ledmon
和 ledctl
都属于 ledmon
软件包,该包在默认状态下不予安装。运行 sudo zypper in
ledmon
可安装该软件包。
12.1 存储机箱 LED 监视服务 #
ledmon
应用程序是一个守护程序进程,它会持续监视 MD 软件 RAID 设备的状态或存储机箱或驱动器机架中块设备的状态。一次只能运行一个该守护程序的实例。ledmon
守护程序是 Intel 机箱 LED 实用程序的一部分。
状态通过与存储阵列机箱或驱动器机架中的每个槽对应的 LED 视觉化显示。应用程序会监视所有软件 RAID 设备并视觉化显示其状态。无法通过该应用程序仅监视选定的软件 RAID 卷。
ledmon
守护程序支持两类 LED 系统:双 LED 系统(活动 LED 和状态 LED)与三 LED 系统(活动 LED、查找 LED 和故障 LED)。此工具在访问 LED 时具有最高优先级。
要启动 ledmon
,请输入
>
sudo
ledmon [options]
其中 [options] 是下列一或多项:
ledmon
的选项 #-c PATH
,--confg=PATH
配置从
~/.ledctl
或/etc/ledcfg.conf
(如果存在)中读取。使用此选项来指定替代的配置文件。目前此选项无效,因为尚未实施对配置文件的支持。有关详细信息,请参见
man 5 ledctl.conf
。- -l PATH , --log=PATH
设置本地日志文件的路径。如果指定此用户定义的文件,将不会使用全局日志文件
/var/log/ledmon.log
。-t SECONDS
,--interval=SECONDS
设置
sysfs
的扫描间隔时间。该值以秒为单位。最小值为 5 秒。不指定最大值。--quiet
,--error
,--warning
,--info
,--debug
,--all
指定冗长级别。级别选项按从无信息到最详细信息的顺序指定。使用
--quiet
选项不会记录任何内容。使用--all
选项则可记录所有内容。如果指定多个冗长选项,则会应用命令中的最后一个选项。-h
,--help
将命令信息打印至控制台,然后退出。
-v
,--version
显示
ledmon
的版本以及许可证的相关信息,然后退出。
ledmon
守护程序无法识别 SFF-8489 规范中的 PFA(故障预警分析)状态。因此无法视觉化显示 PFA 模式。
12.2 存储机箱 LED 控制应用程序 #
机箱 LED 应用程序 (ledctl
) 是一款用户空间应用程序,用于控制与存储机箱或驱动器机架中每个槽相关联的 LED。ledctl
应用程序是 Intel 机箱 LED 实用程序的组成部分。
在您发出命令时,指定设备的 LED 将被设置为指定的模式,并且所有其他的 LED 都将关闭。运行此应用程序需要 root
权限。由于 ledmon
应用程序在访问 LED 时具有最高优先级,因此如果 ledmon
守护程序正在运行,则由 ledctl
设置的某些模式可能不起作用(“查找”模式除外)。
ledctl
应用程序支持两类 LED 系统:二 LED 系统(活动 LED 和状态 LED)以及三 LED 系统(活动 LED、故障 LED 和查找 LED)。
要启动 ledctl
,请输入
>
sudo
[options] PATTERN_NAME=list_of_devices
其中 [options] 是下列一或多项:
-c PATH
,--confg=PATH
设置本地配置文件的路径。如果指定此选项,则全局配置文件和用户配置文件都将失效。
- -l PATH , --log=PATH
设置本地日志文件的路径。如果指定此用户定义的文件,将不会使用全局日志文件
/var/log/ledmon.log
。--quiet
关闭所有向
stdout
或从stderr
发送的消息。但在本地文件和syslog
功能中仍会记录这些消息。-h
,--help
将命令信息打印至控制台,然后退出。
-v
,--version
显示
ledctl
的版本以及许可证的相关信息,然后退出。
12.2.1 模式名称 #
根据 SFF-8489 规范,ledctl
应用程序会接受以下 参数的名称。
locate
打开与指定设备或空槽相关的查找 LED。此状态用于标识槽或驱动器。
locate_off
关闭与指定设备或空槽相关的查找 LED。
normal
关闭与指定设备相关的状态 LED、故障 LED 以及查找 LED。
off
仅关闭与指定设备相关的状态 LED 和故障 LED。
ica
,degraded
可视化显示
In a Critical Array
模式。rebuild
,rebuild_p
可视化显示
Rebuild
模式。由于兼容性和旧版原因,支持两种重构建状态。ifa
,failed_array
可视化显示
In a Failed Array
模式。hotspare
可视化显示
Hotspare
模式。pfa
可视化显示
Predicted Failure Analysis
模式。failure
,disk_failed
可视化显示
Failure
模式。- ses_abort
SES-2 R/R ABORT
ses_rebuild
SES-2 REBUILD/REMAP
ses_ifa
SES-2 IN FAILED ARRAY
ses_ica
SES-2 IN CRITICAL ARRAY
ses_cons_check
SES-2 CONS CHECK
ses_hotspare
SES-2 HOTSPARE
ses_rsvd_dev
SES-2 RSVD DEVICE
ses_ok
SES-2 OK
ses_ident
SES-2 IDENT
ses_rm
SES-2 REMOVE
ses_insert
SES-2 INSERT
ses_missing
SES-2 MISSING
ses_dnr
SES-2 DO NOT REMOVE
ses_active
SES-2 ACTIVE
ses_enable_bb
SES-2 ENABLE BYP B
ses_enable_ba
SES-2 ENABLE BYP A
ses_devoff
SES-2 DEVICE OFF
ses_fault
SES-2 FAULT
将非 SES-2 模式发送至机箱中的设备时,该模式会自动转换为上面所示的 SCSI 机箱服务 (SES) 2 模式。
非 SES-2 模式 |
SES-2 模式 |
---|---|
locate |
ses_ident |
locate_off |
ses_ident |
normal |
ses_ok |
off |
ses_ok |
ica |
ses_ica |
degraded |
ses_ica |
rebuild |
ses_rebuild |
rebuild_p |
ses_rebuild |
ifa |
ses_ifa |
failed_array |
ses_ifa |
hotspare |
ses_hotspare |
pfa |
ses_rsvd_dev |
failure |
ses_fault |
disk_failed |
ses_fault |
12.2.2 设备列表 #
在您发出 ledctl
命令时,指定设备的 LED 将被设置为指定的模式,并且所有其他的 LED 都将关闭。设备列表可采用以下两种格式中的一种提供:
以逗号分隔且无空格的设备列表
以空格分隔且用花括号括住的设备列表
如果在同一个命令中指定多个模式,则每一个模式的设备列表可以使用相同格式也可以使用不同格式。有关显示两种列表格式的示例,请参见第 12.2.3 节 “示例”。
设备就是指向 /dev
目录或 /sys/block
目录中文件的路径。该路径可以标识块设备、MD 软件 RAID 设备或容器设备。对于软件 RAID 设备或容器设备,会为所有关联的块设备设置所报告的 LED 状态。
list_of_devices 中列出设备的 LED 将被设置为指定模式 pattern_name 并且所有其他 LED 都将关闭。
12.2.3 示例 #
查找单个块设备:
>
sudo
ledctl locate=/dev/sda
若要关闭单个块设备的“查找 LED”,请执行以下步骤:
>
sudo
ledctl locate_off=/dev/sda
查找 MD 软件 RAID 设备的磁盘,并同时为两个块设备设置重构建模式:
>
sudo
ledctl locate=/dev/md127 rebuild={ /sys/block/sd[a-b] }
关闭指定设备的“状态 LED”和“故障 LED”:
>
sudo
ledctl off={ /dev/sda /dev/sdb }
要找到三个块设备,请运行以下命令之一(两个命令是等效的):
>
sudo
ledctl locate=/dev/sda,/dev/sdb,/dev/sdc>
sudo
ledctl locate={ /dev/sda /dev/sdb /dev/sdc }
12.3 更多信息 #
有关 LED 模式以及监视工具的详细信息,请参见以下资源: