在CentOS 6.3 64bit上使用 smartmontools和MageCli 监测硬盘的健康状态
一、簡介
smartmontools是一款開源的磁盤控制,監視工具,通過控制和管理硬盤的SMART(Self?Monitoring?Analysis?and?Reporting?Technology,自動檢測分析及報告技術)技術來實現的,SMART技術可以對硬盤的磁頭單元、盤片電機驅動系統、硬盤內部電路以及盤片表面介質材料等進行監測,當SMART監測并分析出硬盤可能出現問題時會及時向用戶報警以避免計算機數據受損失。SMART技術必須在主板支持的前提下才能發生作用。
smartmontools可以運行在?Linux,Unix,BSD,Solaris,Mac?OS,OS/2,Cygwin和Windows上,同時它還可以從啟動光盤或啟動軟盤運行,支持ATA/ATAPI/SATA-3(到-8)位的硬盤和?SCSI硬盤,另外還支持磁帶設備,它的官網為http://www.smartmontools.org/。
smartmontools,包括了兩個實用程?序:smartctl和smatd。它監控的硬盤必須具有S.M.A.R.T特性,目前所有硬盤都有這個特性,但默認情況下通常沒有開啟這個功能,有兩種?方法來開啟這個特性:1)通過BIOS設置選項2)通過smartctl命令。利用它可以測試硬盤的健康狀況,并在發生故障前進行預警。
MegaCli是一款管理維護硬件RAID軟件,可以通過它來了解當前raid卡的所有信息,包括?raid卡的型號,raid的陣列類型,raid?上各磁盤狀態,等等。通過MegaCli可以實現對RAID陣列內的物理硬盤做監測。
 
二、安裝smartmontools
yum?install?smartmontools
 
開啟服務
service?smartd?start? chkconfig?smartd?on 下面是安裝截圖三、安裝MegaCli的Linux版本 在官網 http://www.avagotech.com/
搜索MegaCli得到下面的截圖
 
下載該壓縮包8-07-14_MegaCLI.zip,解壓后得到全平臺文件,進入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 安裝的文件默認在 /opt/MegaRAID/MegaCli/MegaCli64 為了使用方便,我們創建一個軟連接 ln??-s?/opt/MegaRAID/MegaCli/MegaCli64??/usr/local/bin/MegaCli 在命令行執行MegaCli就可以了,比如查詢硬盤信息 MegaCli?-PDList?-aAll
四、常用命令: 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相關信息】
 
 
 
 
 
 
smartctl -a -d megaraid,0 /dev/sda
其megaraid,0中的0代表的是在megaraid中的物理盤編號
下面使用smartctl透過Raid卡獲取磁盤更詳細的信息:
# 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:?????????????????# 經測試只要存在即可,對應關系搞錯確也仍可正常顯示
 ????????????? For PERC2/3/4 controllers: /dev/megadev0
 ????????????? For PERC5/6 controllers: /dev/megaraid_sas_ioctl_node
對非Raid模式 可以通過這個命令來檢測某個硬盤的健康狀況: #?smartctl?-s?on?-a?/dev/sda? 在這個命令中,"-s?on"標志開啟指定設備上的SMART功能。如果/dev/sda上已開啟SMART支持,那就省略它。
硬盤的SMART信息包含很多部分。其中,"READ?SMART?DATA"部分顯示出硬盤的整體健康狀況。
===?START?OF?READ?SMART?DATA?SECTION?=== SMART?overall-health?self-assessment?rest?result:?PASSED 這個測試的結果是PASSED或FAILED。后者表示即將出現硬件故障,所以需要開始備份這塊磁盤上的重要數據!
六、參考文獻
[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? ?非常有參考價值,特別是后面的說明 [6].http://www.cnblogs.com/cute/archive/2011/08/17/2143259.html? ?對非raid的磁盤監測記錄得比較清楚
總結
以上是生活随笔為你收集整理的在CentOS 6.3 64bit上使用 smartmontools和MageCli 监测硬盘的健康状态的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 在Ubuntu 14.04.3 64bi
- 下一篇: 通过python的ConfigParse
