国产精品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>

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

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

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



      背景技術(shù):

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



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

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

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

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

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

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

      具體流程為:

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

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

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

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

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

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

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

      準(zhǔn)備工作

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

      具體測(cè)試步驟為:

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

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

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

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

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

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

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

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

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

      附圖說明

      圖1是測(cè)試流程示意圖。

      具體實(shí)施方式

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

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

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

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

      2、當(dāng)運(yùn)行完成時(shí),出現(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下的文件中,并在各個(gè)文件夾中不斷進(jìn)行多次copy和compare的腳本,腳本中使用cp命令進(jìn)行復(fù)制使用diff命令進(jìn)行對(duì)比校驗(yàn)并將對(duì)比結(jié)果記錄到diffsrc.txt和diff.txt中,同時(shí)也會(huì)將出現(xiàn)差異的地方也記錄下來,方便測(cè)試完成后進(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ù)一致性的測(cè)試,實(shí)現(xiàn)快速、高效、準(zhǔn)確、自動(dòng)化的進(jìn)行差異的對(duì)比,而且對(duì)比的結(jié)果簡(jiǎn)單明了,對(duì)提高服務(wù)器產(chǎn)品的質(zhì)量提供了可靠的保障。

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