12 適用於 MD 軟體 RAID 的儲存機殼指示燈公用程式 #
儲存機殼指示燈監控公用程式 (ledmon
) 和指示燈控制 (ledctl
) 公用程式都是 Linux 使用者空間應用程式,可以使用多種介面和通訊協定來控制儲存機殼指示燈。主要用途是視覺化顯示透過 mdadm 公用程式建立之 Linux MD 軟體 RAID 裝置的狀態。ledmon
精靈會監控磁碟機陣列的狀態並更新磁碟機指示燈的狀態。ledctl
公用程式可讓您設定所指定裝置的指示燈模式。
這些指示燈公用程式使用 SGPIO (序列一般用途輸入/輸出) 規格 (小型機機殼 (SFF) 8485) 及 SCSI 機殼服務 (SES) 2 通訊協定來控制指示燈。它們實作 SGPIO 之 SFF-8489 規格的 International Blinking Pattern Interpretation (IBPI) 模式。IBPI 定義如何將 SGPIO 標準解譯為後擋板上磁碟機和插槽的狀態,以及後擋板應該如何透過指示燈視覺化顯示狀態。
某些儲存機殼未嚴格遵守 SFF-8489 規格。機殼處理器可能會接受 IBPI 模式,但不會根據 SFF-8489 規格讓指示燈閃爍,或者該處理器可能僅支援數量有限的 IBPI 模式。
ledmon
和 ledctl
公用程式都不支援指示燈管理 (AHCI) 和 SAF-TE 通訊協定。
ledmon
和 ledctl
應用程式經驗證可以與 Intel 儲存控制器 (例如 Intel AHCI 控制器和 Intel SAS 控制器) 配合使用。它們還支援 PCIe-SSD (固態磁碟) 機殼指示燈,用以控制屬於 MD 軟體 RAID 磁碟區一部分之 PCIe-SSD 裝置的儲存機殼狀態 (正常、失敗、正在重建) 指示燈。這些應用程式還可以與其他廠商推出之符合 IBPI 的儲存控制器 (尤其是 SAS/SCSI 控制器) 配合使用;不過,其他廠商的控制器尚未經過測試。
ledmon
和 ledctl
是 ledmon
套件的一部分,系統預設不會安裝該套件。執行 sudo zypper in
ledmon
可安裝該套件。
12.1 儲存機殼指示燈監控服務 #
ledmon
應用程式是一個精靈程序,可以不斷地監控 MD 軟體 RAID 裝置的狀態,或者儲存機殼或磁碟機槽中區塊裝置的狀態。一次只能執行一個該精靈的例項。ledmon
精靈是 Intel 機殼指示燈公用程式的一部分。
狀態會在與儲存陣列機殼或磁碟機槽中的每個插槽相關聯的指示燈上視覺化顯示。該應用程式會監控所有軟體 RAID 裝置並將其狀態視覺化顯示。它無法僅監控所選軟體 RAID 磁碟區。
ledmon
精靈支援兩種類型的指示燈系統:雙指示燈系統 (活動指示燈和狀態指示燈) 與三指示燈系統 (活動指示燈、定位指示燈和失敗指示燈)。存取指示燈時,此工具的優先程度最高。
若要啟動 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 儲存機殼指示燈控制應用程式 #
機殼指示燈應用程式 (ledctl
) 是一個使用者空間應用程式,可以控制與儲存機殼或磁碟機槽相關聯的指示燈。ledctl
應用程式是 Intel 機殼指示燈公用程式的一部分。
當您發出該指令時,系統會將指定裝置的指示燈設為指定的模式,並會關閉所有其他指示燈。執行此應用程式需要有 root
權限。由於 ledmon
應用程式在存取指示燈時具有最高優先程度,因此如果 ledmon
精靈正在執行,ledctl
設定的某些模式可能將不起作用 (Locate 模式除外)。
ledctl
應用程式支援兩種類型的指示燈系統:雙指示燈系統 (活動指示燈和狀態指示燈) 與三指示燈系統 (活動指示燈、失敗指示燈和定位指示燈)。
若要啟動 ledctl
,請輸入
>
sudo
[options] PATTERN_NAME=list_of_devices
其中,[options] 是下面的一或多個選項:
-c PATH
,--confg=PATH
設定本地組態檔案的路徑。如果指定了此選項,則全域組態檔案與使用者組態檔案都將無效。
- -lPATH , --log=PATH
設定本地記錄檔案的路徑。如果指定此使用者定義的檔案,將不會使用全域記錄檔案
/var/log/ledmon.log
。--quiet
關閉傳送至
stdout
或從stderr
傳出的所有訊息。但這些訊息仍會記錄到本地檔案和syslog
工具中。-h
,--help
將指令資訊列印至主控台,然後結束。
-v
,--version
显示
ledctl
的版本以及许可证的相关信息,然後退出。
12.2.1 模式名稱 #
根據 SFF-8489 規格,ledctl
應用程式接受下列 引數名稱。
locate
開啟與指定裝置或空插槽相關聯的定位指示燈。此狀態用於識別插槽或磁碟機。
locate_off
關閉與指定裝置或空插槽相關聯的定位指示燈。
normal
關閉與指定裝置相關聯的狀態指示燈、失敗指示燈和定位指示燈。
off
僅關閉與指定裝置相關聯的狀態指示燈和失敗指示燈。
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
指令時,系統會將指定裝置的指示燈設為指定的模式,並會關閉所有其他指示燈。裝置清單可採用下列兩種格式之一來提供:
以逗號分隔且無空格的裝置清單
以空格分隔並用大括號括住的裝置清單
如果在同一個指令中指定多個模式,則每個模式的裝置清單可以使用相同的格式,也可以使用不同的格式。如需顯示兩種清單格式的範例,請參閱第 12.2.3 節 「範例」。
裝置就是指向 /dev
目錄或 /sys/block
目錄中檔案的路徑。路徑可以識別區塊裝置、MD 軟體 RAID 裝置或容器裝置。對於軟體 RAID 裝置或容器裝置,將會為所有相關聯的區塊裝置設定所報告的指示燈狀態。
list_of_devices 中列出之裝置的指示燈將設為指定的模式 pattern_name,且所有其他指示燈都將關閉。
12.2.3 範例 #
尋找單個區塊裝置:
>
sudo
ledctl locate=/dev/sda
若要關閉單個區塊裝置的定位指示燈:
>
sudo
ledctl locate_off=/dev/sda
尋找 MD 軟體 RAID 裝置的磁碟,並同時為其兩個區塊裝置設定重建模式:
>
sudo
ledctl locate=/dev/md127 rebuild={ /sys/block/sd[a-b] }
關閉指定裝置的狀態指示燈和失敗指示燈:
>
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 更多資訊 #
如需指示燈模式和監控工具的詳細資料,請參閱下列資源: