하드웨어 RAID 는 OS 에서 볼륨 하나로만 보이므로 lsblk 만으로는 상태를 알 수 없다. 먼저 어떤 컨트롤러가 달려 있는지 확인하고, 그 제조사의 도구를 쓴다.
lspci -nn | grep -iE 'raid|storage'
lsscsi
dmesg | grep -iE 'megaraid|smartpqi|hpsa|aacraid|mpt3sas'
/proc/mdstat 은 커널 소프트웨어 RAID(mdadm) 전용이라 하드웨어 RAID 에서는 비어 있다. 이 파일이 비었다고 해서 RAID 가 없는 것이 아니다.
| 컨트롤러 | 도구 | 비고 |
|---|---|---|
| Broadcom/LSI MegaRAID, Dell PERC | storcli64, perccli64 |
MegaCli 는 구세대. 신규 장비는 storcli |
| HPE Smart Array | ssacli |
구 hpacucli 의 후속 |
| Adaptec/Microsemi | arcconf |
|
| Intel VROC | mdadm |
IMSM 컨테이너를 mdadm 이 다룬다 |
이 도구들은 배포판 기본 저장소에 없는 경우가 많다. 제조사 지원 사이트나 관리 도구 번들(Dell OMSA, HPE SPP 등) 에서 받는다.
MegaRAID 계열 확인 명령은 다음과 같다.
storcli64 /c0 show
storcli64 /c0/vall show all
storcli64 /c0/eall/sall show
storcli64 /c0 show events type=latest=20
/c0 은 0번 컨트롤러다. 여러 장이면 storcli64 show 로 목록을 먼저 본다. 구형 MegaCli 라면 다음이 대응된다.
MegaCli64 -AdpAllInfo -aALL
MegaCli64 -LDInfo -Lall -aALL
MegaCli64 -PDList -aALL
HPE Smart Array 는 이렇게 본다.
ssacli ctrl all show config detail
ssacli ctrl slot=0 pd all show status
논리 드라이브의 State 가 Optimal 인지, 물리 디스크에 Failed · Rebuild · Predictive Failure 가 없는지, 배터리/캐패시터(BBU·FBU) 상태가 정상인지 셋을 본다. 캐시 배터리가 죽으면 컨트롤러가 Write-Back 을 Write-Through 로 자동 강등하므로, 원인 모를 쓰기 성능 저하가 여기서 오는 경우가 있다.
storcli64 /c0/bbu show all
smartctl 은 컨트롤러 뒤의 디스크도 -d 옵션으로 읽을 수 있다.
smartctl -a -d megaraid,0 /dev/sda
smartctl -a -d cciss,0 /dev/sda
정기 감시가 목적이면 Prometheus 의 컨트롤러 익스포터를 쓰거나, 위 명령의 출력을 파싱해 상태 문자열이 Optimal 이 아닐 때 알리는 스크립트를 크론에 건다.