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

      一種基于TCMU虛擬磁盤的多數(shù)據(jù)副本一致性保證方法與流程

      文檔序號:11198917閱讀:704來源:國知局
      一種基于TCMU虛擬磁盤的多數(shù)據(jù)副本一致性保證方法與流程

      本發(fā)明涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,尤其涉一種基于tcmu虛擬磁盤的多數(shù)據(jù)副本一致性保證方法及其裝置。



      背景技術(shù):

      分布式存儲系統(tǒng)都是通過網(wǎng)絡(luò)通信,網(wǎng)絡(luò)的不穩(wěn)定性容易造成后端數(shù)據(jù)不一致,并且分布式存儲系統(tǒng)一般包含較多的服務(wù)器主機(jī)和磁盤數(shù)量,硬件損壞的概率也比較高。如果不能快速檢測和保證數(shù)據(jù)副本的一致性,分布式存儲系統(tǒng)的數(shù)據(jù)完整性和高可用性就大大降低。現(xiàn)有技術(shù)數(shù)據(jù)副本一致性檢驗(yàn)過于復(fù)雜,數(shù)據(jù)修復(fù)過慢,占用過高的網(wǎng)絡(luò)帶寬,并且在有寫i/o的情況下很難達(dá)到數(shù)據(jù)一致性。



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

      為解決以上問題,本發(fā)明提出一種基于快照技術(shù)的多數(shù)據(jù)副本一致性檢測和數(shù)據(jù)修復(fù)方法。

      具體方案為:

      一種基于tcmu虛擬磁盤的多數(shù)據(jù)副本一致性保證方法,應(yīng)用于分布式存儲系統(tǒng)中,分布式存儲系統(tǒng)前端tcmu虛擬塊設(shè)備對應(yīng)后端存儲設(shè)備的多個(gè)數(shù)據(jù)副本,其特征在于,所述方法包含以下步驟:

      s1、對多個(gè)數(shù)據(jù)副本一致性進(jìn)行判斷,如果不一致,進(jìn)入s3;

      s3、對不一致的多個(gè)數(shù)據(jù)副本進(jìn)行數(shù)據(jù)修復(fù);

      其中,所述步驟s1,具體為:

      s11、采用i/o重定向技術(shù)對數(shù)據(jù)副本進(jìn)行一次快照操作;

      s12、生成前端tcmu虛擬塊設(shè)備時(shí),前端tcmu虛擬塊設(shè)備跟數(shù)據(jù)副本進(jìn)行握手,以獲取每個(gè)數(shù)據(jù)副本的寫i/o次數(shù),如果每個(gè)數(shù)據(jù)副本的寫i/o次數(shù)不一樣,進(jìn)行數(shù)據(jù)副本一致性判斷;

      s13、如果數(shù)據(jù)副本在讀寫的過程中出現(xiàn)故障,與前端tcmu虛擬塊設(shè)備斷開連接,此時(shí)前端tcmu虛擬塊設(shè)備會(huì)不斷嘗試連接,直到故障修復(fù),重新進(jìn)行握手,并獲取該數(shù)據(jù)副本的寫i/o次數(shù),如果該寫i/o次數(shù)與虛擬塊設(shè)備的寫i/o次數(shù)不一樣,進(jìn)行數(shù)據(jù)副本一致性判斷。

      2、根據(jù)權(quán)利要求4所述的一種基于tcmu虛擬磁盤的多數(shù)據(jù)副本一致性保證方法,其特征在于,所述方法還包括:

      在步驟s3之前還有步驟s2,判斷在對數(shù)據(jù)進(jìn)行一致性檢驗(yàn)時(shí)是否創(chuàng)建了快照,如果沒有,返回s11。

      3、根據(jù)權(quán)利要求1所述的一種基于tcmu虛擬磁盤的多數(shù)據(jù)副本一致性保證方法,其特征在于,所述前端tcmu虛擬塊設(shè)備統(tǒng)計(jì)數(shù)據(jù)副本寫i/o次數(shù)方法為,前端tcmu虛擬塊設(shè)備進(jìn)行一次寫i/o操作,前端tcmu虛擬塊設(shè)備和多個(gè)數(shù)據(jù)副本的寫i/o次數(shù)都加1。

      4、根據(jù)權(quán)利要求所述的一種基于tcmu虛擬磁盤的多數(shù)據(jù)副本一致性保證方法,其特征在于,所述步驟s1還包括:

      s14、數(shù)據(jù)副本掃描操作,在分布式存儲系統(tǒng)負(fù)載比較低的時(shí)候,對數(shù)據(jù)副本進(jìn)行掃描操作,如果掃描到數(shù)據(jù)副本不一致,進(jìn)入步驟s3。

      5、根據(jù)權(quán)利要求1所述的一種基于tcmu虛擬磁盤的多數(shù)據(jù)副本一致性保證方法,其特征在于,步驟s3中所述數(shù)據(jù)修復(fù)操作對象為哈希值不一樣的快照文件。

      6、根據(jù)權(quán)利要求4所述的一種基于tcmu虛擬磁盤的多數(shù)據(jù)副本一致性保證方法,其特征在于,步驟s3方法為分段修復(fù)方法,具體為:

      s31、將每4m數(shù)據(jù)分一個(gè)數(shù)據(jù)段;

      s32、將每一數(shù)據(jù)段再分成1024份,每一份4k,并且4k數(shù)據(jù)對齊;

      s33、如果數(shù)據(jù)副本2數(shù)據(jù)丟失,讀取數(shù)據(jù)副本1數(shù)據(jù)往數(shù)據(jù)副本2修復(fù)。

      7、根據(jù)權(quán)利要求4所述的一種基于tcmu虛擬磁盤的多數(shù)據(jù)副本一致性保證方法,其特征在于,所述步驟s33,具體為:

      s331、先從數(shù)據(jù)副本2讀取4m數(shù)據(jù),每4k數(shù)據(jù)計(jì)算一個(gè)哈希值,得到1024個(gè)哈希值,然后把1024哈希值傳給數(shù)據(jù)副本1;

      s332、數(shù)據(jù)副本1讀取對應(yīng)的數(shù)據(jù)段,也計(jì)算出1024個(gè)哈希值;

      s333、將數(shù)據(jù)副本1中與數(shù)據(jù)副本2對應(yīng)哈希值不相等的數(shù)據(jù)塊,發(fā)送給數(shù)據(jù)副本2,數(shù)據(jù)副本2進(jìn)行數(shù)據(jù)修復(fù)。

      本發(fā)明的有益效果如下:

      本發(fā)明提出的基于tcmu虛擬磁盤的多數(shù)據(jù)副本一致性保證方法,具有高速度、低網(wǎng)絡(luò)帶寬消耗、低磁盤帶寬消耗的特點(diǎn),數(shù)據(jù)修復(fù)過程不影響前段正常的讀寫i/o。

      附圖說明

      下面結(jié)合附圖,通過對本發(fā)明的具體實(shí)施方式詳細(xì)描述,將使本發(fā)明的技術(shù)方案及其它有益效果顯而易見。

      圖1為一種基于tcmu虛擬磁盤的多數(shù)據(jù)副本一致性保證方法流程圖;

      圖2為數(shù)據(jù)修復(fù)方法流程圖;

      圖3為將副本1中數(shù)據(jù)修復(fù)至副本2中的方法流程圖。

      具體實(shí)施方式

      為更進(jìn)一步闡述本發(fā)明所采取的技術(shù)手段及其效果,以下結(jié)合本發(fā)明的優(yōu)選實(shí)施例及其附圖進(jìn)行詳細(xì)描述。

      請參考圖1,一種基于tcmu虛擬磁盤的多數(shù)據(jù)副本一致性保證方法,應(yīng)用于分布式存儲系統(tǒng)中,分布式存儲系統(tǒng)前端tcmu虛擬塊設(shè)備對應(yīng)后端存儲設(shè)備的多個(gè)數(shù)據(jù)副本,所述方法包含以下步驟:

      s1、對多個(gè)數(shù)據(jù)副本一致性進(jìn)行判斷,如果多個(gè)數(shù)據(jù)副本不一致,進(jìn)入s3;

      s3、對不一致的多個(gè)數(shù)據(jù)副本進(jìn)行數(shù)據(jù)修復(fù);

      其中,所述步驟s1,具體為:

      s11、采用i/o重定向技術(shù)對數(shù)據(jù)副本進(jìn)行一次快照操作;

      s12、生成前端tcmu虛擬塊設(shè)備時(shí),前端tcmu虛擬塊設(shè)備跟數(shù)據(jù)副本進(jìn)行握手,以獲取每個(gè)數(shù)據(jù)副本的寫i/o次數(shù),如果每個(gè)數(shù)據(jù)副本的寫i/o次數(shù)不一樣,進(jìn)行數(shù)據(jù)副本一致性判斷;

      s13、如果數(shù)據(jù)副本在讀寫的過程中出現(xiàn)故障,與前端tcmu虛擬塊設(shè)備斷開連接,此時(shí)前端tcmu虛擬塊設(shè)備會(huì)不斷嘗試連接,直到故障修復(fù),重新進(jìn)行握手,并獲取該數(shù)據(jù)副本的寫i/o次數(shù),如果該寫i/o次數(shù)與虛擬塊設(shè)備的寫i/o次數(shù)不一樣,進(jìn)行數(shù)據(jù)副本一致性判斷。因?yàn)椴捎胕/o重定向進(jìn)行快照,創(chuàng)建快照之后,所有寫i/o操作都被重定向到其他位置,所以只需判斷快照文件的一致性。并且快照文件不會(huì)被寫i/o修改,所以在進(jìn)行文件一致性判斷的過程中,前段虛擬塊設(shè)備不用暫停i/o。

      本發(fā)明提出的基于tcmu虛擬磁盤的多數(shù)據(jù)副本一致性保證方法,具有高速度、低網(wǎng)絡(luò)帶寬消耗、低磁盤帶寬消耗的特點(diǎn),數(shù)據(jù)修復(fù)過程不影響前段正常的讀寫i/o。

      在所述步驟s3之前還有步驟s2,判斷在對數(shù)據(jù)進(jìn)行一致性檢驗(yàn)時(shí)是否創(chuàng)建了快照,如果沒有,返回s11。使用i/o重定向進(jìn)行快照保證了前端i/o不會(huì)影響數(shù)據(jù)修復(fù),前段所有寫i/o都會(huì)落到新創(chuàng)建的head文件上,此時(shí)修復(fù)快照文件不需要暫停前端i/o。

      優(yōu)選地,所述前端tcmu虛擬塊設(shè)備統(tǒng)計(jì)數(shù)據(jù)副本寫i/o次數(shù)方法為,前端tcmu虛擬塊設(shè)備進(jìn)行一次寫i/o操作,前端tcmu虛擬塊設(shè)備和多個(gè)數(shù)據(jù)副本的寫i/o次數(shù)都加1。

      優(yōu)選地,所述步驟s1還包括:

      s14、數(shù)據(jù)副本掃描操作,在分布式存儲系統(tǒng)負(fù)載比較低的時(shí)候,對數(shù)據(jù)副本進(jìn)行掃描操作,如果掃描到數(shù)據(jù)副本不一致,進(jìn)入步驟s3,避免外部修改和磁盤壞塊造成的數(shù)據(jù)不一致。

      優(yōu)選地,步驟s3中所述數(shù)據(jù)修復(fù)操作對象為哈希值不一樣的快照文件。副本可能包含很多快照文件,數(shù)據(jù)修復(fù)時(shí)只需修復(fù)哈希值不一樣的快照文件。一般不一致的快照文件是最新的快照文件,舊的快照的文件一般是一致的,大大減低了需要數(shù)據(jù)重建的數(shù)據(jù)量。

      請參考圖2,優(yōu)選地,步驟s3方法為分段修復(fù)方法,具體為:

      s31、將每4m數(shù)據(jù)分一個(gè)數(shù)據(jù)段;

      s32、將每一數(shù)據(jù)段再分成1024份,每一份4k,并且4k數(shù)據(jù)對齊;

      s33、如果數(shù)據(jù)副本2數(shù)據(jù)丟失,讀取數(shù)據(jù)副本1數(shù)據(jù)往數(shù)據(jù)副本2修復(fù)。

      請參考圖3,優(yōu)選地,所述步驟s33,具體為:

      s331、先從數(shù)據(jù)副本2讀取4m數(shù)據(jù),每4k數(shù)據(jù)計(jì)算一個(gè)哈希值,得到1024個(gè)哈希值,然后把1024哈希值傳給數(shù)據(jù)副本1;

      s332、數(shù)據(jù)副本1讀取對應(yīng)的數(shù)據(jù)段,也計(jì)算出1024個(gè)哈希值;

      s333、將數(shù)據(jù)副本1中與數(shù)據(jù)副本2對應(yīng)哈希值不相等的數(shù)據(jù)塊,發(fā)送給數(shù)據(jù)副本2,數(shù)據(jù)副本2進(jìn)行數(shù)據(jù)修復(fù)。

      如果每段不分成多份進(jìn)行修復(fù),只要其中有4k數(shù)據(jù)的修改,就必須傳輸4m數(shù)據(jù),副本2也必須寫入4m,增加了網(wǎng)絡(luò)的傳輸帶寬和磁盤的寫入帶寬。如果每4k分成一段,這樣段數(shù)會(huì)增加1024倍,增加了副本1和副本2交互的次數(shù),減低了修復(fù)的速度,也不利于i/o合并,降低了磁盤的性能。據(jù)重建過程中,采用分段修復(fù),分?jǐn)?shù)據(jù)塊計(jì)算哈希值,減少了不必要的數(shù)據(jù)拷貝,大大加快了數(shù)據(jù)修復(fù)的速度,并且消耗很低的網(wǎng)絡(luò)帶寬和磁盤帶寬,對集群資源消耗低,大大降低了對集群業(yè)務(wù)的影響。

      本發(fā)明提出一種高速度,低網(wǎng)絡(luò)帶寬消耗,低磁盤帶寬消耗的塊設(shè)備多副本數(shù)據(jù)一致性保證方法。前端應(yīng)用為tcmu虛擬塊設(shè)備,其最小寫i/o為4k,并且數(shù)據(jù)4k對齊。使用寫i/o計(jì)數(shù)和計(jì)數(shù)文件哈希值的方法來校驗(yàn)副本之間的一致性。并基于快照技術(shù)進(jìn)行數(shù)據(jù)修復(fù)??煺盏膇/o重定向功能使前段寫i/o不影響后端數(shù)據(jù)的修復(fù),數(shù)據(jù)修復(fù)過程中不用停止i/o,保證了前端業(yè)務(wù)不受影響。數(shù)據(jù)重建過程中,采用分段修復(fù),分?jǐn)?shù)據(jù)塊計(jì)算哈希值,減少了不必要的數(shù)據(jù)拷貝,大大加快了數(shù)據(jù)修復(fù)的速度,并且消耗很低的網(wǎng)絡(luò)帶寬和磁盤帶寬,對集群資源消耗低,大大降低了對集群業(yè)務(wù)的影響。

      以上所述,對于本領(lǐng)域的普通技術(shù)人員來說,可以根據(jù)本發(fā)明的技術(shù)方案和技術(shù)構(gòu)思作出其他各種相應(yīng)的改變和變形,而所有這些改變和變形都應(yīng)屬于本發(fā)明權(quán)利要求的保護(hù)范圍。

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