亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種測試硬盤數(shù)據(jù)一致性的方法與流程

文檔序號:11063400閱讀:1721來源:國知局
一種測試硬盤數(shù)據(jù)一致性的方法與制造工藝

本發(fā)明涉及硬盤數(shù)據(jù)測試技術(shù),尤其涉及一種測試硬盤數(shù)據(jù)一致性的方法。



背景技術(shù):

隨著浪潮服務(wù)器產(chǎn)業(yè)的不斷發(fā)展和壯大,作為國內(nèi)最大的服務(wù)器供應(yīng)商,服務(wù)器市場已經(jīng)囊括各個領(lǐng)域,尤其是金融、互聯(lián)網(wǎng)等主流領(lǐng)域,互聯(lián)網(wǎng)的高速發(fā)展,信息的高安全性和系統(tǒng)的高可靠性越來越成為公司、企業(yè)、政府最為關(guān)注的事情,而硬盤作為數(shù)據(jù)存儲的主要載體,其穩(wěn)定性和可靠性也越來越受到重視,因此對于硬盤在我們服務(wù)器上使用時經(jīng)常會有備份和硬盤數(shù)據(jù)的轉(zhuǎn)儲出現(xiàn),在硬盤數(shù)據(jù)轉(zhuǎn)移的過程中,硬盤之間的數(shù)據(jù)一致性很重要。基于以上要求,在測試過程中需要一種方法在系統(tǒng)下測試硬盤數(shù)據(jù)一致性。



技術(shù)實現(xiàn)要素:

為了解決以上問題,本發(fā)明提出了一種測試硬盤數(shù)據(jù)一致性的方法??梢詰?yīng)用于各種配置下的硬盤數(shù)據(jù)一致性的測試,實現(xiàn)快速、高效、準(zhǔn)確、自動化的進(jìn)行差異的對比,而且對比的結(jié)果簡單明了,對提高服務(wù)器產(chǎn)品的質(zhì)量提供了可靠的保障。

本發(fā)明便于發(fā)現(xiàn)硬盤復(fù)制和轉(zhuǎn)儲的過程中出現(xiàn)的錯誤。在硬盤分區(qū)上復(fù)制數(shù)據(jù),通過對數(shù)據(jù)的復(fù)制和對比等操作,之后與原始數(shù)據(jù)對比,來完成壓力測試發(fā)現(xiàn)是否具有數(shù)據(jù)一致性。

本發(fā)明的技術(shù)方案是:

一種測試硬盤數(shù)據(jù)一致性的方法,

通過將硬盤分區(qū)再將分區(qū)格式化后,把硬盤的分區(qū)掛載到文件系統(tǒng)中,通過對數(shù)據(jù)(文件)在硬盤所掛載的文件系統(tǒng)中復(fù)制并且比較,查看是否數(shù)據(jù)一致如果不一致就記錄差異;在多個硬盤之間循環(huán)一次以上復(fù)制和比較,模擬客戶業(yè)務(wù)長時間的運行過程,記錄差異查看數(shù)據(jù)的差異性。然后查看結(jié)果,看是否在復(fù)制的過程中產(chǎn)生了數(shù)據(jù)不一致的情況。

具體流程為:

1)安裝linux系統(tǒng)取得root權(quán)限,

2)為硬盤或邏輯磁盤分區(qū)并格式化;

3)將格式化的硬盤分區(qū)掛載到文件系統(tǒng)下;

4)將文件從一個文件夾復(fù)制到另一個文件夾;

5)比較兩個文件夾內(nèi)容的差異,查看是否一致;

6)如果一致,繼續(xù)復(fù)制,再查看差異;

如果不一致,記錄差異并繼續(xù)復(fù)制,再查看差異。

準(zhǔn)備工作

需要將待測硬盤接入到系統(tǒng)中,安裝linux系統(tǒng),在/root下創(chuàng)建Src文件夾,將非二進(jìn)制文件copy到Src文件夾中。

具體測試步驟為:

1)對服務(wù)器系統(tǒng)中的硬盤進(jìn)行分區(qū);

2)將硬盤分區(qū)格式化成EXT4的格式;

3)在/opt下建立與硬盤數(shù)量相等,并且名稱對應(yīng)的文件夾;

4)將硬盤分區(qū)掛載到相應(yīng)的文件夾下;

5)將Src文件夾中的所有文件在硬盤的分區(qū)中循環(huán)復(fù)制和刪除;

6)比較每次復(fù)制的差異;

7)將差異記錄,回傳測試結(jié)果。

本發(fā)明的有益效果是

通過自動運行的方法減少了以往測試的時候手動測試的復(fù)雜性,可以減少簡化操作,節(jié)省了人力和時間。

附圖說明

圖1是測試流程示意圖。

具體實施方式

下面對本發(fā)明的內(nèi)容進(jìn)行更加詳細(xì)的闡述:

本發(fā)明的驗證步驟為:

將待測硬盤接入到系統(tǒng)中,安裝linux系統(tǒng),在/root下創(chuàng)建Src文件夾,將非二進(jìn)制文件copy到Src文件夾中。

1、運行copy and compare時,顯示copy次數(shù);

2、當(dāng)運行完成時,出現(xiàn)“Test finished1000times!”

3、查看test.log,可以查看成功復(fù)制的次數(shù)和是否通過。

附腳本和說明

腳本deal_disk是給硬盤分區(qū)及格式化的腳本,其中給硬盤分配的大小為40G,格式化模式為ext4的格式。

#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin

export PATH

for i in {b..d};

do

fdisk /dev/sd$i <<ESXU

n

p

1

+40G

w

ESXU

sleep 3s

mkfs.ext4 /dev/sd"$i"1

done

腳本mount_disk是在/root下創(chuàng)建文件夾并將硬盤分區(qū)掛載到相應(yīng)文件夾的腳本

#/bin/bash

for i in {b..d};

do

umount /root/test/$i

done

rm -rf /root/test

mkdir /root/test

for i in {b..d};

do

mkdir /root/test/$i

done

for i in {b..d};

do

mount /dev/sd"$i"1 /root/test/$i

done

腳本copy_and_compare是將Src中的非二進(jìn)制文件copy到/opt下的文件中,并在各個文件夾中不斷進(jìn)行多次copy和compare的腳本,腳本中使用cp命令進(jìn)行復(fù)制使用diff命令進(jìn)行對比校驗并將對比結(jié)果記錄到diffsrc.txt和diff.txt中,同時也會將出現(xiàn)差異的地方也記錄下來,方便測試完成后進(jìn)行查看,將copy次數(shù)和結(jié)果放到test.log和Success.log中。

#!/bin/bash

TestCount=1000

rm diff.txt

rm diffsrc.txt

rm SuccessCount.log

rm test.log

for i in {b..d};

do

rm -rvf /root/test/$i/*

done

cp -a /root/Src/* /root/test/b

diff /root/Src /root/test/b |tee -a diffsrc.txt

diffsrc=$(cat diffsrc.txt | wc -l)

if [ "$diffsrc" != "0" ]; then

echo "Compare with the source files fail !!!"

exit 1

fi

count=0

###copy from disk to disk###

while (true);do

######copy from b to c

cp -a /root/test/b/* /root/test/c

count=$(($count + 1))

diff /root/test/b /root/test/c |tee -a diff.txt

diffnum=$(cat diff.txt |wc -l)

if [ "$diffnum" != "0" ];then

echo "failed at "$count "times test" | tee -a diff.txt

echo "failed at when copy from sdb to sdc"|tee -a diff.txt

cat SuccessCount.log >>test.log

break

fi

echo "Successfully copy files "$count"times !" |tee -a SuccessCount.log

rm -rvf /root/test/b/*

if [ -n "${TestCount}" ];then

if [ "$count" == "$TestCount" ];then

echo "Test finished"$count"times!"

cat SuccessCount.log>> test.log

echo "PASS !!!">> test.log

exit

fi

fi

######copy from c to d

cp -a /root/test/c/* /root/test/d

count=$(($count + 1))

diff /root/test/c /root/test/d |tee -a diff.txt

diffnum=$(cat diff.txt |wc -l)

if [ "$diffnum" != "0" ];then

echo "failed at "$count "times test" | tee -a diff.txt

echo "failed at when copy from sdc to sdd"|tee -a diff.txt

cat SuccessCount.log >>test.log

break

fi

echo "Successfully copy files "$count"times !" |tee -a SuccessCount.log

rm -rvf /root/test/c/*

if [ -n "${TestCount}" ];then

if [ "$count" == "$TestCount" ];then

echo "Test finished"$count"times!"

cat SuccessCount.log>> test.log

echo "PASS !!!">> test.log

exit

fi

fi

######copy from d to b

cp -a /root/test/d/* /root/test/b

count=$(($count + 1))

diff /root/test/d /root/test/b |tee -a diff.txt

diffnum=$(cat diff.txt |wc -l)

if [ "$diffnum" != "0" ];then

echo "failed at "$count "times test" | tee -a diff.txt

echo "failed at when copy from sdd to sdb"|tee -a diff.txt

cat SuccessCount.log >>test.log

break

fi

echo "Successfully copy files "$count"times !" |tee -a SuccessCount.log

rm -rvf /root/test/d/*

if [ -n "${TestCount}" ];then

if [ "$count" == "$TestCount" ];then

echo "Test finished"$count"times!"

cat SuccessCount.log>> test.log

echo "PASS !!!">> test.log

exit

fi

fi

done。

本方法可以應(yīng)用于各種配置下的硬盤數(shù)據(jù)一致性的測試,實現(xiàn)快速、高效、準(zhǔn)確、自動化的進(jìn)行差異的對比,而且對比的結(jié)果簡單明了,對提高服務(wù)器產(chǎn)品的質(zhì)量提供了可靠的保障。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1