一種基于linux下的硬盤盤序檢測方法
【技術領域】
[0001]本發(fā)明公開一種基于linux下的硬盤盤序檢測方法,屬于硬盤檢測技術領域。
【背景技術】
[0002]硬盤是電腦主要的存儲媒介之一,硬盤有固態(tài)硬盤、機械硬盤、混合硬盤。固態(tài)硬盤采用閃存顆粒來存儲,機械硬盤采用磁性碟片來存儲,混合硬盤是把磁性硬盤和閃存集成到一起的一種硬盤。絕大多數(shù)硬盤都是固定硬盤,被永久性地密封固定在硬盤驅動器中。
[0003]隨著云計算服務的到來,IT行業(yè)迅猛的發(fā)展,服務商對于數(shù)據(jù)的處理越來越復雜多樣化。數(shù)據(jù)量的指數(shù)式增長也就會造成計算與存儲之間矛盾,巨大的數(shù)據(jù)處理壓力下,硬盤能否穩(wěn)定的工作直接影響到服務器到工作效率。作為服務器提供商,必須做到硬盤的穩(wěn)定應有可靠的保障,而硬盤穩(wěn)定性檢測中,對于盤序檢測是十分重要的,目前還沒有明確的方法對其進行檢測。
[0004]本發(fā)明公開了一種基于linux下的硬盤盤序檢測方法,利用搭建linux測試環(huán)境;檢測判斷系統(tǒng)、檢測系統(tǒng)盤并分區(qū)、獲取所有磁盤分區(qū)并加壓、獲取所有磁盤、執(zhí)行重啟并調(diào)用檢測盤序腳本、最后自動處理log ;利用本發(fā)明可以檢驗節(jié)點加壓重啟后硬盤的SN是否正常,可以分析硬盤的穩(wěn)定性是否存在問題,可以分析處理硬盤的報錯信息。
【發(fā)明內(nèi)容】
[0005]本發(fā)明針對現(xiàn)有技術中沒有明確的方法對硬盤盤序進行檢測的問題,提供一種基于PCIE總線實現(xiàn)鏈路多分復用的方法,檢驗節(jié)點加壓重啟后硬盤的SN是否正常,可以分析硬盤的穩(wěn)定性是否存在問題,可以分析處理硬盤的報錯信息。
[0006]本發(fā)明提出的具體方案是:
一種基于linux下的硬盤盤序檢測方法,根據(jù)需求搭建測試平臺,將測試腳本拷貝到測試平臺,啟動測試腳本自動開始測試,檢測操作系統(tǒng),檢測系統(tǒng)盤并分區(qū),獲取磁盤分區(qū),調(diào)用檢測盤序腳本與初始磁盤SN對比處理log,輸出腳本處理日志。
[0007]檢測操作系統(tǒng),檢測系統(tǒng)盤,循環(huán)操作所有的磁盤,分辨系統(tǒng)盤,并給磁盤分區(qū)。
[0008]根據(jù)測試腳本測試中用到的啟動文件判斷不同的Linux操作系統(tǒng)文件不同的差別。
[0009]不同的操作系統(tǒng)執(zhí)行相應的Linux下reboot命令。
[0010]所述的不同的操作系統(tǒng)為Ubuntu或SUSE或redhat。
[0011]本發(fā)明的有益之處是:
本發(fā)明提供一種基于linux下的硬盤盤序檢測方法,適用于LINUX測試平臺,根據(jù)需求搭建測試平臺,將測試腳本拷貝到測試平臺,啟動測試腳本自動開始測試,檢測操作系統(tǒng),檢測系統(tǒng)盤并分區(qū),獲取磁盤分區(qū),調(diào)用檢測盤序腳本與初始磁盤SN對比處理log,輸出腳本處理日志;能夠檢測服務器在壓力重啟時出現(xiàn)磁盤排序紊亂的情況,自動化測試完成不斷重啟服務器情況下的硬盤穩(wěn)定性測試工作,并且該測試方法操作簡單,可以大大減少了人力物力,以及人工檢測操作及干預的時間,豐富了測試手段,提高了測試效率,并且可以靈活的根據(jù)測試需要進行測試,大大節(jié)約了時間成本。
【附圖說明】
[0012]圖1本發(fā)明方法流程示意圖。
【具體實施方式】
[0013]—種基于linux下的硬盤盤序檢測方法,根據(jù)需求搭建測試平臺,將測試腳本拷貝到測試平臺,啟動測試腳本自動開始測試,檢測操作系統(tǒng),檢測系統(tǒng)盤并分區(qū),獲取磁盤分區(qū),調(diào)用檢測盤序腳本與初始磁盤SN對比處理log,輸出腳本處理日志。
[0014]根據(jù)上述方法,結合附圖對本發(fā)明做進一步說明。
[0015]—種基于linux下的硬盤盤序檢測方法,根據(jù)需求搭建測試平臺,將測試腳本拷貝到測試平臺,啟動測試腳本自動開始測試,檢測操作系統(tǒng),檢測系統(tǒng)盤并分區(qū),獲取磁盤分區(qū),調(diào)用檢測盤序腳本與初始磁盤SN對比處理log,輸出腳本處理日志;
其中檢測操作系統(tǒng)時,主要測試腳本代碼如下:
#檢測操作系統(tǒng) funct1n checkrc ()
{
if [ ! -d /home/rebootfiles/ ]then
mkdir /home/rebootfiles/
fi
if [ ! -f /home/rebootfiles/rc.local, tmp ]then
#sysname= uname -a | awk ' {print $2}' if [ $SYS == "Ubuntu"] then
cp /etc/rc.local /home/rebootfiles/rc.local, tmp # echo "the sys is $SYSName" el if [ $SYS == 〃SUSE"] then
echo 〃 The system is $SYSName〃 elif [ -f /etc/rc.d/rc.local ] then
#echo "The system is $SYSName〃
}
根據(jù)測試腳本測試中用到的啟動文件判斷不同的Linux操作系統(tǒng)文件不同的差別; 檢測系統(tǒng)盤,并給磁盤分區(qū),主要測試腳本代碼如下: funct1n partediskO
{
for i in $DEV—NAME—ALL
do
echo 〃Scaning the disk $i〃
#echo "The SYS Disk is $SYSDisk" if [ "$i" = "$SYSDisk"] then
#sys disk parted
ENDsize='parted $SYSDisk —script print | grep 〃Disk /dev/sd〃 | awk’ {print $3},'
partedline='parted $SYSDisk —script print | awk ’ {deadline++}END{deadline=deadline-l;print deadline}’'echo $partedline
STARTsize='parted $SYSDisk —script print | sed _n 〃$partedline, lp〃|awk’ {print $3},'
if [ $ENDsize != $STARTsize ] then
parted $SYSDisk —script mkpart primary $STARTsize $ENDsize fi
echo 〃The sysDisk idel endsize $ENDsize〃 echo "The sysDisk idel startsize $STARTsize〃 echo 〃〃 > /home/rebootfiles/ddisk.txt else
# echo $i >> /home/rebootfiles/ddisk.txt #No sys disk will be set to gpt parted $i —script mklabel gpt parted $i —script mkpart primary 0 100% parted $i —script print
fi
done
}
循環(huán)操作所有的磁盤,分辨系統(tǒng)盤,并給磁盤分區(qū),主要測試腳本代碼如下:
#磁盤加壓 funct1n auto_dd()
{
partedisk Reboot startecho ’bash RebootDIR/reboot.sh stopbash RebootDIR/reboot.sh yesdd'>/home/rebootf i1es/powercyc1e.sh
}
funct1n fdisk_dd()
{……}
不同的操作系統(tǒng)執(zhí)行相應的Linux下reboot命令:
#不同的操作系統(tǒng)執(zhí)行相應的reboot方法 funct1n SuseReboot()
{
}
funct1n UbuntuReboot() {......}
funct1n NormalReboot()
{
cp-f/home/rebootfiles/rc.local, tmp/home/rebootfiles/rc.local, tmplcp /root/sort, sh /home/rebootfiles/echo〃sh/home/rebootfiles/sort.sh&〃>> /home/rebootfiles/rc.local, tmplecho 〃sh /home/rebootf i1es/powercyc1e.sh &〃 >>
/home/rebootfiles/rc.local, tmpl
cp -f /home/rebootfiles/rc.local, tmpl /etc/rc.d/rc.local
}
主要是向開機啟動項中加入命令腳本,引入了檢測盤序的sort, sh腳本,在函數(shù)funct1n Reboot ()中寫入了 reboot次數(shù),達到次數(shù)會停止該測試的執(zhí)行。
[0016]最后在測試完成之后,執(zhí)行日志篩選腳本sel.sh,輸出相應的log,測試完成。
[0017]本測試適用于Linux測試平臺,能夠檢測服務器在壓力重啟時出現(xiàn)磁盤排序紊亂的情況,自動化測試完成不斷重啟服務器情況下的硬盤穩(wěn)定性測試工作,并且該測試方法操作簡單,可以大大減少了人力物力,以及人工檢測操作及干預的時間,豐富了測試手段,提高了測試效率,并且可以靈活的根據(jù)測試需要進行測試,大大節(jié)約了時間成本。
【主權項】
1.一種基于linux下的硬盤盤序檢測方法,其特征是根據(jù)需求搭建測試平臺,將測試腳本拷貝到測試平臺,啟動測試腳本自動開始測試,檢測操作系統(tǒng),檢測系統(tǒng)盤并分區(qū),獲取磁盤分區(qū),調(diào)用檢測盤序腳本與初始磁盤SN對比處理log,輸出腳本處理日志。2.根據(jù)權利要求1所述的方法,其特征是檢測操作系統(tǒng),檢測系統(tǒng)盤,循環(huán)操作所有的磁盤,分辨系統(tǒng)盤,并給磁盤分區(qū)。3.根據(jù)權利要求1或2所述的方法,其特征是根據(jù)測試腳本測試中用到的啟動文件判斷不同的Linux操作系統(tǒng)文件不同的差別。4.根據(jù)權利要求3所述的方法,其特征是不同的操作系統(tǒng)執(zhí)行相應的Linux下reboot命令。5.根據(jù)權利要求4所述的方法,其特征是所述的不同的操作系統(tǒng)為Ubuntu或SUSE或redhatο
【專利摘要】本發(fā)明公開一種基于linux下的硬盤盤序檢測方法,屬于硬盤檢測技術領域;適用于LINUX測試平臺,根據(jù)需求搭建測試平臺,將測試腳本拷貝到測試平臺,啟動測試腳本自動開始測試,檢測操作系統(tǒng),檢測系統(tǒng)盤并分區(qū),獲取磁盤分區(qū),調(diào)用檢測盤序腳本與初始磁盤SN對比處理log,輸出腳本處理日志;能夠檢測服務器在壓力重啟時出現(xiàn)磁盤排序紊亂的情況,自動化測試完成不斷重啟服務器情況下的硬盤穩(wěn)定性測試工作,并且該測試方法操作簡單,可以大大減少了人力物力,以及人工檢測操作及干預的時間,豐富了測試手段,提高了測試效率,并且可以靈活的根據(jù)測試需要進行測試,大大節(jié)約了時間成本。
【IPC分類】G06F11/26
【公開號】CN105302687
【申請?zhí)枴緾N201510906472
【發(fā)明人】孟亞男
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司
【公開日】2016年2月3日
【申請日】2015年12月10日