国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種自動檢測硬盤異常的方法

      文檔序號:8922488閱讀:663來源:國知局
      一種自動檢測硬盤異常的方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,具體地說是一種自動檢測硬盤異常的方法。
      【背景技術(shù)】
      [0002]一般的,隨著服務(wù)器的不斷發(fā)展和壯大,服務(wù)器供應(yīng)商已經(jīng)開拓各個領(lǐng)域服務(wù)器的應(yīng)用,比如互聯(lián)網(wǎng)、金融…等??蛻舻膽?yīng)用較之過去,變得復(fù)雜多樣。硬盤作為服務(wù)器關(guān)鍵部件之一,曾經(jīng)不止一次的出現(xiàn)硬盤掉盤的問題,嚴(yán)重影響客戶的數(shù)據(jù)存儲應(yīng)用,這是客戶難以接受的嚴(yán)重質(zhì)量問題。
      [0003]隨著服務(wù)器行業(yè)的不斷的發(fā)展,Rack作為互聯(lián)網(wǎng)發(fā)展整體解決方案的趨勢已經(jīng)更加明顯;同時隨著rack節(jié)點數(shù)的增加,硬盤本身容量的增加,存儲子系統(tǒng)也有了前所未有的壯大,這樣對于硬盤、控制器兼容性、背板、線纜這一條鏈路的兼容性和穩(wěn)定性就變得尤為重要。
      [0004]作為服務(wù)器產(chǎn)品提供商,如何能滿足用戶多樣化的需求,確保各種應(yīng)用環(huán)境的穩(wěn)定、可靠是現(xiàn)階段必須面臨和考慮的問題。因此對于硬盤在服務(wù)器上使用,必須進(jìn)行全面的功能性、穩(wěn)定性及性能等的測試和驗證,從而確保該產(chǎn)品的質(zhì)量。

      【發(fā)明內(nèi)容】

      [0005]本發(fā)明的技術(shù)任務(wù)是解決現(xiàn)有技術(shù)的不足,提供一種自動檢測硬盤異常的方法。
      [0006]本發(fā)明的技術(shù)方案是按以下方式實現(xiàn)的,該自動檢測硬盤異常的方法,該方法的步驟是:
      在服務(wù)器上準(zhǔn)備測試環(huán)境,搭建測試平臺,安裝操作系統(tǒng),安裝測試工具,配置測試參數(shù),開始測試,監(jiān)控測試過程,條件選擇:
      如果監(jiān)視測試過程失敗,則查看報錯信息并記錄硬盤SN碼,做出后續(xù)處理,結(jié)束測試; 如果監(jiān)視測試過程無任何異常,則查看測試結(jié)果,結(jié)束測試。
      [0007]在服務(wù)器上準(zhǔn)備測試環(huán)境,搭建測試平臺,安裝Linux或者CentOS操作系統(tǒng),安裝測試工具,將測試工具拷貝到測試機(jī),先后運行check, sh程序、hd.sh程序,根據(jù)實際需要運行重啟的次數(shù)修改reboot, sh,并將其放在root/, bashrc,配置測試參數(shù),開始測試,監(jiān)控測試過程,條件選擇:
      如果監(jiān)視測試過程失敗,則查看報錯信息并記錄硬盤SN碼,做出后續(xù)處理,結(jié)束測試; 如果監(jiān)視測試過程無任何異常,則查看測試結(jié)果,結(jié)束測試。
      [0008]開始測試之前,編寫測試腳本,測試之前先將硬盤相關(guān)信息讀出并自動記錄到文本中,每次重新啟動服務(wù)器都會重新運行該測試腳本,檢測硬盤所有信息并與之前記錄信息作比較,若有異常就會自動報錯,進(jìn)入條件選擇。
      [0009]測試腳本設(shè)置重啟次數(shù),也可以根據(jù)提示自動停止測試,當(dāng)有問題出現(xiàn)時,設(shè)置紅色提示,并自動停止測試。
      [0010]本發(fā)明與現(xiàn)有技術(shù)相比所產(chǎn)生的有益效果是: 該自動檢測硬盤異常的方法是結(jié)合Linux下smartctl命令對硬盤信息和健康狀態(tài)的檢測,并融入到服務(wù)器的重啟測試中,通過長時間的重啟測試及每次的硬盤檢測測試,達(dá)到存儲子系統(tǒng)穩(wěn)定性測試目的,同時也能夠兼顧硬盤可靠性和穩(wěn)定性測試。
      [0011]該自動檢測硬盤異常的方法操作簡單,自動化程度高,實用性較強(qiáng),能夠節(jié)省人力,有效確保了服務(wù)器的穩(wěn)定性和可靠性,是驗證產(chǎn)品質(zhì)量的非常有效的方法。
      【附圖說明】
      [0012]附圖1是本發(fā)明的流程示意圖。
      【具體實施方式】
      [0013]下面結(jié)合附圖對本發(fā)明的一種自動檢測硬盤異常的方法作以下詳細(xì)說明。
      [0014]如附圖所示,本發(fā)明的自動檢測硬盤異常的方法,該方法的步驟是:
      在服務(wù)器上準(zhǔn)備測試環(huán)境,搭建測試平臺,安裝操作系統(tǒng),安裝測試工具,配置測試參數(shù),開始測試,監(jiān)控測試過程,條件選擇:
      如果監(jiān)視測試過程失敗,則查看報錯信息并記錄硬盤SN碼,做出后續(xù)處理,結(jié)束測試; 如果監(jiān)視測試過程無任何異常,則查看測試結(jié)果,結(jié)束測試。
      [0015]在服務(wù)器上準(zhǔn)備測試環(huán)境,搭建測試平臺,安裝Linux或者CentOS操作系統(tǒng),安裝測試工具,將測試工具拷貝到測試機(jī),先后運行check, sh程序、hd.sh程序,根據(jù)實際需要運行重啟的次數(shù)修改reboot, sh,并將其放在root/, bashrc,配置測試參數(shù),開始測試,監(jiān)控測試過程,條件選擇:
      如果監(jiān)視測試過程失敗,則查看報錯信息并記錄硬盤SN碼,做出后續(xù)處理,結(jié)束測試; 如果監(jiān)視測試過程無任何異常,則查看測試結(jié)果,結(jié)束測試。
      [0016]開始測試之前,編寫測試腳本,測試之前先將硬盤相關(guān)信息讀出并自動記錄到文本中,每次重新啟動服務(wù)器都會重新運行該測試腳本,檢測硬盤所有信息并與之前記錄信息作比較,若有異常就會自動報錯,進(jìn)入條件選擇。
      [0017]測試腳本設(shè)置重啟次數(shù),也可以根據(jù)提示自動停止測試,當(dāng)有問題出現(xiàn)時,設(shè)置紅色提示,并自動停止測試。
      [0018]該自動檢測硬盤異常的方法是結(jié)合Linux下smartctl命令對硬盤信息和健康狀態(tài)的檢測,并融入到服務(wù)器的重啟測試中,通過長時間的重啟測試及每次的硬盤檢測測試,達(dá)到存儲子系統(tǒng)穩(wěn)定性測試目的,同時也能夠兼顧硬盤可靠性和穩(wěn)定性測試。
      [0019]硬盤SN碼是SerialNumber的縮寫,有時也叫SerialNo,也就是產(chǎn)品序列號。
      [0020]測試程序的腳本,主要是為了檢測硬盤的健康狀態(tài)以及存儲子系統(tǒng)的穩(wěn)定性和可靠性,以達(dá)到提高子系統(tǒng)穩(wěn)定性和確保產(chǎn)品質(zhì)量的目的。
      [0021]S.M.A.R.T.是英文 Self — Monitoring Analysis and Reporting Technology(自動檢測分析及報告技術(shù))的簡寫。它能對硬盤的磁頭單元、硬盤溫度、盤片表面介質(zhì)材料、馬達(dá)及其驅(qū)動系統(tǒng)、硬盤內(nèi)部電路等進(jìn)行監(jiān)測,及時分析并預(yù)報硬盤可能發(fā)生的問題。
      [0022]利用Linux下smartctl命令可以查看硬盤型號、Firmware版本、容量大小、健康狀態(tài)等的功能,編寫測試腳本:測試前先將硬盤相關(guān)信息讀出并自動記錄到某個文本中,每次重新啟動服務(wù)器都會重新運行該腳本,檢測硬盤所有信息并與之前記錄信息作比較,若有異常就會自動報錯。根據(jù)報錯信息就可以找到是哪一塊硬盤有問題,是什么樣的問題,然后再做進(jìn)一步的分析和驗證。此腳本可以設(shè)置重啟次數(shù),也可以根據(jù)提示自動停止測試,當(dāng)有問題出現(xiàn)時,有紅色提示,并自動停止測試。
      [0023]測試程序如下:
      I)、reboot, sh 腳本代碼: console='/usr/bin/tty'
      #.bashrc
      #User specific aliases and funct1nsalias rm=i rm ~i
      alias cp=i cp ~ialias mv=’mv ~i
      #Source global definit1nsif [ -f /etc/bashrc ]; then./etc/bashrc
      fi
      #source /opt/intel/composer_xe_2013/bin/compilervars.sh intel64
      #source /opt/intel/mkl/bin/intel64/mklvars_intel64.sh
      #source /opt/intel/impi/4.1.1.036/bin64/mpivars.sh
      case $console in
      /dev/ttyl | /dev/pts[0-100])
      if [ -f /tmp/rcishu ];then
      rcishu='cat /tmp/rcishu'
      else
      /bin/touch rcishurcishu=0fi
      if [ $rcishu -1t 50 ];then
      sh /opt/scripts/hd.sh
      sh /opt/scripts/hd.sh >> /tmp/hdtest.txt read _t 5 -p 〃Press y Break Reboot 〃 aa if [ "${aar = ? ] I I [ "${aar = "Y" ] ; then echo Breaked Reboot Cycle!!!! else
      rcishu=$ (($rcishu+l)) echo 〃$ {rcishu}〃> /tmp/rcishu echo reboot $rcishu /sbin/reboot fifi
      esac
      3)、check, sh腳本代碼:
      #!/bin/sh
      rm /tmp/paizh1.txt _rf/sbin/service ipmi restart > /dev/nullf He-/proc/cpuinfo
      num='grep "physical id" $file |sort |uniq |awk , {print $4}, |wc -1'corenum='grep ^cpu cores" $file |sort |uniq | awk,{print $4},| sed -nr,H;${x; s/\n/ /g;p},'
      clock='grep name $file |awk -F CPU ’ {print $2}’ |sed _e ’s/ 0 //g’ _e ’s///g -e ,s/GHz//g, Iawk _F@ , {print $2}, |sort |uniq|sed -nr , H;${x; s八n/ /g;p},'
      model='grep name $file |awk -F CPU ’ {print $2}’ |sed _e ’s/ 0 //g _e ’s///g Iawk -F@ , {print $1}, |sort |uniq |sed -nr , H;${x; s八n/ /g;p}, |tr [a~z][A-Z]'
      cache= grep 〃cache size〃 $file | sort | uniq | awk,{print $4},| sed -nr,H;${x; s/\n/ /g;p},'
      let cache=cache/1024cache=$cache〃M〃
      stepping='grep stepping /proc/cpuinfo |uniq |sed,s/ //g \ awk -F:,{print$2}’ Ised -nr ’ H;${x; s/\n/ /g;p},'
      {
      echo //cpu_number=//$num////echo 〃cpu—core=\〃$corenum\〃〃echo //cpu_type=//$model////echo 〃cpu—cache=\〃$cache\〃〃echo 〃cpu—clock=\〃$clock\〃〃echo "cpu—Stepping=VSsteppingV"
      } >/tmp/cpu.txtfor i in {a..1}do
      if [ -b /dev/sd$i ];then
      /usr/sbin/smartctl -a /dev/sd$i >hdinf0.$$
      model='grep Model hdinf0.$$ |sed,s/: */:/g,|awk -F:,{print $2}fw='grep Firmware hdinf0.$$ |sed ’s/::/g \awk -F: ’ {print $2}serial='grep Serial hdinf0.$$ |sed ’s/::/g \awk -F: ’ {print $2}cap=' grep User hdinf0.$$ | sed,s/::/g \ sed,s/,//g,| awk -F:,{printf ("%dG\n",$2/1000/1000/1000)}’ 'smart='grep 〃SMART support is: Enabled" hdinf0.$$'smartlog= grep 〃No Errors Logged" hdinf0.$$fi
      done
      {
      echo 〃hdmodel=\〃$model\〃〃
      echo //hdfw=//$fw////
      echo 〃serial=\〃$serial\〃〃
      echo //hdcap=//$cap////
      echo 〃smart=\〃$smart\〃〃
      echo 〃smartlog=\〃$smartlog\〃〃
      } >/tmp/hd.txt
      sysmem='grep MemTotal /proc/meminfo |awk ’ {print $2}sysmem='echo "scale=2;$sysmem/1024/1024"|bc'to talmem=//$ sysmem^
      {
      meminfo= /usr/sbin/dmidecode |grep -A16 "Memory Device$〃 | sed _e ’/./{H;$!d;}, \
      -e J X;/Memory Device\n/!d;,\
      -e,s/: /:/g \
      -e ’s/〈/{/g,\
      -e ’s/>/}/g’ \
      -
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1