如何在執行時檢查“mdadm”RAID?
我開始在家裡收集一些電腦並支持它們,我有我的“伺服器”linux 機器執行 RAID 陣列。
它目前
mdadm
RAID-1
,RAID-5
一旦我有更多的驅動器(然後RAID-6
我希望)。但是,我聽說過有關數據在一個驅動器上損壞的各種故事,並且由於正在使用另一個驅動器而您從未註意到,直到第一個驅動器發生故障時,您才發現第二個驅動器也被擰壞了(以及第 3、第 4 ,第 5 個驅動器)。顯然,備份很重要,我也在處理這一點,但是我知道我以前見過聲稱可以幫助解決這個問題並允許您在執行時檢查 RAID 的腳本。然而,現在再次尋找這些腳本,我發現很難找到任何與我之前執行的相似的東西,而且我覺得我已經過時並且不理解發生了什麼變化。
您將如何檢查正在執行的 RAID 以確保所有磁碟仍在正常執行?
我監控所有驅動器上的 SMART,並且還
mdadm
設置了在出現故障時給我發送電子郵件,但我想知道我的驅動器偶爾也會“檢查”自己。
具有冗餘的 RAID 的意義在於它會盡可能長時間地執行,但顯然它會檢測到使其進入降級模式的錯誤,例如故障磁碟。您可以使用以下命令顯示數組的目前狀態
mdadm -D
:# mdadm -D /dev/md0 <snip> 0 8 5 0 active sync /dev/sda5 1 8 23 1 active sync /dev/sdb7
此外,
mdadm -D
如果存在任何問題(例如發生故障的組件),則返回狀態為非零(1 表示 RAID 模式補償的錯誤,2 表示完全故障)。您還可以通過查看來快速了解所有 RAID 設備狀態
/proc/mdstat
。您也可以獲取有關 RAID 設備的資訊/sys/class/block/md*/md/*
;請參閱Documentation/md.txt
核心文件。一些/sys
條目也是可寫的;例如,您可以觸發對md0
with的全面檢查echo check >/sys/class/block/md0/md/sync_action
。除了這些抽查之外,mdadm 還可以在發生不良情況時立即通知您。確保您已
MAILADDR root
在/etc/mdadm.conf
(某些發行版(例如 Debian)自動設置)。然後**,一旦發生錯誤(降級的陣列),您就會收到一封電子郵件通知**。確保您確實在本地機器上收到了發送到 root 的郵件(一些現代發行版省略了這一點,因為他們認為所有電子郵件都通過外部提供商 - 但對於任何認真的系統管理員來說,接收本地郵件都是必要的)。通過向 root 發送郵件來測試這一點:
echo hello | mail -s test root@localhost
。通常,正確的電子郵件設置需要兩件事:
- 在本地電腦上執行MTA 。MTA 必須至少設置為允許本地郵件傳遞。所有發行版都帶有合適的 MTA,選擇任何東西(如果您希望在本地發送電子郵件,則不要選擇 nullmailer)。
- 將發送到系統帳戶的郵件(至少
root
)重定向到您經常閱讀的地址。這可以是您在本地電腦上的帳戶,也可以是外部電子郵件地址。對於大多數 MTA,地址可以配置為/etc/aliases
;你應該有一條線root: djsmiley2k
用於本地傳遞,或
root: djsmiley2k@mail-provider.example.com
用於遠端傳遞。如果您選擇遠端傳遞,請確保為此配置了您的 MTA。根據您的 MTA,您可能需要
newaliases
在編輯/etc/aliases
.