磁硬碟陣列後如何檢測和監控硬碟健康狀況?

天府雲創發表於2018-09-29

HD TURE和傳統的磁碟分割槽助手對於Raid陣列是沒辦法了。

把RAID拆掉分開檢測也不用說了,這麼搞資料都沒了。。。有沒有什麼安全可靠的辦法嗎?

品牌伺服器帶有硬碟背板的比較方便,損壞的盤會有相應的報警燈點亮。
臺機或自己組的比較麻煩,一般硬碟直連陣列卡或主機板整合的控制器,需要在控制器的自檢介面看硬碟狀態如intel的控制器,或安裝相應的軟體,如lsi的dsm和promise的ip頁面。
兩盤一般做raid0和1,對於raid0的情況,如果有成員盤故障陣列會崩潰。raid1由於是映象,損壞一塊盤仍然能正常工作,因此常常在沒有發現有盤故障的情況下第二塊盤故障導致資料丟失。

【常用軟體】

1、MegaRAID Storage Manager

2、Hard Disk Sentinel

3、各個廠商自帶的iDcard/IPMI/遠端卡管理(web/cli/BIOS)

 MegaRAID SAS系列raid卡可以用 MegaCli 的工具檢視,MegaCli 的linux版本和windows版本網上都有。

Intel Matrix Storage Manager去下載這個軟體吧,只要你是使用Intel的南橋組建的陣列,這個軟體就能大幅度提升磁碟陣列的隨機讀取效能,我每次組陣列都會安裝這個軟體。

兩硬碟陣列,除了raid1就是raid0。前者不用擔心,反正兩塊硬碟的內容是一樣的;後者擔心也沒用,raid0就是兩塊硬碟二合一,根本沒有備份,壞了也就壞了。

常用PC伺服器陣列卡、硬碟健康監控

        通常,我們使用的DELL/HP/IBM三家的機架式PC級伺服器陣列卡是從LSI的卡OEM出來的,DELL和IBM兩家的陣列卡原生程度較高,沒有做太多封裝,可以用原廠提供的陣列卡管理工具進行監控;而HP的陣列卡一般都做過封裝了,因此需要使用自身特有的管理工具來監控。

本文以幾種常用的陣列卡為例,展示其陣列卡及硬碟監控的方法。
DELL SAS 6/iR卡,全稱LSI Logic SAS1068E,只支援RAID 0, RAID 1, RAID 1+0, 不支援RAID 5等高階RAID特性,不支援陣列卡電池。
DELL PERC PERC H700卡,全稱LSI Logic MegaRAID SAS 2108,支援各種RAID級別及高階特性,可選配陣列卡電池。
DELL PERC H310 Mini卡 ,全稱LSI Logic / Symbios Logic MegaRAID SAS 2008,支援常見RAID級別,不支援高階RAID特性,不支援陣列卡電池。
IBM ServeRAID M5014 SAS/SATA Controller卡,全稱LSI Logic / Symbios Logic MegaRAID SAS 2108,支援各種RAID級別及高階特性,可選配陣列卡電池。
IBM ServeRAID-MR10i SAS/SATA Controller卡,全稱LSI Logic / Symbios Logic MegaRAID SAS 1078,支援常見RAID級別,不支援高階RAID特性,可選配陣列卡電池,這個卡其實和DELL的PERC 6/i卡是一樣的,都是基於LSI MegaRAID SAS 1078基礎上OEM出來的。

上面是幾種常見的陣列卡型號,更多的可以自行檢視官方的技術手冊。

下面我們要繼續的是,這些陣列卡以及硬碟如何監控,陣列卡的管理也請檢視官方技術手冊,不在本文討論範疇,或者檢視作者的一個分享PPT:PC伺服器陣列卡管理簡易手冊

一般地,支援RAID 5的卡,我們稱其為陣列卡,都可以使用LSI官方提供的MegaCli工具來管理,而不支援RAID 5的卡,我們稱其為SAS卡,使用lsiutil工具來管理。HP的伺服器使用其特有的hpacucli工具來管理。

1、MegaCli工具
a) MegaCli -adpallinfo -aall — 檢視陣列卡資訊
-a 引數指定陣列卡的編號,一般伺服器上只會配一個陣列卡,因此我們通常指定為 -a0(陣列卡介面卡編號,從0開始) 即可,主要關注下面幾個資訊:

狀態值 對應含義
Product Name : PERC H710 Mini  陣列卡名稱
FW Package Build: 21.2.0-0007  陣列卡firmware版本號,版本如果太低,建議升級以提高穩定性及效能
BBU : Present  是否有配BBU電池

b) MegaCli -cfgdsply -aall — 檢視陣列配置

狀態值 對應含義
Memory: 512MB  陣列卡cache大小,2的N次方,如果不是,說明陣列卡有異常
Number of dedicated Hotspares: 0  陣列是否有專用/獨享熱備盤(如果有多個邏輯磁碟組/disk group,則可以指定一個硬碟用於全域性熱備,那麼該disk group上的專用熱備盤數量為0也不用擔心),除了RAID 1/RAID 1+0一般不指定熱備盤以外,其他幾個陣列級別建議都要指定熱備盤
State : Optimal  陣列狀態,如果不是 Optimal 就要關注了
Current Cache Policy: WriteBack, ReadAheadNone, Direct, Write Cache OK if Bad BBU  陣列讀寫cache策略,建議寫策略設定為FORCE WB,最起碼是WB,預讀策略可以關掉,意義不大,幾乎沒影響
Disk Cache Policy : Disabled  硬碟cache策略,建議關閉,防止意外時資料丟失
Current Power Savings Policy: None  節電策略,建議關閉
Media Error Count: 0  三個錯誤計數器,任何一個值大於100就要立刻引起關注,尤其要關注起增長速度。1T以上SATA盤,計數值不夠精確,可能所有盤上該值都會大於0,一般重啟就會重新清0,如果重啟後還是大於0的話,趕緊報修吧。SAS盤的計數值則比較準確。
Other Error Count: 0  
Predictive Failure Count: 0  
Firmware state: Online, Spun Up  檢視硬碟狀態,如果是unconfigured表示該硬碟未分配加入到陣列中;如果是 unconfigured(bad)表示該盤不但是未分配,而且還壞了,正是“出師未捷身先死”;如果是failed,表示該盤故障無法識別;如果是rebuilding,表示該盤正在重建資料

c) MegaCli -adpbbucmd -aall — 檢視陣列卡電池資訊

狀態值 對應含義
Temperature: 39 C  檢視電池溫度,如果相比上一次檢視高出不少,就需要關注了,或者可以根據經驗設定一個基線值
Battery State: Optimal  電池狀態,如果不是為Optimal,就需要關注了
Charger Status: Complete  電池充放電狀態
isSOHGood: Yes  電池狀態,如果不是為Yes,需要關注
Relative State of Charge: 93 %  當前電量,當電量低於15%,或者電池壞掉時,預設都會將寫策略從WB改成WT,除非設定為FORCE WB策略
Max Error = 0 %  電池是否有錯誤資訊
Next Learn time: Tue Oct 14 22:06:50 2014  電池充放電時間,注意這是美國時間。另外,新的陣列卡電池很多改成電容式的了,也就不需要重複充放電了

d) MegaCli -fwtermlog -dsply -aALL 檢視陣列卡日誌,關注裡面的error/fail/warn等多個關鍵字

2、lsiutil工具
lsiutil有互動和非互動兩種方式,作為監控,我們肯定選擇非互動模式。想要使用互動模式的,可以根據非互動模式自行練習。
a) lsiutil -p 1 -a 20,12,0,0 — 檢視硬碟計數器
Invalid DWord Count 2,563 — 任何一個值大於0,都需要引起關注
Running Disparity Error Count 2,366
Loss of DWord Synch Count 0
Phy Reset Problem Count 0

b) lsiutil -p 1 -a 21,1,0,0,0 — 檢視邏輯卷狀態

狀態值 對應含義
Volume State: optimal, enabled  邏輯卷健康狀況
Volume draws from Hot Spare Pools: 0  是否有熱備
Volume Size 139392 MB, 2 Members  由幾塊硬碟組成
Primary is PhysDisk 1 (Bus 0 Target 9)  物理硬碟1
Secondary is PhysDisk 0 (Bus 0 Target 3)  物理硬碟0

c) lsiutil -p 1 -a 21,2,0,0,0 — 檢視物理硬碟狀態

狀態值 對應含義
PhysDisk 0 is Bus 0 Target 3  編號
PhysDisk State: online  狀態
Error Count 13, Last Error: Command = 28h, Key = 3, ASC/ASCQ = 11h/00h  錯誤計數器,大於0的話,就需要引起關注

3、hpacucli工具
hpacucli工具檢視陣列、硬碟、電池資訊,其實就只要一條指令:
hpacucli ctrl all show config detail — 檢視陣列詳細資訊、配置

 

狀態值 對應含義
Controller Status: OK 陣列卡狀態
Firmware Version: 1.18 firmware版本,太低了建議升級,以提高穩定性及效能
Cache Board Present: True 是否配備了cache模組
Cache Status: OK cache模組狀態
Cache Ratio: 100% Read / 0% Write cache策略,此處只有讀cache,不用於寫cache,因為沒有bbu電池,見下方結果
Drive Write Cache: Disabled 關閉磁碟cache
Total Cache Size: 256 MB cache大小
Total Cache Memory Available: 208 MB 實際可用cache大小,和理論cache大小不一樣,說明cache模組可能有問題
No-Battery Write Cache: Disabled 關閉FORCEWB策略
Battery/Capacitor Count: 0 陣列卡BBU電池數量為0,也就是沒有BBU模組
Battery/Capacitor Status: Failed (Replace Batteries) 陣列卡BBU電池狀態,這裡顯示是錯誤狀態,需要及時更換
Array: A 第一個烏列陣列,編號從A開始,依次是A、B、C
Status: OK 物理陣列狀態
   
Logical Drive: 1 第一個邏輯卷,編號從1開始
Fault Tolerance: RAID 5 第一個邏輯卷的陣列級別
Status: OK 第一個邏輯卷狀態
Caching: Enabled 第一個邏輯卷是否啟用了cache策略
   
physicaldrive 1I:1:1 第一塊物理硬碟,編號從1開始
Status: OK 第一塊物理硬碟狀態
Firmware Revision: HPDA 第一塊物理硬碟firmware,如果太低,也需要及時升級,HP的硬碟每個批次都有不同的firmware

 

常見磁碟陣列監控軟體和方案

1、nagios監控raid磁碟陣列(Fusion-MPT SAS系列raid卡 ioc0)- https://cloud.tencent.com/info/4e6151a578e7e3489ea67e63dab23cc1.html

2、Dell伺服器各種RAID卡介紹及監控方法 - yJken的部落格 - 部落格園 https://www.cnblogs.com/yjken/articles/3843216.html

3、Zabbix通過MegaCli實現對LSI Raid卡硬碟監控(LLD) - CSDN部落格 https://blog.csdn.net/n88Lpo/article/details/78099152

4、刀鋒伺服器和磁碟陣列卡(RAID)技術---永和維護(轉) - 李克華 - 部落格園 https://www.cnblogs.com/likehua/p/3682136.html

5、Vmware ESXi檢視RAID健康狀態 - CSDN部落格 https://blog.csdn.net/yxwmzouzou/article/details/78959560

6、MegaCli監控RAID磁碟健康資訊 - Tony_Deng - 部落格園 https://www.cnblogs.com/tony-d/p/5675096.html

7、磁碟陣列卡 遠端監控(MegaRAID Storage Manager)- CSDN部落格 https://blog.csdn.net/tangs_/article/details/79504431

8、MegaRAID Storage Manager配置指南_ https://wenku.baidu.com/view/a5c8f05778563c1ec5da50e2524de518964bd381.html

基於linux系統的megaRAID卡安裝megacli工具後再下個 check_megaraid_sas 外掛就能結合nagios監控,但是windows2003系統,安裝megacli Windows版的工具後還需要自己寫外掛結合nagios監控,因為check_megaraid_sas沒有windows版的,這裡先寫一個megaRAID卡基於windows系統的監控。——外掛是Python的哦 可以自由發揮修改和二次開發。

megacli介紹、安裝、使用、crontab監控指令碼

檢視RAID資訊的工具有mpt-status、megarc、dell OpenManage。經測試只有megacli可以實現目標,dell OpenManage由於較大90M左右沒有安裝。

megacli工具非常強大,不僅能檢視RAID卡資訊,而且還能設定RAID卡,但是不支援SAS 6/iR的RAID卡,不推薦採用megacli線上設定RAID卡,本文也僅用於監控掛接在RAID上的硬碟狀態。

1、檢視raid卡的型號:

root@3:~# lspci |grep RAID  H700

02:00.0 RAID bus controller: LSI Logic / Symbios Logic Device 0079 (rev 04)

root@3:~# lspci  |grep RAID  PERC 6/i

03:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04)

root@k:~# lspci|grep SAS     SAS 6/iR

03:00.0 SCSI storage controller: LSI Logic / Symbios Logic SAS1068E PCI-Express Fusion-MPT SAS (rev 08)

2、安裝megacli

root@3:~# more /etc/apt/sources.list

增加如下源:

##add monitor dell perc 6/i raidcontroller's source

deb http://hwraid.le-vert.net/debian lenny main 

root@3:~# apt-get update

root@3:~# apt-get install megacli

3、使用megacli檢視RAID卡資訊

術語:BBU 電池備份單元(Battery Backup Unit)

常用檢視命令:

megacli -LDInfo -Lall -aALL   查raid級別

megacli -AdpAllInfo -aALL     查raid卡資訊

megacli -PDList -aALL         檢視硬碟資訊

megacli -AdpBbuCmd -aAll      檢視電池資訊

megacli -FwTermLog -Dsply -aALL 檢視raid卡日誌

megacli -adpCount             顯示介面卡個數

megacli -AdpGetTime –aALL    顯示介面卡時間

megacli -AdpAllInfo -aAll     顯示所有介面卡資訊

megacli -LDInfo -LALL -aAll   顯示所有邏輯磁碟組資訊

megacli -PDList -aAll         顯示所有的物理資訊

megacli -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ 檢視充電狀態

megacli -AdpBbuCmd -GetBbuStatus -aALL 顯示BBU狀態資訊

megacli -AdpBbuCmd -GetBbuCapacityInfo -aALL  顯示BBU容量資訊

megacli -AdpBbuCmd -GetBbuDesignInfo -aALL    顯示BBU設計引數

megacli -AdpBbuCmd -GetBbuProperties -aALL    顯示當前BBU屬性

megacli -cfgdsply -aALL       顯示Raid卡型號,Raid設定,Disk相關資訊

4、使用crontab定時監控硬碟狀態的小指令碼

該指令碼實現在監控到硬碟故障時發出報警郵件,並關聯到手機簡訊,以便通知運維人員及時處理。

root@3:~# more /backup/autobackup/autoshell/check_raid_disk_health 

#!/bin/sh

log_dir=/backup/autobackup/logsum/

log_name=_raid_disk_monitor

logtime=$(date +%Y%m%d --date='1 days ago')

fix=.log

host=_`hostname`

STATUS=0

echo  "Checking RAID status on $host" >$log_dir$logtime$log_name$host$fix

RAID_Contrller=`megacli -AdpAllInfo -aALL |grep "Product Name" | cut -d: -f2`

echo "Controller : $RAID_Contrller" >>$log_dir$logtime$log_name$host$fix

Online_disk_num=`megacli  -PDList -aALL | grep Online | wc -l`

echo "Totall number of Physical disks online : $Online_disk_num" >>$log_dir$logtime$log_name$host$fix

Degrade_disk=`megacli -AdpAllInfo -a0 |grep "Degrade"`

echo $Degrade_disk >>$log_dir$logtime$log_name$host$fix

Degrade_disk_num=`echo $Degrade_disk |cut -d" " -f3`

Failed_disk=`megacli -AdpAllInfo -a0 |grep "Failed Disks"`

echo $Failed_disk >>$log_dir$logtime$log_name$host$fix

Failed_disk_num=`echo $Failed_disk |cut -d" " -f4`

##將raid_disk_monitor.log scp到mail上

scp -P120 $log_dir$logtime$log_name$host$fix lai@60.*.*.*:/data/autobackup/logsum

ssh -p120 lai@60.1.1.1  "cat /data/autobackup/logsum//$(date +%Y%m%d --date='1 days ago')_raid*| mail -s "`echo "

/$(date +%Y'年'%m'月'%d'日' --date='1 days ago')ERROR:tv233_RAID卡硬碟報警"|iconv -f utf-8 -t gbk`" postmaster@126.co

m,1860531****@wo.com.cn  -- -f www@xp.com"

[ "$Degrade_disk_num" -ne 0 ] && STATUS=1

[ "$Failed_disk_num" -ne 0 ] && STATUS=1

exit $STATUS

DELL伺服器的各種RAID卡的詳細引數

1、SAS 6/iR Features

This section provides the specifications of Dell邃「 Serial-Attached SCSI (SAS) 6/iR controller. The following table compares the specifications of the SAS 6/iR Adapter and SAS 6/iR Integrated.

Table 3-1. Specifications of SAS 6/iR

Specification

SAS 6/iR Adapter

SAS 6/iR Integrated

SAS technology

Yes

Yes

Support for x4, x8, or x16 PCI Express Host Interface

Yes

Yes

Form Factor

Standard-Height, Half-Length PCI Adapter

Standard-Height, Half-Length PCI on all systems except on blade servers (where the dimension do not follow industry standards) and some Precision workstations (where the controller has been integrated on the mother board)

I/O controller (IOC)

LSI SAS 1068e

LSI SAS 1068e

Core Speed: 255 MHz

Core Speed: 255 MHz

Operating voltage requirements

+12V, +3.3V, +3.3Vaux

+12V, +3.3V, +3.3Vaux

Communication to the system

PCI-E lanes

System dependent

Communication to end devices

SAS Links

SAS Links

SAS Connectors

2 x4 Internal

2 x4 Internal connectors on all systems, with two exceptions: 4 x1 on Precision workstations with controller integrated on the motherboard, no SAS connector on the controller for the blades (I/O is routed though the PCI connector)

Lead Free

Yes

Yes

Supported operating systems

Microsoftツョ Windows Serverツョ2003 Family, Windowsツョ XP, Microsoft Windows Server 2008 Family, Windows Vista邃「, Red Hatツョ Enterprise Linuxツョ Versions 4 and 5, SUSEツョ Linux Enterprise Server Version 10.

Dell-compliant SAS and SATA compatibility

Yes

Yes

Dell supported direct connected end devices

Dell-compliant physical disks

Dell-compliant physical disks

SMART error support through management applications

Yes

Yes

Backplane supported systems

Yes

Yes

Hardware-based RAID

RAID 0, RAID 1

RAID 0, RAID 1

Maximum number of virtual disks

2

2

Storage management software

OpenManage邃「 Storage Services, SAS RAID Storage Manager

OpenManage Storage Services, SAS RAID Storage Manager

NOTE:The management software that is supported depends on the specific platform.

Support for internal tape drive

No

No

Support for Global Hotspare

Yes

Yes

Maximum number of Hotspares

2

2

 

2、Dell所有RAID引數對比表

DellTM PERC Products

 

Model

Interface Support

PCI Support

SAS Connectors

Cache Memory Size

Write Back Cache

RAID Levels

Max Drive Support

RAID Support

 

PERC H800 Adapter

6Gb/s SAS

PCI-Express 2.0

2x4 external

512MB
512MB NV
1GB NV

Yes (TBBU)

0,1,5,6,10,50,60

192

Hardware RAID

PERC H700 Integrated / Adapter

6Gb/s SAS

PCI-Express 2.0

2x4 internal

512MB
512MB NV
1GB NV

Yes (BBU)

0,1,5,6,10,50,60

16

Hardware RAID

PERC H700 Modular

6Gb/s SAS

PCI-Express 2.0

1x4 internal

512MB

Yes (BBU)

0,1,5,6,10

4

Hardware RAID

PERC H200 Integrated / Adapter

6Gb/s SAS

PCI-Express 2.0

2x4 internal

-

-

0,1,10,supports Non-RAID

16

Hardware RAID

PERC H200 Modular

6Gb/s SAS

PCI-Express 2.0

1x4 internal

-

-

0,1,10,supports Non-RAID

4

Hardware RAID

6Gbps SAS HBA

6Gb/s SAS

PCI-Express 2.0

2x4 External

-

-

-

-

HBA Hardware

PERC 6/E Adapter

3Gb/s SAS

PCI-Express 1.0

2x4 external

512MB
256MB

Yes (TBBU)

0,1,5,6,10,50,60

144

Hardware RAID

PERC 6/I Integrated / Adapter

3Gb/s SAS

PCI-Express 1.0

2x4 internal

256MB

Yes (BBU)

0,1,5,6,10,50,60

16

Hardware RAID

PERC 6/I Modular

3Gb/s SAS

PCI-Express 1.0

1x4 internal

256MB

Yes (BBU)

0,1,5,6,10

4

Hardware RAID

CERC 6/I Modular

3Gb/s SAS

PCI-Express 1.0

1x4 internal

128MB

-

0,1,5,6,10

4

Hardware RAID

SAS 6/IR Integrated / Adapter

3Gb/s SAS

PCI-Express 1.0

2x4 internal

-

-

0,1

8

Hardware RAID

SAS 6/IR Modular

3Gb/s SAS

PCI-Express 1.0

1x4 internal

-

-

0,1

4

Hardware RAID

PERC S300
Windows OS only

3Gb/s SAS

PCI-Express 1.0

2x4 internal

-

-

0,1,10,5

8

Software RAID on HBA

PERC S100
Windows OS only

3Gb/s SAS

-

4 cabled SATA

-

-

0,1,10,5

4

Software RAID on SATA chipset

SAS 5/E HBA

3Gb/s SAS

PCI-Express 1.0

2x4 external

-

-

相關文章