RAID 類型識別
| 類型 | 實現層 | 識別方法 | 管理工具 |
| 軟 RAID | OS 內核 (md) | /proc/mdstat, mdadm | mdadm |
| 硬 RAID | RAID 卡固件 | 廠商工具, dmesg, lspci | 廠商 CLI/GUI (StorCLI, perccli, arcconf 等) |
| 偽 RAID (FakeRAID) | 主板晶片組 + 驅動 | dmraid, lsblk | dmraid, mdadm (imsm) |
軟 RAID (mdadm) 完整檢測
核心命令
# 總覽所有陣列
cat /proc/mdstat
# 詳細掃描
mdadm --detail /dev/md0
mdadm --detail --scan
# 組件設備信息
mdadm --examine /dev/sd[a-z]1
# 監控模式
mdadm --monitor --scan --daemonise
/proc/mdstat 輸出解讀
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sda1[0] sdb1[1]
524224 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md1 : active raid5 sdc1[0] sdd1[1] sde1[2]
10485760 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices:
[UU]:U=正常,_=故障/缺失
[3/3]:活躍設備/總設備
recovery/resync/check:後台操作進度
硬 RAID:廠商專用工具(最準確)
主流廠商工具對照
| 廠商 | CLI 工具 | 安裝包/來源 | 關鍵命令 |
| LSI/Broadcom/Avago (MegaRAID) | StorCLI / MegaCLI | 官網、EPel、廠商 ISO | storcli /c0 show, /c0/v0 show |
| Dell PERC (LSI OEM) | perccli | Dell 官網 | perccli /c0 show |
| HPE Smart Array | ssacli / hpssacli | HPE 官網、SDR | ssacli ctrl all show config |
| Adaptec (Microsemi) | arcconf / maxView | Adaptec 官網 | arcconf getconfig 1 |
| Areca | cli32/cli64 | Areca 官網 | cli64 rsf info |
| HighPoint | hptraidconf | HighPoint 官網 | hptraidconf -q |
StorCLI 實戰範例 (最常見)
# 控制器總覽
storcli /c0 show
# 虛擬磁盤(陣列)詳情
storcli /c0/vall show
# 物理磁盤詳情
storcli /c0/eall/sall show
# 重建進度
storcli /c0/v0 show rebuild
# 靜默告警
storcli /c0 set alarm=off
ssacli (HPE) 實戰
ssacli ctrl all show status
ssacli ctrl slot=0 ld all show
ssacli ctrl slot=0 pd all show status
無廠商工具時的通用檢測
1. 內核啟動日誌
dmesg -T | grep -i -e raid -e scsi -e megaraid -e mpt -e aacraid -e hpsa -e smartpqi
2. SCSI 子系統視圖
cat /proc/scsi/scsi
# 輸出包含 Vendor, Model, Rev, Type (RAID/磁盤)
3. lspci 識別 RAID 控制器
lspci -nn | grep -i raid
# 範例輸出:
# 03:00.0 RAID bus controller [0104]: Broadcom / LSI MegaRAID SAS-3 3108 [1000:005d]
4. lsblk 查看塊設備拓撲
lsblk -o +FSTYPE,LABEL,UUID,PARTTYPE,PARTUUID
# RAID 設備通常顯示為單一大塊設備,無分區或有分區
5. smartctl 檢測物理磁盤健康(直通模式)
# LSI MegaRAID 直通
smartctl -a -d megaraid,0 /dev/sda # 物理磁盤 0
smartctl -a -d megaraid,1 /dev/sda # 物理磁盤 1
# HPE Smart Array
smartctl -a -d cciss,0 /dev/sg0
# 通用 (無 RAID 卡或直通模式)
smartctl -a /dev/sda
主流服務器廠商整合管理
| 廠商 | 帶外管理 | 帶內工具 | 備註 |
| Dell | iDRAC | OpenManage Server Administrator (OMSA) | perccli 整合在 OMSA |
| HPE | iLO | Smart Storage Administrator (SSA) | ssacli 為 CLI |
| Lenovo | XClarity Controller | XClarity Essentials | OneCLI 包含 storcli |
| Supermicro | IPMI/BMC | SMCIPMITool, SUM | 常用標準 LSI 卡 |
| 華為 | iBMC | FusionDirector | 支援標準 CLI |
| 浪潮 | BMC | ISM | 支援標準 CLI |
雲環境/虛擬機特殊情況
- AWS EC2:EBS 卷本身有冗餘,無傳統 RAID,用
lsblk 看卷掛載
- Azure VM:類似,托管磁盤三副本
- VMware VM:虛擬磁盤由宿主機 RAID 保護,客體內無 RAID 卡
- 裸金屬雲:可能直通 RAID 卡,按物理機方式檢測
自動化巡檢腳本範例
#!/bin/bash
# check_raid.sh - 每日巡檢
LOG="/var/log/raid_check.log"
echo "=== $(date) ===" >> $LOG
# 1. 軟 RAID
if [ -f /proc/mdstat ]; then
if grep -q '_' /proc/mdstat; then
echo "[ALERT] 軟 RAID 降級!" | tee -a $LOG
cat /proc/mdstat >> $LOG
else
echo "[OK] 軟 RAID 正常" >> $LOG
fi
fi
# 2. LSI MegaRAID (storcli)
if command -v storcli &>/dev/null; then
if storcli /c0/vall show | grep -q -i 'degrad\|offlin'; then
echo "[ALERT] 硬 RAID 降級!" | tee -a $LOG
storcli /c0/vall show >> $LOG
fi
fi
# 3. HPE (ssacli)
if command -v ssacli &>/dev/null; then
if ssacli ctrl all show status | grep -q -v OK; then
echo "[ALERT] HPE RAID 異常!" | tee -a $LOG
fi
fi
# 4. 物理磁盤 SMART (需根據 RAID 卡調整 -d 參數)
for disk in /dev/sd[a-z]; do
if smartctl -H $disk 2>/dev/null | grep -q "PASSED"; then
: # OK
else
echo "[WARN] $disk SMART 異常" >> $LOG
fi
done
總結建議
- 優先使用廠商官方工具,信息最全、最準(固件版本、電池狀態、重建進度、PD 風扇/溫度)
- 軟 RAID 用 mdadm,
/proc/mdstat 為快速總覽入口
- 納入監控體系:Prometheus node_exporter + megacli_exporter / smartctl_exporter + Grafana 告警
- 定期驗證備份恢復,RAID 不是備份
- 記錄陣列拓撲圖:槽位、序列號、RAID 級別、熱備盤位置