跳到主內容

檢查陣列卡上的硬碟健康度

BUBU 因公司上有使用到外接掛肚的硬碟櫃,在管理介面上看不到每顆硬碟的 SMART 的狀況,剛好有在群友上給予了解答,以防日後有需要我就先記錄下來

檢查硬碟資訊


smartctl --scan 

hdd-01.png

簡單說明:

  • megaraid 是RAID類型
  • 顯示數字表示是硬碟 ID

腳本:

#!/usr/bin/bash

# 產生記錄檔路徑
LOG=/root/$(date +%F-%H%M).log

# 檢查硬碟資訊掃出來,先尋找類型再取硬碟的 ID 資訊
DISK_LIST=$(smartctl --scan | grep -i megaraid |awk '{print $3}'|awk -F , '{print$2}')
# 用迴圈方式帶入值
for i in $DISK_LIST;
do echo id=$i: ;
# 再用 smartctl 指令去查詢硬碟資訊, /dev/sdb 這個再修改成系統所取到的名稱
  smartctl -d megaraid,$i -a /dev/sdc;
done >> $LOG
  • 產出來的結果再用 grep 再來顯示您想要知道資訊,例如我想知道硬碟是否有壞軌
cat 2021-11-10-151455.log | grep 'id=\|Serial Number\|Reallocated_Sector_Ct\|Current_Pending_Sector'

hdd-02.png

備註


  • 檢查目前設備上的硬碟資訊
fdisk -l | grep "Disk /dev" | awk '{gsub(":", ""); print $2}'


參考相關網站