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

      一種數(shù)據(jù)存儲(chǔ)的鏡像方法和設(shè)備的制作方法

      文檔序號(hào):6580108閱讀:215來(lái)源:國(guó)知局
      專利名稱:一種數(shù)據(jù)存儲(chǔ)的鏡像方法和設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通訊領(lǐng)域,尤其涉及一種數(shù)據(jù)存儲(chǔ)的鏡像方法和設(shè)備。
      背景技術(shù)
      RAID (Redundant Array of Independent Disk ,獨(dú)立》茲盤冗余陣列)是將N 塊硬盤通過(guò)RAID Controller (控制器)結(jié)合成虛擬單臺(tái)大容量的^5更盤使用。 RAID通過(guò)在N塊磁盤上同時(shí)存儲(chǔ)和讀取數(shù)據(jù)來(lái)大幅提高存儲(chǔ)系統(tǒng)的數(shù)據(jù)吞吐 量(Throughput),通過(guò)在不同磁盤相互校驗(yàn)、恢復(fù)數(shù)據(jù)的措施,提高RAID 系統(tǒng)的容錯(cuò)度。
      RAID技術(shù)已廣泛應(yīng)用于數(shù)據(jù)存儲(chǔ)的各種場(chǎng)合,比較長(zhǎng)用的有RAIDO 、 RAID1、 RAID5、 RAID6、 RAID10等。其中RAIDO不具有冗余能力,RAID1 只是對(duì)磁盤做了鏡像不能算是完全的磁盤陣列。RAID5、 RAID6和RAID10這3 種陣列分別由多塊磁盤組成,以條帶的方式向陣列中的磁盤寫數(shù)據(jù),其中包
      括用于校驗(yàn)、恢復(fù)數(shù)據(jù)的奇偶校驗(yàn)數(shù)據(jù)。RAID5每個(gè)條帶含有1個(gè)校驗(yàn)位,支 持任意損壞其中一塊磁盤,通過(guò)其他磁盤上的奇偶校驗(yàn)位來(lái)重建數(shù)據(jù);RAID6 每個(gè)條帶含有2個(gè)校驗(yàn)位,支持任意損壞其中兩塊磁盤,通過(guò)其他^磁盤上的奇 偶校驗(yàn)位來(lái)恢復(fù)數(shù)據(jù);RAID10是對(duì)磁盤組先進(jìn)行鏡像,再對(duì)磁盤進(jìn)行條帶, 所以其不含奇偶校驗(yàn)位,當(dāng)一塊磁盤損壞后通過(guò)其對(duì)應(yīng)的鏡像盤恢復(fù)數(shù)據(jù), 理想狀態(tài)最多允許不同的位置下50%的磁盤損壞,最糟糕的情況是同一對(duì)鏡像 磁盤同時(shí)損壞。
      奇偶校驗(yàn)數(shù)據(jù)是由每個(gè)條帶中的數(shù)據(jù)位使用XOR運(yùn)算得出,這樣在一個(gè) 磁盤發(fā)生損壞時(shí),可以通過(guò)條帶中的數(shù)據(jù)位+奇偶校驗(yàn)位使用XOR運(yùn)算來(lái)還原 丟失的那部分?jǐn)?shù)據(jù)。
      具有奇偶校驗(yàn)數(shù)據(jù)的磁盤陣列中數(shù)據(jù)的存儲(chǔ)過(guò)程如圖1所示,其中, RAID5陣列由3塊盤組成,需要寫入RAID5的有6塊數(shù)據(jù),這樣分成3個(gè)條帶寫入磁盤中,其中黑色P的數(shù)據(jù)塊就是奇偶校驗(yàn)數(shù)據(jù),分別由每個(gè)條帶中的數(shù)據(jù)
      XOR算出,P1 =A B , P2=C D, P3=E @ F ,這樣假設(shè)Disk 1 (磁盤1 )損壞, 那么條帶1中的數(shù)據(jù)A,可以由BePl運(yùn)算得出。
      現(xiàn)有的鏡像技術(shù)方案中,存儲(chǔ)控制器下具有不同的陣列,以圖2所示為例, 當(dāng)數(shù)據(jù)寫入存儲(chǔ)控制器時(shí),存儲(chǔ)控制器將數(shù)據(jù)復(fù)制成兩份,分別存儲(chǔ)在主巻 和鏡像巻所在陣列的兩個(gè)緩存中。由于同 一存儲(chǔ)控制器下主巻和鏡像巻所在 陣列的結(jié)構(gòu)可能不同,因此,在數(shù)據(jù)存儲(chǔ)過(guò)程中,存儲(chǔ)控制器需要分別計(jì)算 兩個(gè)緩存中數(shù)據(jù)的校驗(yàn)和,然后將數(shù)據(jù)和數(shù)據(jù)的校驗(yàn)和分別刷入主巻和鏡像 巻。當(dāng)主巻所在陣列失敗時(shí),存儲(chǔ)控制器控制鏡像巻所在陣列繼續(xù)進(jìn)行數(shù)據(jù) 讀寫,保證數(shù)據(jù)不丟失。
      現(xiàn)有技術(shù)的缺點(diǎn)在于
      存儲(chǔ)控制器需要對(duì)每一陣列進(jìn)行校驗(yàn)和計(jì)算,降低存儲(chǔ)控制器的寫盤效 率;同時(shí),當(dāng)整個(gè)存儲(chǔ)設(shè)備發(fā)生故障時(shí),無(wú)法保證數(shù)據(jù)的完整性。

      發(fā)明內(nèi)容
      本發(fā)明提供了 一種數(shù)據(jù)存儲(chǔ)的鏡像方法和設(shè)備,以實(shí)現(xiàn)存儲(chǔ)設(shè)備發(fā)生故 障時(shí),設(shè)備中存儲(chǔ)的數(shù)據(jù)不丟失。
      本發(fā)明提供一種數(shù)據(jù)存儲(chǔ)的鏡像方法,應(yīng)用于包括主巻存儲(chǔ)設(shè)備與至少 一個(gè)鏡像巻存儲(chǔ)設(shè)備的存儲(chǔ)系統(tǒng)中,在所述鏡像巻存儲(chǔ)設(shè)備上創(chuàng)建主巻邏輯 資源的鏡像巻邏輯資源,所述主巻邏輯資源掛載到所述鏡像巻存儲(chǔ)設(shè)備,所 述鏡像巻邏輯資源掛載到所述主巻存儲(chǔ)設(shè)備,該方法包括
      當(dāng)所述主巻存儲(chǔ)設(shè)備接收到數(shù)據(jù)時(shí),所述主巻存儲(chǔ)設(shè)備復(fù)制所述數(shù)據(jù), 并將復(fù)制后的數(shù)據(jù)分別寫入所述主巻邏輯資源對(duì)應(yīng)的陣列緩存、以及所述鏡 像巻邏輯資源對(duì)應(yīng)的陣列緩存,保持所述主巻邏輯資源對(duì)應(yīng)的陣列緩存和所 述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存中數(shù)據(jù)的 一致性;
      當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),所述主巻存儲(chǔ)設(shè)備計(jì)算陣列緩存中的第一 部分?jǐn)?shù)據(jù)的校驗(yàn)和,通知所述鏡像巻存儲(chǔ)設(shè)備凍結(jié)所述第一部分?jǐn)?shù)據(jù);所述 鏡像巻存儲(chǔ)設(shè)備計(jì)算陣列緩存中的第二部分?jǐn)?shù)據(jù)的校驗(yàn)和,通知所述主巻存儲(chǔ)設(shè)備凍結(jié)所述第二部分?jǐn)?shù)據(jù);
      所述主巻存儲(chǔ)設(shè)備將所述第 一部分?jǐn)?shù)據(jù)對(duì)應(yīng)的校驗(yàn)和與所述第 一部分?jǐn)?shù) 據(jù)寫入所述主巻邏輯資源與鏡像巻邏輯資源,通知所述鏡像巻存^f諸設(shè)備釋放
      被凍結(jié)的數(shù)據(jù)空間;所述鏡像巻存儲(chǔ)設(shè)備將所述第二部分?jǐn)?shù)據(jù)對(duì)應(yīng)的校驗(yàn)和 與所述第二部分?jǐn)?shù)據(jù)寫入所述主巻邏輯資源與鏡像巻邏輯資源,通知所述主 巻存儲(chǔ)設(shè)備釋放被凍結(jié)的數(shù)據(jù)空間。
      當(dāng)所述主巻存儲(chǔ)設(shè)備接收到數(shù)據(jù)時(shí),所述主巻存儲(chǔ)設(shè)備復(fù)制所述數(shù)據(jù), 并將復(fù)制后的數(shù)據(jù)分別寫入所述主巻邏輯資源對(duì)應(yīng)的陣列緩存、以及所述鏡 像巻邏輯資源對(duì)應(yīng)的陣列緩存具體為
      所述主巻存儲(chǔ)設(shè)備接收一份數(shù)據(jù),復(fù)制所述數(shù)據(jù)并寫入所述主巻邏輯資 源對(duì)應(yīng)的陣列緩存、以及所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存;
      當(dāng)所述復(fù)制后的數(shù)據(jù)成功寫入所述主巻邏輯資源對(duì)應(yīng)的陣列i爰存、以及 所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存后,所述主巻存儲(chǔ)設(shè)備接收下一份數(shù)據(jù)。
      所述當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),所述主巻存儲(chǔ)設(shè)備計(jì)算陣列緩存中的 第一部分?jǐn)?shù)據(jù)的校驗(yàn)和,所述鏡像巻存儲(chǔ)設(shè)備計(jì)算陣列緩存中的第二部分?jǐn)?shù) 據(jù)的校驗(yàn)和具體為
      當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),所述主巻存儲(chǔ)設(shè)備與所述鏡像巻存儲(chǔ)設(shè)備 根據(jù)預(yù)先配置的校驗(yàn)和計(jì)算順序,分別選擇不同部分的數(shù)據(jù)進(jìn)行4交-驗(yàn)和計(jì)算;
      當(dāng)所述主巻存儲(chǔ)設(shè)備與鏡像巻存儲(chǔ)設(shè)備中的任意存儲(chǔ)設(shè)備獲得校驗(yàn)和 后,如果陣列緩存中存在尚未計(jì)算校驗(yàn)和的數(shù)據(jù),所述任意存儲(chǔ)設(shè)備繼續(xù)計(jì) 算該數(shù)據(jù)所對(duì)應(yīng)的校驗(yàn)和。
      所述當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),還包括所述主巻存儲(chǔ)設(shè)備優(yōu)先選擇 陣列緩存中的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算。
      所述主巻邏輯資源掛載到所述鏡像巻存儲(chǔ)設(shè)備,所述鏡像巻邏輯資源掛 載到所述主巻存儲(chǔ)設(shè)備具體為
      所述主巻邏輯資源通過(guò)源-目標(biāo)initiator-target方式桂載到所述鏡像巻存儲(chǔ) 設(shè)備,所述鏡像巻邏輯資源通過(guò)initiator-target方式掛載到所述主巻存儲(chǔ)設(shè)備。
      還包括當(dāng)所述主巻邏輯資源所在陣列故障時(shí),所述主巻存儲(chǔ)設(shè)備通知所述鏡像 巻存儲(chǔ)設(shè)備解除所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存內(nèi)被凍結(jié)的數(shù)據(jù),并計(jì) 算所述陣列緩存內(nèi)所有數(shù)據(jù)的校驗(yàn)和,將計(jì)算獲得的校驗(yàn)和以及所述陣列緩
      存內(nèi)的所有數(shù)據(jù)寫入所述鏡像巻邏輯資源;
      當(dāng)所述主巻存儲(chǔ)設(shè)備故障時(shí),所述鏡像巻存儲(chǔ)設(shè)備在預(yù)設(shè)時(shí)間內(nèi)沒有接 收到所述主巻存儲(chǔ)設(shè)備的維持連接消息時(shí),解除所述鏡像巻邏輯資源對(duì)應(yīng)的 陣列緩存內(nèi)被凍結(jié)的數(shù)據(jù),并計(jì)算所述陣列緩存內(nèi)所有數(shù)據(jù)的校驗(yàn)和,將計(jì) 算獲得的校驗(yàn)和以及所述陣列緩存內(nèi)的所有數(shù)據(jù)寫入所述鏡像巻邏輯資源。
      本發(fā)明提供一種數(shù)據(jù)存儲(chǔ)的設(shè)備,作為主巻存儲(chǔ)設(shè)備或者鏡像巻存儲(chǔ)設(shè) 備應(yīng)用于包括一個(gè)主巻存儲(chǔ)設(shè)備和至少一個(gè)鏡像巻存儲(chǔ)設(shè)備的存儲(chǔ)系統(tǒng)中, 在所述鏡像巻存儲(chǔ)設(shè)備上創(chuàng)建主巻邏輯資源的鏡像巻邏輯資源,所述主巻邏 輯資源掛載到所述鏡像巻存儲(chǔ)設(shè)備,所述鏡像巻邏輯資源掛載到所述主巻存 儲(chǔ)設(shè)備,該設(shè)備包括
      緩存寫入單元,用于所述設(shè)備作為主巻存儲(chǔ)設(shè)備時(shí),當(dāng)所述主巻存儲(chǔ)設(shè) 備接收到數(shù)據(jù)時(shí),復(fù)制所述數(shù)據(jù),并將復(fù)制后的數(shù)據(jù)分別寫入所述主巻邏輯 資源對(duì)應(yīng)的陣列緩存、以及所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存,保持所述 主巻邏輯資源對(duì)應(yīng)的陣列緩存和所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存中數(shù)據(jù) 的一致性;
      校驗(yàn)和計(jì)算單元,用于在下刷陣列緩存中的數(shù)據(jù)時(shí),與其他存儲(chǔ)設(shè)備分 別計(jì)算陣列緩存中的不同部分?jǐn)?shù)據(jù)的校驗(yàn)和,通知其他存儲(chǔ)設(shè)備凍結(jié)本端進(jìn)
      行校驗(yàn)和計(jì)算的陣列緩存中的第 一部分?jǐn)?shù)據(jù),并凍結(jié)其他存儲(chǔ)i殳備進(jìn)行校驗(yàn) 和計(jì)算的陣列緩存中的其他數(shù)據(jù);
      巻寫入單元,用于將計(jì)算得到的校驗(yàn)和以及該校驗(yàn)和對(duì)應(yīng)的數(shù)據(jù)寫入所 述主巻邏輯資源與鏡像巻邏輯資源,并通知其他存儲(chǔ)設(shè)備釋放被凍結(jié)的數(shù)據(jù) 空間。
      所述緩存寫入單元具體用于
      接收一份數(shù)據(jù),復(fù)制所述數(shù)據(jù)并寫入所述主巻邏輯資源對(duì)應(yīng)的陣列緩存、以及所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存;
      當(dāng)所述復(fù)制后的數(shù)據(jù)成功寫入所述主巻邏輯資源對(duì)應(yīng)的陣列緩存、以及 所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存后,接收下一份數(shù)據(jù)。
      還包括
      選擇單元,用于當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),根據(jù)預(yù)先配置的校驗(yàn)和計(jì) 算順序選擇相應(yīng)的數(shù)據(jù);
      所述校驗(yàn)和計(jì)算單元具體用于根據(jù)所述選擇單元選擇的數(shù)據(jù)進(jìn)行校驗(yàn) 和計(jì)算,并凍結(jié)自身以外的存儲(chǔ)設(shè)備計(jì)算校驗(yàn)和所對(duì)應(yīng)的數(shù)據(jù);獲取校驗(yàn)和 后,如果所述陣列緩存中存在尚未計(jì)算校驗(yàn)和的數(shù)據(jù),繼續(xù)計(jì)算該數(shù)據(jù)所對(duì) 應(yīng)的4交-驗(yàn)和。
      所述選擇單元還用于
      當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),優(yōu)先選擇陣列緩存中的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算。
      所述主巻邏輯資源掛載到所述鏡像巻存儲(chǔ)設(shè)備,所述鏡像巻邏輯資源掛 載到所述主巻存儲(chǔ)設(shè)備具體為
      所述主巻邏輯資源通過(guò)源-目標(biāo)initiator-target方式掛載到所述鏡像巻存儲(chǔ) 設(shè)備,所述鏡像巻邏輯資源通過(guò)initiator-target方式掛載到所述主巻存儲(chǔ)設(shè)備。
      還包括
      故障處理單元,用于當(dāng)所述主巻邏輯資源所在陣列故障時(shí), 所述設(shè)備作為主巻存儲(chǔ)設(shè)備時(shí),通知所述鏡像巻存儲(chǔ)設(shè)備解除所述鏡像 巻邏輯資源對(duì)應(yīng)的陣列緩存內(nèi)被凍結(jié)的數(shù)據(jù);所述設(shè)備作為鏡像巻存儲(chǔ)設(shè)備 時(shí),接收所述主巻存儲(chǔ)設(shè)備的通知,解除所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩 存內(nèi)被凍結(jié)的數(shù)據(jù),并計(jì)算所述陣列緩存內(nèi)所有數(shù)據(jù)的校驗(yàn)和,將計(jì)算獲得 的校驗(yàn)和以及所述陣列緩存內(nèi)的所有數(shù)據(jù)寫入所述鏡像巻邏輯資源; 當(dāng)所述主巻存儲(chǔ)設(shè)備故障時(shí),
      所述設(shè)備作為鏡像巻存儲(chǔ)設(shè)備時(shí),在預(yù)設(shè)時(shí)間內(nèi)沒有接收到所述主巻存 儲(chǔ)設(shè)備的維持連接消息時(shí),解除所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存內(nèi)被凍 結(jié)的數(shù)據(jù),并計(jì)算所述陣列緩存內(nèi)所有數(shù)據(jù)的校驗(yàn)和,將計(jì)算獲得的校驗(yàn)和以及所述陣列緩存內(nèi)的所有數(shù)據(jù)寫入所述鏡像巻邏輯資源。 與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下優(yōu)點(diǎn)
      本發(fā)明中,主巻存儲(chǔ)設(shè)備與鏡像巻存儲(chǔ)設(shè)備共同計(jì)算主巻存儲(chǔ)設(shè)備接收 的數(shù)據(jù)的校驗(yàn)和,提高數(shù)據(jù)校驗(yàn)和的計(jì)算速度以及數(shù)據(jù)的寫盤效率,并且當(dāng) 主巻存儲(chǔ)設(shè)備故障時(shí),可以利用鏡像巻存儲(chǔ)設(shè)備保證主巻存儲(chǔ)設(shè)備中數(shù)據(jù)不 丟失。


      圖1是現(xiàn)有技術(shù)中具有奇偶校驗(yàn)數(shù)據(jù)的磁盤陣列中數(shù)據(jù)的存儲(chǔ)過(guò)程示意
      圖2是現(xiàn)有的鏡像技術(shù)方案的架構(gòu)示意圖3是本發(fā)明提供的數(shù)據(jù)存儲(chǔ)的鏡像方法的流程示意圖4是本發(fā)明應(yīng)用場(chǎng)景中提供的數(shù)據(jù)存儲(chǔ)的鏡像方法的流程示意圖5-圖IO是與圖4中的數(shù)據(jù)存儲(chǔ)的鏡像方法相應(yīng)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)示意
      圖11是本發(fā)明提供的數(shù)據(jù)存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖。
      具體實(shí)施例方式
      本發(fā)明的核心思想是配置主巻存儲(chǔ)設(shè)備的鏡像巻存儲(chǔ)設(shè)備,在鏡像巻 存儲(chǔ)設(shè)備上創(chuàng)建主巻邏輯資源的鏡像巻邏輯資源。當(dāng)數(shù)據(jù)向主巻存儲(chǔ)設(shè)備寫 入時(shí),主巻存儲(chǔ)設(shè)備將該數(shù)據(jù)復(fù)制成多份,寫入主巻存儲(chǔ)設(shè)備和鏡像巻存儲(chǔ) 設(shè)備所在的緩存?;谙嗤臄?shù)據(jù)存儲(chǔ)陣列,主巻存儲(chǔ)設(shè)備與鏡像巻存儲(chǔ)設(shè) 備共同計(jì)算數(shù)據(jù)的校驗(yàn)和,將該校驗(yàn)和與數(shù)據(jù)分別寫入主巻邏輯資源和鏡像
      巻邏輯資源。由于利用主巻存儲(chǔ)設(shè)備與鏡像巻存儲(chǔ)設(shè)備共同計(jì)算數(shù)據(jù)的校驗(yàn) 和,提高了數(shù)據(jù)寫入磁盤的速度和效率,并且當(dāng)主巻存儲(chǔ)設(shè)備故障時(shí),鏡像 巻存儲(chǔ)設(shè)備保證主巻存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)不丟失。
      具體的,本發(fā)明提供一種數(shù)據(jù)存儲(chǔ)的鏡像方法,應(yīng)用于包括主巻存儲(chǔ)設(shè)備與至少一個(gè)鏡像巻存儲(chǔ)設(shè)備的存儲(chǔ)系統(tǒng)中,在所述鏡像巻存儲(chǔ)設(shè)備上創(chuàng)建 主巻邏輯資源的鏡像巻邏輯資源,所述主巻邏輯資源掛載到所述鏡像巻存儲(chǔ) 設(shè)備,所述鏡像巻邏輯資源掛載到所述主巻存儲(chǔ)設(shè)備,如圖3所示,該方法
      包括以下步驟
      步驟301,當(dāng)所述主巻存儲(chǔ)設(shè)備接收到數(shù)據(jù)時(shí),所述主巻存儲(chǔ)設(shè)備復(fù)制所 述數(shù)據(jù),并將復(fù)制后的數(shù)據(jù)分別寫入所述主巻邏輯資源對(duì)應(yīng)的陣列緩存、以 及所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存,保持所述主巻邏輯資源對(duì)應(yīng)的陣列 緩存和所述鏡^^巻邏輯資源對(duì)應(yīng)的陣列緩存中數(shù)據(jù)的 一致性;
      步驟302,當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),所述主巻存儲(chǔ)設(shè)備計(jì)算陣列緩存 中的第 一部分?jǐn)?shù)據(jù)的校驗(yàn)和,通知所述鏡像巻存儲(chǔ)設(shè)備凍結(jié)所述第 一部分?jǐn)?shù) 據(jù);所述鏡像巻存儲(chǔ)設(shè)備計(jì)算陣列緩存中的第二部分?jǐn)?shù)據(jù)的校驗(yàn)和,通知所 述主巻存儲(chǔ)設(shè)備凍結(jié)所述第二部分?jǐn)?shù)據(jù);
      步驟303,所述主巻存儲(chǔ)設(shè)備將所述第一部分?jǐn)?shù)據(jù)對(duì)應(yīng)的校驗(yàn)和與所述第 一部分?jǐn)?shù)據(jù)寫入所述主巻邏輯資源與鏡像巻邏輯資源,通知所述鏡像巻存儲(chǔ) 設(shè)備釋放被凍結(jié)的數(shù)據(jù)空間;所述鏡像巻存儲(chǔ)設(shè)備將所述第二部分?jǐn)?shù)據(jù)對(duì)應(yīng) 的校驗(yàn)和與所述第二部分?jǐn)?shù)據(jù)寫入所述主巻邏輯資源與鏡像巻邏輯資源,通 知所述主巻存儲(chǔ)設(shè)備釋放被凍結(jié)的數(shù)據(jù)空間。
      下面結(jié)合具體應(yīng)用場(chǎng)景詳細(xì)介紹本發(fā)明提供的數(shù)據(jù)存儲(chǔ)的鏡像方法,應(yīng) 用于包括主巻存儲(chǔ)設(shè)備與至少一鏡像巻存儲(chǔ)設(shè)備的存儲(chǔ)系統(tǒng)中,如圖4所示, 包括以下步驟
      步驟401 ,配置主巻存儲(chǔ)設(shè)備與鏡像巻存儲(chǔ)設(shè)備的鏡像關(guān)系。
      陣列的磁盤數(shù)量和磁盤結(jié)構(gòu)相同的陣列,創(chuàng)建鏡像巻邏輯資源,該陣列中還 包括巻邏輯資源對(duì)應(yīng)的陣列緩存。主巻存儲(chǔ)設(shè)備與鏡像巻存儲(chǔ)設(shè)備之間遵循 ISCSI (Internet Small Computer System Interface,因特網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口 ) 協(xié)議連接,并通過(guò)initiator-target (源-目標(biāo))方式將主巻邏輯資源與鏡像巻邏 輯資源相互掛載到對(duì)方。如圖5所示,以主巻存儲(chǔ)設(shè)備對(duì)應(yīng)一臺(tái)鏡像巻存儲(chǔ)設(shè)備為例,主巻存儲(chǔ)設(shè)備與鏡像巻存儲(chǔ)設(shè)備相互將巻邏輯資源掛載到對(duì)方, 同時(shí)掛載到對(duì)方的還包括主巻邏輯資源與鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存。 數(shù)據(jù)寫入巻邏輯資源之前,首先在該巻邏輯資源對(duì)應(yīng)的陣列緩存中計(jì)算校驗(yàn) 和,然后將數(shù)據(jù)與計(jì)算得到的校驗(yàn)和共同寫入巻邏輯資源。
      步驟402,主巻存儲(chǔ)設(shè)備接收客戶端輸入的業(yè)務(wù)數(shù)據(jù),復(fù)制該業(yè)務(wù)數(shù)據(jù)并
      同時(shí)寫入主巻邏輯資源與鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存。
      具體的,主巻存儲(chǔ)設(shè)備接收客戶端輸入的業(yè)務(wù)數(shù)據(jù)后,主巻存儲(chǔ)設(shè)備的 存儲(chǔ)控制器,簡(jiǎn)稱為主巻控制器根據(jù)鏡像巻邏輯資源、或者鏡像巻存儲(chǔ)設(shè)備 的個(gè)數(shù)復(fù)制該業(yè)務(wù)數(shù)據(jù),并將復(fù)制后的數(shù)據(jù)寫入主巻邏輯資源對(duì)應(yīng)的陣列緩
      存,同時(shí)通過(guò)initiator-target方式將復(fù)制后的數(shù)據(jù)寫入每一鏡像巻邏輯資源對(duì) 應(yīng)的陣列緩存。結(jié)合圖6所示,主巻存儲(chǔ)設(shè)備對(duì)應(yīng)一臺(tái)鏡像巻存儲(chǔ)設(shè)備時(shí), 數(shù)據(jù)被同時(shí)寫入兩臺(tái)存儲(chǔ)設(shè)備的陣列緩存。
      客戶端數(shù)據(jù)在寫入主巻存儲(chǔ)設(shè)備時(shí)通常是逐份寫入,為了保證數(shù)據(jù)在每 一巻存儲(chǔ)設(shè)備的陣列緩存中的一致性,只有當(dāng)所有陣列緩存中的數(shù)據(jù)寫入完 畢后,主巻存儲(chǔ)設(shè)備接收客戶端下一份數(shù)據(jù)。
      步驟403,當(dāng)陣列緩存中的數(shù)據(jù)到達(dá)下刷策略觸發(fā)點(diǎn)時(shí),主巻存儲(chǔ)設(shè)備與 鏡像巻存儲(chǔ)設(shè)備共同計(jì)算數(shù)據(jù)的校驗(yàn)和。
      具體的,逐份寫入陣列緩存中的數(shù)據(jù)有可能恰好到達(dá)一個(gè)下刷策略觸發(fā) 點(diǎn),也有可能到達(dá)幾個(gè)下刷策略觸發(fā)點(diǎn)。主巻存儲(chǔ)設(shè)備與鏡像巻存儲(chǔ)設(shè)備根 據(jù)預(yù)先配置的校驗(yàn)和計(jì)算順序,分別選擇相應(yīng)的下刷策略觸發(fā)點(diǎn)進(jìn)行校驗(yàn)和 計(jì)算,并凍結(jié)自身以外的存儲(chǔ)設(shè)備計(jì)算校驗(yàn)和所對(duì)應(yīng)的數(shù)據(jù),例如可以預(yù)先 配置各巻存儲(chǔ)設(shè)備選擇下刷策略觸發(fā)點(diǎn)進(jìn)行校驗(yàn)和計(jì)算的順序,當(dāng)?shù)竭_(dá)下刷 策略觸發(fā)點(diǎn)時(shí),各巻存儲(chǔ)設(shè)備根據(jù)該順序以及下刷策略觸發(fā)點(diǎn)到達(dá)的先后逐 一計(jì)算校驗(yàn)和。
      本應(yīng)用場(chǎng)景中,以主巻存儲(chǔ)設(shè)備在下刷策略觸發(fā)點(diǎn)優(yōu)先計(jì)算校驗(yàn)和為例 進(jìn)行介紹當(dāng)逐份寫入陣列緩存中的數(shù)據(jù)恰好到達(dá)一個(gè)下刷策略觸發(fā)點(diǎn)時(shí), 主巻存儲(chǔ)設(shè)備計(jì)算數(shù)據(jù)的校驗(yàn)和;當(dāng)逐份寫入陣列緩存中的數(shù)據(jù)到達(dá)幾個(gè)下 刷策略觸發(fā)點(diǎn)時(shí),主巻存儲(chǔ)設(shè)備計(jì)算第 一個(gè)下刷策略觸發(fā)點(diǎn)對(duì)應(yīng)的校驗(yàn)和,鏡像巻存儲(chǔ)設(shè)備根據(jù)預(yù)先配置分別計(jì)算其他不同下刷策略觸發(fā)點(diǎn)對(duì)應(yīng)的校驗(yàn) 和。同時(shí),每一存儲(chǔ)設(shè)備與其他存儲(chǔ)設(shè)備之間交互消息,獲知其他存儲(chǔ)設(shè)備 進(jìn)行校驗(yàn)和計(jì)算所對(duì)應(yīng)的數(shù)據(jù)地址,凍結(jié)該地址上對(duì)應(yīng)的數(shù)據(jù),并告知其他 存儲(chǔ)設(shè)備本端計(jì)算校驗(yàn)和所對(duì)應(yīng)的數(shù)據(jù)。當(dāng)某一存儲(chǔ)設(shè)備計(jì)算數(shù)據(jù)的校驗(yàn)和 結(jié)束后,如果還存在其他需要計(jì)算校驗(yàn)和的數(shù)據(jù),則該存儲(chǔ)設(shè)備繼續(xù)計(jì)算校 驗(yàn)和。
      結(jié)合圖7所示,當(dāng)數(shù)據(jù)寫滿陣列緩存中一個(gè)條帶的l-5數(shù)據(jù)塊時(shí),主巻存 儲(chǔ)設(shè)備首先計(jì)算這部分?jǐn)?shù)據(jù)的校驗(yàn)和,向鏡像巻存儲(chǔ)設(shè)備發(fā)送消息,通知鏡 像巻存儲(chǔ)設(shè)備本端計(jì)算校驗(yàn)和的數(shù)據(jù)為l-5數(shù)據(jù)塊,即第一條帶上的數(shù)據(jù),鏡 像巻存儲(chǔ)設(shè)備凍結(jié)這部分?jǐn)?shù)據(jù),不對(duì)該條帶上的數(shù)據(jù)計(jì)算校驗(yàn)和;同時(shí),鏡 像巻存儲(chǔ)設(shè)備發(fā)現(xiàn)有其他需要計(jì)算校驗(yàn)和的數(shù)據(jù),例如6-10數(shù)據(jù)塊所在的條 帶已寫滿時(shí),鏡像巻存儲(chǔ)設(shè)備計(jì)算該條帶的校驗(yàn)和,并通知主巻存儲(chǔ)設(shè)備凍 結(jié)6-10數(shù)據(jù)塊所在條帶的數(shù)據(jù)。
      步驟404,存儲(chǔ)設(shè)備計(jì)算獲得數(shù)據(jù)的校驗(yàn)和后,將該校驗(yàn)和與對(duì)應(yīng)的數(shù)據(jù) 一起寫入各巻邏輯資源。
      具體的,進(jìn)行校驗(yàn)和計(jì)算的每一存儲(chǔ)設(shè)備在計(jì)算得到相應(yīng)的校驗(yàn)和后, 將該校驗(yàn)和與數(shù)據(jù)一起寫入通過(guò)initiator-target方式掛載到該存儲(chǔ)設(shè)備上的所 有巻邏輯資源中。這樣,每一巻邏輯資源中存儲(chǔ)的數(shù)據(jù)都是各存儲(chǔ)設(shè)備分別 計(jì)算校驗(yàn)和后共同寫入的數(shù)據(jù),即每一巻邏輯資源由各存儲(chǔ)設(shè)備共同寫入數(shù) 據(jù)及對(duì)應(yīng)的校驗(yàn)和。其中,為了避免數(shù)據(jù)及對(duì)應(yīng)的校驗(yàn)和在各巻邏輯資源中 的存儲(chǔ)混亂,本應(yīng)用場(chǎng)景中規(guī)定各巻邏輯資源內(nèi)根據(jù)陣列緩存中數(shù)據(jù)的排列 順序開辟相應(yīng)的存儲(chǔ)空間,使各數(shù)據(jù)及對(duì)應(yīng)的校驗(yàn)和在巻邏輯資源內(nèi)具有相
      資源。當(dāng)然,也可以根據(jù)實(shí)際需要靈活設(shè)置數(shù)據(jù)及校驗(yàn)和在巻邏輯資源內(nèi)的 存儲(chǔ)方式,本應(yīng)用場(chǎng)景對(duì)此不做限制。
      結(jié)合圖8所示,以主巻存儲(chǔ)設(shè)備對(duì)應(yīng)一臺(tái)鏡像巻存儲(chǔ)設(shè)備為例,主巻存 儲(chǔ)設(shè)備對(duì)陣列緩存中的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,以l-5數(shù)據(jù)塊為例,主巻存儲(chǔ)設(shè) 備將1-5數(shù)據(jù)塊及對(duì)應(yīng)的校驗(yàn)和寫入主巻邏輯資源與鏡像巻邏輯資源;鏡像巻存儲(chǔ)設(shè)備對(duì)陣列緩存中的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算時(shí),凍結(jié)l-5數(shù)據(jù)塊,計(jì)算6-10 數(shù)據(jù)塊的校驗(yàn)和,鏡像巻存儲(chǔ)設(shè)備將計(jì)算得到的6-10數(shù)據(jù)塊的校驗(yàn)和以及 6-10數(shù)據(jù)塊一起寫入鏡像巻邏輯資源和主巻邏輯資源。這樣,主巻存儲(chǔ)設(shè)備 與鏡像巻存儲(chǔ)設(shè)備中都寫入了 1-10數(shù)據(jù)塊及對(duì)應(yīng)的校驗(yàn)和。
      本應(yīng)用場(chǎng)景中,當(dāng)存儲(chǔ)設(shè)備將每一次計(jì)算得到的校驗(yàn)和及對(duì)應(yīng)的數(shù)據(jù)成 功寫入所有巻邏輯資源后,所有其他存儲(chǔ)設(shè)備的陣列緩存中相應(yīng)被"凍結(jié)" 的數(shù)據(jù)空間被釋放,以保證各巻邏輯資源對(duì)應(yīng)的陣列緩存中數(shù)據(jù)的 一致性。
      步驟405,當(dāng)主巻邏輯資源所在的磁盤陣列損壞而主巻存儲(chǔ)控制器能夠正 常運(yùn)行時(shí),主巻存儲(chǔ)控制器將數(shù)據(jù)讀寫業(yè)務(wù)切換至鏡像巻邏輯資源,繼續(xù)進(jìn) 行數(shù)據(jù)的讀寫。
      具體的,結(jié)合圖9所示,以主巻存儲(chǔ)設(shè)備對(duì)應(yīng)一臺(tái)鏡像巻存儲(chǔ)設(shè)備為例, 當(dāng)主巻邏輯資源所在的磁盤陣列損壞而主巻存儲(chǔ)控制器能夠正常運(yùn)行時(shí),主 巻存儲(chǔ)控制器通知鏡像巻存儲(chǔ)設(shè)備解除陣列緩存中被凍結(jié)的數(shù)據(jù)。鏡像巻存 儲(chǔ)設(shè)備重新計(jì)算陣列緩存中被凍結(jié)的數(shù)據(jù)的校驗(yàn)和,并將計(jì)算獲得的該部分 數(shù)據(jù)的校驗(yàn)和與該部分?jǐn)?shù)據(jù)一起寫入鏡像巻邏輯資源;或者,鏡像巻存儲(chǔ)設(shè) 備重新計(jì)算陣列緩存中所有數(shù)據(jù)的校驗(yàn)和,并將計(jì)算得到的校驗(yàn)和與對(duì)應(yīng)數(shù) 據(jù)寫入鏡像巻邏輯資源。
      步驟406,當(dāng)主巻存儲(chǔ)控制器損壞時(shí),鏡像巻存儲(chǔ)控制器通過(guò)與主巻存儲(chǔ) 控制器的intiator-target連接判斷主巻存儲(chǔ)器故障,解除鏡像緩存中所有數(shù)據(jù) 的凍結(jié)狀態(tài),并馬上將所有數(shù)據(jù)計(jì)算校驗(yàn)和,刷入陣列磁盤中。
      具體的,結(jié)合圖IO所示,以主巻存儲(chǔ)設(shè)備對(duì)應(yīng)一臺(tái)鏡像巻存儲(chǔ)設(shè)備為例, 主巻存儲(chǔ)控制器故障時(shí),無(wú)法通知鏡像巻存儲(chǔ)控制器本設(shè)備的故障。此時(shí), 由于鏡像巻存儲(chǔ)控制器無(wú)法通過(guò)intiator-target連接接收主巻存儲(chǔ)控制器的維 持intiator-target連接的信息,因此,鏡像巻存儲(chǔ)控制器判斷主巻存儲(chǔ)控制器 故障,鏡像巻存儲(chǔ)設(shè)備重新計(jì)算陣列緩存中被凍結(jié)的數(shù)據(jù)的校驗(yàn)和,并將計(jì) 算獲得的該部分?jǐn)?shù)據(jù)的校驗(yàn)和與該部分?jǐn)?shù)據(jù)一起寫入鏡像巻邏輯資源;或者, 鏡像巻存儲(chǔ)設(shè)備重新計(jì)算陣列緩存中所有數(shù)據(jù)的校驗(yàn)和,并將計(jì)算得到的校 驗(yàn)和與對(duì)應(yīng)數(shù)據(jù)寫入鏡像巻邏輯資源。本應(yīng)用場(chǎng)景中,主巻存儲(chǔ)設(shè)備與鏡像巻存儲(chǔ)設(shè)備并沒有明確的限定,對(duì) 于每一存儲(chǔ)設(shè)備,既可以為主巻存儲(chǔ)設(shè)備,也可以為鏡像巻存儲(chǔ)設(shè)備。例如, 當(dāng)多個(gè)客戶端連接不同的存儲(chǔ)設(shè)備時(shí),則存儲(chǔ)設(shè)備之間互為主、鏡像巻存儲(chǔ)設(shè)備。
      通過(guò)采用本發(fā)明提供的方法,主巻存儲(chǔ)設(shè)備與鏡像巻存儲(chǔ)設(shè)備共同計(jì)算 主巻存儲(chǔ)設(shè)備接收的數(shù)據(jù)的校驗(yàn)和,提高數(shù)據(jù)校驗(yàn)和的計(jì)算速度以及數(shù)據(jù)的 寫盤效率,并且當(dāng)主巻存儲(chǔ)設(shè)備故障時(shí),可以利用鏡像巻存儲(chǔ)設(shè)備保證主巻 存儲(chǔ)設(shè)備中數(shù)據(jù)不丟失。
      本發(fā)明提供一種數(shù)據(jù)存儲(chǔ)的設(shè)備,作為主巻存儲(chǔ)設(shè)備或者鏡像巻存儲(chǔ)設(shè) 備應(yīng)用于包括一個(gè)主巻存儲(chǔ)設(shè)備和至少一個(gè)鏡像巻存儲(chǔ)設(shè)備的存儲(chǔ)系統(tǒng)中, 在所述鏡像巻存儲(chǔ)設(shè)備上創(chuàng)建主巻邏輯資源的鏡像巻邏輯資源,所述主巻邏 輯資源掛載到所述鏡像巻存儲(chǔ)設(shè)備,所述鏡像巻邏輯資源掛載到所述主巻存
      儲(chǔ)設(shè)備,如圖ll所示,該設(shè)備包括
      緩存寫入單元11,用于所述設(shè)備作為主巻存儲(chǔ)設(shè)備時(shí),當(dāng)所述主巻存儲(chǔ) 設(shè)備接收到數(shù)據(jù)時(shí),復(fù)制所述數(shù)據(jù),并將復(fù)制后的數(shù)據(jù)分別寫入所述主巻邏 輯資源對(duì)應(yīng)的陣列緩存、以及所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存,保持所 述主巻邏輯資源對(duì)應(yīng)的陣列緩存和所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存中數(shù) 據(jù)的一致性。具體的,所述緩存寫入單元ll接收一份數(shù)據(jù)后,復(fù)制該數(shù)據(jù)并 寫入所述主巻邏輯資源對(duì)應(yīng)的陣列緩存、以及所述鏡像巻邏輯資源對(duì)應(yīng)的陣 列緩存;當(dāng)所述復(fù)制后的數(shù)據(jù)成功寫入所述主巻邏輯資源對(duì)應(yīng)的陣列緩存、 以及所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存后,接收下一份數(shù)據(jù)。
      校驗(yàn)和計(jì)算單元12,用于在下刷陣列緩存中的數(shù)據(jù)時(shí),與其他存儲(chǔ)設(shè)備 分別計(jì)算陣列緩存中的不同部分?jǐn)?shù)據(jù)的校驗(yàn)和,通知其他存儲(chǔ)設(shè)備凍結(jié)本端 進(jìn)行校驗(yàn)和計(jì)算的陣列緩存中的第一部分?jǐn)?shù)據(jù),并凍結(jié)其他存儲(chǔ)設(shè)備進(jìn)行校 驗(yàn)和計(jì)算的陣列緩存中的其他數(shù)據(jù)。
      巻寫入單元13,用于將校驗(yàn)和計(jì)算單元12計(jì)算得到的校驗(yàn)和以及該校驗(yàn) 和對(duì)應(yīng)的數(shù)據(jù)寫入所述主巻邏輯資源與鏡像巻邏輯資源,并通知其他存儲(chǔ)設(shè)備釋放被凍結(jié)的數(shù)據(jù)空間。
      本發(fā)明提供的設(shè)備,可選的,還包括
      選擇單元14,用于當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),根據(jù)預(yù)先配置的校驗(yàn)和 計(jì)算順序選擇相應(yīng)的數(shù)據(jù);
      相應(yīng)的,所述校驗(yàn)和計(jì)算單元12具體用于根據(jù)所述選擇單元14選擇 的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,并凍結(jié)自身以外的存儲(chǔ)設(shè)備計(jì)算校驗(yàn)和所對(duì)應(yīng)的數(shù) 據(jù);獲取校驗(yàn)和后,如果所述陣列緩存中存在尚未計(jì)算校驗(yàn)和的數(shù)據(jù),繼續(xù) 計(jì)算該數(shù)據(jù)所對(duì)應(yīng)的校驗(yàn)和。
      所述選擇單元14還用于
      當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),優(yōu)先選擇陣列緩存中的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算。 本發(fā)明提供的設(shè)備中,所述主巻邏輯資源掛載到所述鏡像巻存儲(chǔ)設(shè)備, 所述鏡像巻邏輯資源掛載到所述主巻存儲(chǔ)設(shè)備具體為
      所述主巻邏輯資源通過(guò)源-目標(biāo)initiator-target方式掛載到所述鏡像巻存儲(chǔ) 設(shè)備,所述鏡像巻邏輯資源通過(guò)initiator-target方式掛載到所述主巻存儲(chǔ)設(shè)備。
      可選的,本發(fā)明提供的設(shè)備中,還包括
      故障處理單元15,用于當(dāng)所述主巻邏輯資源所在陣列故障時(shí),
      所述設(shè)備作為主巻存儲(chǔ)設(shè)備時(shí),通知所述鏡像巻存儲(chǔ)設(shè)備解除所述鏡像 巻邏輯資源對(duì)應(yīng)的陣列緩存內(nèi)被凍結(jié)的數(shù)據(jù);所述設(shè)備作為鏡像巻存儲(chǔ)設(shè)備 時(shí),接收所述主巻存儲(chǔ)設(shè)備的通知,解除所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩 存內(nèi)被凍結(jié)的數(shù)據(jù),并計(jì)算所述陣列緩存內(nèi)所有數(shù)據(jù)的校驗(yàn)和,將計(jì)算獲得 的校驗(yàn)和以及所述陣列緩存內(nèi)的所有數(shù)據(jù)寫入所述鏡像巻邏輯資源;
      當(dāng)所述主巻存儲(chǔ)設(shè)備故障時(shí),
      所述設(shè)備作為鏡像巻存儲(chǔ)設(shè)備時(shí),在預(yù)設(shè)時(shí)間內(nèi)沒有接收到所述主巻存 儲(chǔ)設(shè)備的維持連接消息時(shí),解除所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存內(nèi)被凍 結(jié)的數(shù)據(jù),并計(jì)算所述陣列緩存內(nèi)所有數(shù)據(jù)的校驗(yàn)和,將計(jì)算獲得的校驗(yàn)和 以及所述陣列緩存內(nèi)的所有數(shù)據(jù)寫入所述鏡像巻邏輯資源。
      通過(guò)采用本發(fā)明提供的設(shè)備,主巻存儲(chǔ)設(shè)備與鏡像巻存儲(chǔ)設(shè)備共同計(jì)算主巻存儲(chǔ)設(shè)備接收的數(shù)據(jù)的校驗(yàn)和,提高數(shù)據(jù)校驗(yàn)和的計(jì)算速度以及數(shù)據(jù)的 寫盤效率,并且當(dāng)主巻存儲(chǔ)設(shè)備故障時(shí),可以利用鏡像巻存儲(chǔ)設(shè)備保證主巻 存儲(chǔ)設(shè)備中數(shù)據(jù)不丟失。
      通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本 發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬 件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技 術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體 現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使 得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行
      本發(fā)明各個(gè)實(shí)施例所述的方法。
      本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中 的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。
      本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描 述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例 的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn) 一步拆分成多個(gè)子模塊。
      上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
      以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于 此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
      權(quán)利要求
      1、一種數(shù)據(jù)存儲(chǔ)的鏡像方法,其特征在于,應(yīng)用于包括主卷存儲(chǔ)設(shè)備與至少一個(gè)鏡像卷存儲(chǔ)設(shè)備的存儲(chǔ)系統(tǒng)中,在所述鏡像卷存儲(chǔ)設(shè)備上創(chuàng)建主卷邏輯資源的鏡像卷邏輯資源,所述主卷邏輯資源掛載到所述鏡像卷存儲(chǔ)設(shè)備,所述鏡像卷邏輯資源掛載到所述主卷存儲(chǔ)設(shè)備,該方法包括當(dāng)所述主卷存儲(chǔ)設(shè)備接收到數(shù)據(jù)時(shí),所述主卷存儲(chǔ)設(shè)備復(fù)制所述數(shù)據(jù),并將復(fù)制后的數(shù)據(jù)分別寫入所述主卷邏輯資源對(duì)應(yīng)的陣列緩存、以及所述鏡像卷邏輯資源對(duì)應(yīng)的陣列緩存,保持所述主卷邏輯資源對(duì)應(yīng)的陣列緩存和所述鏡像卷邏輯資源對(duì)應(yīng)的陣列緩存中數(shù)據(jù)的一致性;當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),所述主卷存儲(chǔ)設(shè)備計(jì)算陣列緩存中的第一部分?jǐn)?shù)據(jù)的校驗(yàn)和,通知所述鏡像卷存儲(chǔ)設(shè)備凍結(jié)所述第一部分?jǐn)?shù)據(jù);所述鏡像卷存儲(chǔ)設(shè)備計(jì)算陣列緩存中的第二部分?jǐn)?shù)據(jù)的校驗(yàn)和,通知所述主卷存儲(chǔ)設(shè)備凍結(jié)所述第二部分?jǐn)?shù)據(jù);所述主卷存儲(chǔ)設(shè)備將所述第一部分?jǐn)?shù)據(jù)對(duì)應(yīng)的校驗(yàn)和與所述第一部分?jǐn)?shù)據(jù)寫入所述主卷邏輯資源與鏡像卷邏輯資源,通知所述鏡像卷存儲(chǔ)設(shè)備釋放被凍結(jié)的數(shù)據(jù)空間;所述鏡像卷存儲(chǔ)設(shè)備將所述第二部分?jǐn)?shù)據(jù)對(duì)應(yīng)的校驗(yàn)和與所述第二部分?jǐn)?shù)據(jù)寫入所述主卷邏輯資源與鏡像卷邏輯資源,通知所述主卷存儲(chǔ)設(shè)備釋放被凍結(jié)的數(shù)據(jù)空間。
      2、 如權(quán)利要求l所述的方法,其特征在于,當(dāng)所述主巻存儲(chǔ)設(shè)備接收到 數(shù)據(jù)時(shí),所述主巻存儲(chǔ)設(shè)備復(fù)制所述數(shù)據(jù),并將復(fù)制后的數(shù)據(jù)分別寫入所述 主巻邏輯資源對(duì)應(yīng)的陣列緩存、以及所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存具 體為所述主巻存儲(chǔ)設(shè)備接收一份數(shù)據(jù),復(fù)制所述數(shù)據(jù)并寫入所述主巻邏輯資 源對(duì)應(yīng)的陣列緩存、以及所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存;當(dāng)所述復(fù)制后的數(shù)據(jù)成功寫入所述主巻邏輯資源對(duì)應(yīng)的陣列緩存、以及 所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存后,所述主巻存儲(chǔ)設(shè)備接收下一份數(shù)據(jù)。
      3、 如權(quán)利要求l所述的方法,其特征在于,所述當(dāng)下刷陣列緩存中的數(shù) 據(jù)時(shí),所述主巻存儲(chǔ)設(shè)備計(jì)算陣列緩存中的第一部分?jǐn)?shù)據(jù)的校驗(yàn)和,所述鏡像巻存儲(chǔ)設(shè)備計(jì)算陣列緩存中的第二部分?jǐn)?shù)據(jù)的校驗(yàn)和具體為當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),所述主巻存儲(chǔ)設(shè)備與所述鏡像巻存儲(chǔ)設(shè)備根據(jù)預(yù)先配置的校驗(yàn)和計(jì)算順序,分別選擇不同部分的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算; 當(dāng)所述主巻存儲(chǔ)設(shè)備與鏡像巻存儲(chǔ)設(shè)備中的任意存儲(chǔ)設(shè)備獲得校驗(yàn)和后,如果陣列緩存中存在尚未計(jì)算校驗(yàn)和的數(shù)據(jù),所述任意存儲(chǔ)設(shè)備繼續(xù)計(jì)算該數(shù)據(jù)所對(duì)應(yīng)的4t驗(yàn)和。
      4、 如權(quán)利要求l所述的方法,其特征在于,所述當(dāng)下刷陣列緩存中的數(shù) 據(jù)時(shí),還包括所述主巻存儲(chǔ)設(shè)備優(yōu)先選擇陣列緩存中的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì) 算。
      5、 如權(quán)利要求l所述的方法,其特征在于,所述主巻邏輯資源掛載到所 述鏡像巻存儲(chǔ)設(shè)備,所述鏡像巻邏輯資源掛載到所述主巻存儲(chǔ)設(shè)備具體為所述主巻邏輯資源通過(guò)源-目標(biāo)initiator-target方式掛載到所述鏡像巻存儲(chǔ) 設(shè)備,所述鏡像巻邏輯資源通過(guò)initiator-target方式掛載到所述主巻存儲(chǔ)設(shè)備。
      6、 如權(quán)利要求1-5中任一項(xiàng)所述的方法,其特征在于,還包括當(dāng)所述主巻邏輯資源所在陣列故障時(shí),所述主巻存儲(chǔ)設(shè)備通知所述鏡像 巻存儲(chǔ)設(shè)備解除所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存內(nèi)被凍結(jié)的數(shù)據(jù),并計(jì) 算所述陣列緩存內(nèi)所有數(shù)據(jù)的校驗(yàn)和,將計(jì)算獲得的校驗(yàn)和以及所述陣列緩 存內(nèi)的所有數(shù)據(jù)寫入所述鏡像巻邏輯資源;當(dāng)所述主巻存儲(chǔ)設(shè)備故障時(shí),所述鏡像巻存儲(chǔ)設(shè)備在預(yù)設(shè)時(shí)間內(nèi)沒有接 收到所述主巻存儲(chǔ)設(shè)備的維持連接消息時(shí),解除所述鏡像巻邏輯資源對(duì)應(yīng)的 陣列緩存內(nèi)被凍結(jié)的數(shù)據(jù),并計(jì)算所述陣列緩存內(nèi)所有數(shù)據(jù)的校驗(yàn)和,將計(jì) 算獲得的校驗(yàn)和以及所述陣列緩存內(nèi)的所有數(shù)據(jù)寫入所述鏡像巻邏輯資源。
      7、 一種數(shù)據(jù)存儲(chǔ)的設(shè)備,其特征在于,作為主巻存儲(chǔ)設(shè)備或者鏡像巻存 儲(chǔ)設(shè)備應(yīng)用于包括一個(gè)主巻存儲(chǔ)設(shè)備和至少一個(gè)鏡像巻存儲(chǔ)設(shè)備的存儲(chǔ)系統(tǒng) 中,在所述鏡像巻存儲(chǔ)設(shè)備上創(chuàng)建主巻邏輯資源的鏡像巻邏輯資源,所述主 巻邏輯資源掛載到所述鏡像巻存儲(chǔ)設(shè)備,所述鏡像巻邏輯資源掛載到所述主 巻存儲(chǔ)設(shè)備,該設(shè)備包括緩存寫入單元,用于所述設(shè)備作為主巻存儲(chǔ)設(shè)備時(shí),當(dāng)所述主巻存儲(chǔ)設(shè) 備接收到數(shù)據(jù)時(shí),復(fù)制所述數(shù)據(jù),并將復(fù)制后的數(shù)據(jù)分別寫入所述主巻邏輯 資源對(duì)應(yīng)的陣列緩存、以及所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存,保持所述 主巻邏輯資源對(duì)應(yīng)的陣列緩存和所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存中數(shù)據(jù)的一致性;校驗(yàn)和計(jì)算單元,用于在下刷陣列緩存中的數(shù)據(jù)時(shí),與其他存儲(chǔ)設(shè)備分 別計(jì)算陣列緩存中的不同部分?jǐn)?shù)據(jù)的校驗(yàn)和,通知其他存儲(chǔ)設(shè)備凍結(jié)本端進(jìn)行校驗(yàn)和計(jì)算的陣列緩存中的第一部分?jǐn)?shù)據(jù),并凍結(jié)其他存儲(chǔ)設(shè)備進(jìn)行校驗(yàn) 和計(jì)算的陣列緩存中的其他數(shù)據(jù);巻寫入單元,用于將計(jì)算得到的校驗(yàn)和以及該校驗(yàn)和對(duì)應(yīng)的數(shù)據(jù)寫入所 述主巻邏輯資源與鏡像巻邏輯資源,并通知其他存儲(chǔ)設(shè)備釋放被凍結(jié)的數(shù)據(jù) 空間。
      8、 如權(quán)利要求7所述的設(shè)備,其特征在于,所述緩存寫入單元具體用于 接收一份數(shù)據(jù),復(fù)制所述數(shù)據(jù)并寫入所述主巻邏輯資源對(duì)應(yīng)的陣列緩存、以及所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存;當(dāng)所述復(fù)制后的數(shù)據(jù)成功寫入所述主巻邏輯資源對(duì)應(yīng)的陣列緩存、以及 所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存后,接收下一份數(shù)據(jù)。
      9、 如權(quán)利要求7所述的設(shè)備,其特征在于,還包括選擇單元,用于當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),根據(jù)預(yù)先配置的校驗(yàn)和計(jì)算順序選擇相應(yīng)的數(shù)據(jù);所述校驗(yàn)和計(jì)算單元具體用于根據(jù)所述選擇單元選擇的數(shù)據(jù)進(jìn)行校驗(yàn) 和計(jì)算,并凍結(jié)自身以外的存儲(chǔ)設(shè)備計(jì)算校驗(yàn)和所對(duì)應(yīng)的數(shù)據(jù);獲取校驗(yàn)和 后,如果所述陣列緩存中存在尚未計(jì)算校驗(yàn)和的數(shù)據(jù),繼續(xù)計(jì)算該數(shù)據(jù)所對(duì) 應(yīng)的4交-瞼和。
      10、 如權(quán)利要求9所述的設(shè)備,其特征在于,所述選擇單元還用于當(dāng)下刷陣列緩存中的數(shù)據(jù)時(shí),優(yōu)先選擇陣列緩存中的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算。
      11、 如權(quán)利要求9所述的設(shè)備,其特征在于,所述主巻邏輯資源掛載到所述鏡像巻存儲(chǔ)設(shè)備,所述鏡像巻邏輯資源掛載到所述主巻存儲(chǔ)設(shè)備具體為 所述主巻邏輯資源通過(guò)源-目標(biāo)initiator-target方式掛載到所述鏡像巻存儲(chǔ) 設(shè)備,所述鏡像巻邏輯資源通過(guò)initiator-target方式掛載到所述主巻存儲(chǔ)設(shè)備。
      12、如權(quán)利要求7-11中任一項(xiàng)所述的設(shè)備,其特征在于,還包括 故障處理單元,用于當(dāng)所述主巻邏輯資源所在陣列故障時(shí), 所述設(shè)備作為主巻存儲(chǔ)設(shè)備時(shí),通知所述鏡像巻存儲(chǔ)設(shè)備解除所述鏡像 巻邏輯資源對(duì)應(yīng)的陣列緩存內(nèi)被凍結(jié)的數(shù)據(jù);所述設(shè)備作為鏡像巻存儲(chǔ)設(shè)備 時(shí),接收所述主巻存儲(chǔ)設(shè)備的通知,解除所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩 存內(nèi)被凍結(jié)的數(shù)據(jù),并計(jì)算所述陣列緩存內(nèi)所有數(shù)據(jù)的校驗(yàn)和,將計(jì)算獲得 的校驗(yàn)和以及所述陣列緩存內(nèi)的所有數(shù)據(jù)寫入所述鏡像巻邏輯資源; 當(dāng)所述主巻存儲(chǔ)設(shè)備故障時(shí),所述設(shè)備作為鏡像巻存儲(chǔ)設(shè)備時(shí),在預(yù)設(shè)時(shí)間內(nèi)沒有接收到所述主巻存 儲(chǔ)設(shè)備的維持連接消息時(shí),解除所述鏡像巻邏輯資源對(duì)應(yīng)的陣列緩存內(nèi)被凍 結(jié)的數(shù)據(jù),并計(jì)算所述陣列緩存內(nèi)所有數(shù)據(jù)的校驗(yàn)和,將計(jì)算獲得的校驗(yàn)和 以及所述陣列緩存內(nèi)的所有數(shù)據(jù)寫入所述鏡像巻邏輯資源。
      全文摘要
      本發(fā)明公開了一種數(shù)據(jù)存儲(chǔ)的鏡像方法,主卷存儲(chǔ)設(shè)備與鏡像卷存儲(chǔ)設(shè)備共同計(jì)算主卷存儲(chǔ)設(shè)備接收的數(shù)據(jù)的校驗(yàn)和,提高數(shù)據(jù)校驗(yàn)和的計(jì)算速度以及數(shù)據(jù)的寫盤效率,并且當(dāng)主卷存儲(chǔ)設(shè)備故障時(shí),可以利用鏡像卷存儲(chǔ)設(shè)備保證主卷存儲(chǔ)設(shè)備中數(shù)據(jù)不丟失。
      文檔編號(hào)G06F11/14GK101630281SQ20091016931
      公開日2010年1月20日 申請(qǐng)日期2009年8月25日 優(yōu)先權(quán)日2009年8月25日
      發(fā)明者迪 周, 策 孫 申請(qǐng)人:杭州華三通信技術(shù)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1