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,请输入
tux >sudoledmon [options]
其中 [options] 是下列一或多项:
ledmon 的选项 #-c 路径,--confg=路径配置从
~/.ledctl或/etc/ledcfg.conf(如果存在)中读取。使用此选项来指定替代的配置文件。目前此选项无效,因为尚未实施对配置文件的支持。有关细节,请参见
man 5 ledctl.conf。- -l 路径 , --log=路径
设置本地日志文件的路径。如果指定此用户定义的文件,则将不会使用全局日志文件
/var/log/ledmon.log。-t 秒数,--interval=秒数设置
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,请输入
tux >sudo[options] PATTERN_NAME=list_of_devices
其中 [options] 是下列一或多项:
-c 路径,--confg=路径设置本地配置文件的路径。如果指定此选项,则全局配置文件和用户配置文件都将失效。
- -l 路径 , --log=路径
设置本地日志文件的路径。如果指定此用户定义的文件,则将不会使用全局日志文件
/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_rebuildSES-2 REBUILD/REMAP
ses_ifaSES-2 IN FAILED ARRAY
ses_icaSES-2 IN CRITICAL ARRAY
ses_cons_checkSES-2 CONS CHECK
ses_hotspareSES-2 HOTSPARE
ses_rsvd_devSES-2 RSVD DEVICE
ses_okSES-2 OK
ses_identSES-2 IDENT
ses_rmSES-2 REMOVE
ses_insertSES-2 INSERT
ses_missingSES-2 MISSING
ses_dnrSES-2 DO NOT REMOVE
ses_activeSES-2 ACTIVE
ses_enable_bbSES-2 ENABLE BYP B
ses_enable_baSES-2 ENABLE BYP A
ses_devoffSES-2 DEVICE OFF
ses_faultSES-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 示例 #
查找单个块设备:
tux >sudoledctl locate=/dev/sda
若要关闭单个块设备的“查找 LED”,请执行以下步骤:
tux >sudoledctl locate_off=/dev/sda
查找 MD 软件 RAID 设备的磁盘,并同时为两个块设备设置重构建模式:
tux >sudoledctl locate=/dev/md127 rebuild={ /sys/block/sd[a-b] }
关闭指定设备的“状态 LED”和“故障 LED”:
tux >sudoledctl off={ /dev/sda /dev/sdb }
要找到三个块设备,请运行以下命令之一(两个命令是等效的):
tux >sudoledctl locate=/dev/sda,/dev/sdb,/dev/sdctux >sudoledctl locate={ /dev/sda /dev/sdb /dev/sdc }
12.3 更多信息 #
有关 LED 模式以及监视工具的详细信息,请参见以下资源: