在CentOS 6.3 64bit上使用 smartmontools和MageCli 监测硬盘的健康状态
一、簡(jiǎn)介
smartmontools是一款開源的磁盤控制,監(jiān)視工具,通過控制和管理硬盤的SMART(Self?Monitoring?Analysis?and?Reporting?Technology,自動(dòng)檢測(cè)分析及報(bào)告技術(shù))技術(shù)來實(shí)現(xiàn)的,SMART技術(shù)可以對(duì)硬盤的磁頭單元、盤片電機(jī)驅(qū)動(dòng)系統(tǒng)、硬盤內(nèi)部電路以及盤片表面介質(zhì)材料等進(jìn)行監(jiān)測(cè),當(dāng)SMART監(jiān)測(cè)并分析出硬盤可能出現(xiàn)問題時(shí)會(huì)及時(shí)向用戶報(bào)警以避免計(jì)算機(jī)數(shù)據(jù)受損失。SMART技術(shù)必須在主板支持的前提下才能發(fā)生作用。
smartmontools可以運(yùn)行在?Linux,Unix,BSD,Solaris,Mac?OS,OS/2,Cygwin和Windows上,同時(shí)它還可以從啟動(dòng)光盤或啟動(dòng)軟盤運(yùn)行,支持ATA/ATAPI/SATA-3(到-8)位的硬盤和?SCSI硬盤,另外還支持磁帶設(shè)備,它的官網(wǎng)為http://www.smartmontools.org/。
smartmontools,包括了兩個(gè)實(shí)用程?序:smartctl和smatd。它監(jiān)控的硬盤必須具有S.M.A.R.T特性,目前所有硬盤都有這個(gè)特性,但默認(rèn)情況下通常沒有開啟這個(gè)功能,有兩種?方法來開啟這個(gè)特性:1)通過BIOS設(shè)置選項(xiàng)2)通過smartctl命令。利用它可以測(cè)試硬盤的健康狀況,并在發(fā)生故障前進(jìn)行預(yù)警。
MegaCli是一款管理維護(hù)硬件RAID軟件,可以通過它來了解當(dāng)前raid卡的所有信息,包括?raid卡的型號(hào),raid的陣列類型,raid?上各磁盤狀態(tài),等等。通過MegaCli可以實(shí)現(xiàn)對(duì)RAID陣列內(nèi)的物理硬盤做監(jiān)測(cè)。
二、安裝smartmontools
yum?install?smartmontools
開啟服務(wù)
service?smartd?start? chkconfig?smartd?on 下面是安裝截圖三、安裝MegaCli的Linux版本 在官網(wǎng) http://www.avagotech.com/
搜索MegaCli得到下面的截圖
下載該壓縮包8-07-14_MegaCLI.zip,解壓后得到全平臺(tái)文件,進(jìn)入Linux目錄下面安裝rpm包
解壓 mkdir?-p?8-07-14_MegaCLI/ unzip?8-07-14_MegaCLI.zip?-d?8-07-14_MegaCLI/ 安裝 rpm?-ivh?MegaCli-8.07.14-1.noarch.rpm 安裝的文件默認(rèn)在 /opt/MegaRAID/MegaCli/MegaCli64 為了使用方便,我們創(chuàng)建一個(gè)軟連接 ln??-s?/opt/MegaRAID/MegaCli/MegaCli64??/usr/local/bin/MegaCli 在命令行執(zhí)行MegaCli就可以了,比如查詢硬盤信息 MegaCli?-PDList?-aAll
四、常用命令: MegaCli??-LDInfo?-Lall?-aALL?查raid級(jí)別 MegaCli?-AdpAllInfo?-aALL?查raid卡信息 MegaCli?-PDList?-aALL?查看硬盤信息 MegaCli?-AdpBbuCmd?-aAll?查看電池信息 MegaCli?-FwTermLog?-Dsply?-aALL?查看raid卡日志 MegaCli?-adpCount?【顯示適配器個(gè)數(shù)】 MegaCli?-AdpGetTime?–aALL?【顯示適配器時(shí)間】 MegaCli?-AdpAllInfo?-aAll????【顯示所有適配器信息】 MegaCli?-LDInfo?-LALL?-aAll????【顯示所有邏輯磁盤組信息】 MegaCli?-PDList?-aAll????【顯示所有的物理信息】 MegaCli?-AdpBbuCmd?-GetBbuStatus?-aALL?|grep?‘Charger?Status’?【查看充電狀態(tài)】 MegaCli?-AdpBbuCmd?-GetBbuStatus?-aALL【顯示BBU狀態(tài)信息】 MegaCli?-AdpBbuCmd?-GetBbuCapacityInfo?-aALL【顯示BBU容量信息】 MegaCli?-AdpBbuCmd?-GetBbuDesignInfo?-aALL????【顯示BBU設(shè)計(jì)參數(shù)】 MegaCli?-AdpBbuCmd?-GetBbuProperties?-aALL????【顯示當(dāng)前BBU屬性】 MegaCli?-cfgdsply?-aALL????【顯示Raid卡型號(hào),Raid設(shè)置,Disk相關(guān)信息】
smartctl -a -d megaraid,0 /dev/sda
其megaraid,0中的0代表的是在megaraid中的物理盤編號(hào)
下面使用smartctl透過Raid卡獲取磁盤更詳細(xì)的信息:
# smartctl manual 摘錄..
????????????? Under Linux , to look at SCSI/SAS disks behind LSI MegaRAID controllers, use syntax such as:
??????????????smartctl -a -d megaraid,2 /dev/sda
????????????? smartctl -a -d megaraid,0 /dev/sdb
????????????? where in the argument megaraid,N,?the integer N is the physical disk number within the MegaRAID controller.? This? interface? will
??????????????also work for Dell PERC controllers.? The following /dev/XXX entry must exist:?????????????????# 經(jīng)測(cè)試只要存在即可,對(duì)應(yīng)關(guān)系搞錯(cuò)確也仍可正常顯示
????????????? For PERC2/3/4 controllers: /dev/megadev0
????????????? For PERC5/6 controllers: /dev/megaraid_sas_ioctl_node
對(duì)非Raid模式 可以通過這個(gè)命令來檢測(cè)某個(gè)硬盤的健康狀況: #?smartctl?-s?on?-a?/dev/sda? 在這個(gè)命令中,"-s?on"標(biāo)志開啟指定設(shè)備上的SMART功能。如果/dev/sda上已開啟SMART支持,那就省略它。
硬盤的SMART信息包含很多部分。其中,"READ?SMART?DATA"部分顯示出硬盤的整體健康狀況。
===?START?OF?READ?SMART?DATA?SECTION?=== SMART?overall-health?self-assessment?rest?result:?PASSED 這個(gè)測(cè)試的結(jié)果是PASSED或FAILED。后者表示即將出現(xiàn)硬件故障,所以需要開始備份這塊磁盤上的重要數(shù)據(jù)!
六、參考文獻(xiàn)
[1].https://linux.cn/article-4461-1-rel.html [2].https://linux.cn/article-4461-2.html
[3].https://linux.cn/article-4461-1-rel.html? ? 上述問題的解決方法 [4].http://www.linuxidc.com/Linux/2014-09/107093.htm? ?下面MegaCLI軟件包 [5].http://www.techsiteanalytics.com/index.php/2013/04/15/5462? ?非常有參考價(jià)值,特別是后面的說明 [6].http://www.cnblogs.com/cute/archive/2011/08/17/2143259.html? ?對(duì)非raid的磁盤監(jiān)測(cè)記錄得比較清楚
總結(jié)
以上是生活随笔為你收集整理的在CentOS 6.3 64bit上使用 smartmontools和MageCli 监测硬盘的健康状态的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Ubuntu 14.04.3 64bi
- 下一篇: 通过python的ConfigParse