新四季網

一種raid陣列同步方法及裝置的製作方法

2023-06-14 09:21:16

專利名稱:一種raid陣列同步方法及裝置的製作方法
技術領域:
本發明涉及網絡存儲技術,尤其涉及一種更加簡潔有效的RAID陣列同步方法及
>J-U ρ α裝直。
背景技術:
獨立磁碟RAID陣列(Redundant Array of Independent Disks, RAID)技術廣泛應用於存儲領域,在網絡存儲上尤其流行。RAID技術主要是通過磁碟的冗餘性來保證存儲在其上數據的可用性,在使用陣列之前通常要進行陣列 的同步,主要目的包括(I)保證RAID各個條帶上數據的一致性,使其具備數據冗餘性;(2)在後續的業務流量中,能夠提升業務流量的性能。RAID陣列進行同步的作用主要是為了提升後續寫入的效率。首先,如果RAID陣列沒有進行過同步,業務數據在RAID算法(以RAID5為例)中只能通過重構寫的方式進行條帶的寫處理,因為不知道條帶上的各個條帶塊(Segment)的數據是否具備一致性,不能使用在隨機流量下性能更好的讀修改寫(Read Modify Write)算法。重構寫(Reconstruct Write)的處理過程包括從當前條帶中不需要修改的Segment中讀取原來的數據,再和本條帶中所有需要修改的Segment上的新數據計算奇偶校驗值,並將新的Segment數據以及新的奇偶校驗值一併寫入到當前條帶。顯然重構寫在隨機流量模型下要牽涉更多的I/O操作。舉例來說,如果RAID陣列的磁碟數為9塊,某時刻一個IO只更新了一個條帶的I個Segment,剩餘7個沒有更新。在重構寫模式下,會將沒有被更新的7個Segment的數據讀出,和需要更新的前I個Segment的數據計算出校驗數據,然後將這I個Segment連同校驗數據所在的Segment —並寫入2磁碟。可以看出,這個操作共有讀七個Segment中數據的操作和寫兩個segment的操作。其次,如果RAID陣列進行過同步,則可以根據下發的業務數據所在磁碟個數計算出最優的算法,可能使重構寫也可能是讀修改寫。先從需要修改的Segment上讀取舊的數據,再從條帶上讀取舊的奇偶校驗值;根據舊數據、舊校驗值和需要修改的Segment上的新數據計算出這個條帶上的新的校驗值;最後寫入新的數據和新的奇偶校驗值。這個過程中包含讀取、修改和寫入的一個循環周期,因此稱為讀改寫。讀改寫計算新校驗值的公式為新校驗數據=(老數據EOR新數據)EOR老校驗數據。如果待更新的Segment已經超過了條帶中總Segment數量的一半,則此時不適合用讀改寫,因為讀改寫需要讀出這些Segment中的數據和校驗數據。而如果採用重構寫,只需要讀取剩餘不準備更新數據的Segment中的數據即可,因為後者讀數量比前者要少。所以超過一半用重構寫,不到一半用讀改寫。整條更新就用整條寫。因此在隨機寫或磁碟個數較多時,陣列同步後使用讀修改寫的方式可以使系統訪問IO磁碟的次數最少,以提升性能。請參考圖I以及圖2,現有技術中RAID陣列(以RAID5為例)的同步功能均是使用通用的算法在每個條帶上計算出校驗盤的位置,然後通過讀該條帶的數據盤數據,進行校驗後,把校驗數據寫入校驗盤。以同步StripeO為例,同步過程包括
a.確定校驗盤的位置為3號盤;b.讀出數據盤DO,Dl和D2在stripeO上的數據;c.異或校驗,獲取校驗盤數據P0=D0 EOR Dl EOR D2 ;d.把PO校驗數據寫入校驗盤。現有技術中陣列同步的處理流程複雜度與RAID陣列重建複雜度處於同一個量級,同步通常會略低於重建;但二者均是以條帶為單元進行遍歷整個陣列進行處理,處理流程較長。首先,在單個磁碟容量越來越大的今天,同步的處理時 間會相應增加,影響用戶體驗。其次,同步與重建之間最大的區別在於在RAID陣列投入使用之後,重建流程可能會經常被使用到(每次有磁碟故障或者管理員更換磁碟),而同步流程通常只會使用一次。這意味著,對於存儲設備廠商來說,需要為不常用的同步功能付出較高的開發成本。

發明內容
有鑑於此,本發明提供一種RAID陣列同步裝置,應用於網絡存儲設備上,其中該網絡存儲設備包括RAID陣列,所述RAID陣列包括多塊磁碟;其中RAID陣列中至少有一塊磁碟被預先指定為同步校驗盤,其特徵在於,該裝置包括數據讀取單元,用於從RAID陣列中除同步校驗盤外的每個磁碟上讀取未完成同步的同步塊上的數據,其中每個磁碟的同步塊隸屬於一個同步條帶,同一個同步條帶中的每一個同步塊大小相同;校驗寫入單元,用於根據RAID陣列對應的RAID校驗算法對讀取的多個同步塊數據進行校驗以生成同步校驗數據,並將所述同步校驗數據寫入所述同步校驗盤上的同步塊上,以使得所述同步條帶上的數據呈現一致性。本發明還提供一種RAID陣列同步方法,應用於網絡存儲設備上,其中該網絡存儲設備包括RAID陣列,所述RAID陣列包括多塊磁碟;其中RAID陣列中至少有一塊磁碟被預先指定為同步校驗盤,其特徵在於,該方法包括A、從RAID陣列中除同步校驗盤外的每個磁碟上讀取未完成同步的同步塊上的數據,其中每個磁碟的同步塊隸屬於一個同步條帶,同一個同步條帶中的每一個同步塊大小相同;B、根據RAID陣列對應的RAID校驗算法對讀取的多個同步塊數據進行校驗以生成同步校驗數據,並將所述同步校驗數據寫入所述同步校驗盤上的同步塊上,以使得所述同步條帶上的數據呈現一致性。通過本發明的設計,首先可以使得同步的業務處理特點更為接近重建業務處理特點,可以有效地復用部分重建功能的開發成果,降低了開發與維護成本。其次本發明不再局限於條帶這樣的同步操作對象,可以使用更大的同步條帶進行操作,大大提升了同步速度與性能。


圖I是現有技術中同步過程中數據處理示意圖。圖2是現有技術中同步過程的流程圖。圖3是本發明一種實施方式RAID陣列同步裝置邏輯結構圖。
圖4是本發明一種實施方式RAID陣列同步方法的處理流程圖。圖5是本發明一種實施方式中一個條帶上數據同步過程示意圖。圖6是本發明一種實施方式中採用更大同步塊的同步過程示意圖。
具體實施例方式請參考圖3,本發明提供一種新的RAID陣列同步裝置,應用於網絡存儲設備上,其中該網絡存儲設備包括RAID陣列,所述RAID陣列包括多塊磁碟;以電腦程式實現為例,該同步裝置包括狀態標記單元、數據讀取單元以及校驗寫入單元。該裝置運行於網絡設備時執行如下步驟 步驟101,當有業務數據寫入RAID陣列時,採用重構寫的方式進行業務數據寫入;如背景技術所說的那樣,在同步沒有完成之前,業務數據的寫入都是按照重構寫模式進行與入的。步驟102,從冗餘磁碟中選定一個磁碟作為同步校驗盤;步驟103,數據讀取單元從RAID陣列中除同步校驗盤外的每個磁碟上讀取未完成同步的同步塊上的數據,其中每個磁碟的同步塊隸屬於一個同步條帶,同一個同步條帶中的每一個同步塊大小相同;步驟104,校驗寫入單元根據RAID陣列對應的RAID校驗算法對讀取的多個同步塊上的數據進行校驗以生成同步校驗數據,並將所述同步校驗數據寫入所述同步校驗盤上的同步塊上,以使得所述同步條帶上的數據呈現一致性。步驟105,校驗寫入單元進一步檢查同步是否已經完成;如果是則結束,否則返回步驟103。通過以上的流程可以看出,首先本發明將RAID陣列中的一個磁碟指定為同步校驗盤,生成的同步校驗數據總是寫入同一個磁碟中;反觀現有技術,在同步過程中,每次都需要確定校驗數據到底在哪個磁碟上,同步過程中每次寫入同步校驗數據都需要變更目標寫入磁碟,過程異常繁瑣。其次,雖然同步與重建流程本質上是不同的業務流程,處理的磁碟對象、啟動時機以及業務目標都不一樣,但是本發明的同步方法的中總是向同一個磁碟寫入數據這個特點與重建的實現過程接近,這使得存儲設備廠商在同步這一功能特性開發的過程中可以大量復用重建特性功能中的軟體代碼與設計結構,開發成本大大降低。事實上,RAID陣列同步的目的僅僅是為了條帶上數據的一致性,因此若即將進行同步的條帶是已經寫過了業務數據的條帶,那麼在寫入業務數據的過程中RAID算法已經保證了該條帶上各個條帶塊的數據之間呈現出一致性;若同步的條帶是沒有寫過的數據時,在哪個磁碟上寫校驗數據效果都是一樣的。因此在同步時將哪個磁碟作為校驗盤進行寫入都是一樣的。以下通過一個簡單的例子來說明這個問題。首先,本發明中同步塊的大小並沒有特別限制,只不過RAID陣列的中同一個同步條帶上的各個同步塊大小必須相同(請參考圖6,比如512KB)。假設本發明所說的同步塊就是RAID陣列中的條帶塊,假設磁碟3被選定為同步校驗盤。請參考圖l,StripeO-4已經寫入了業務數據與校驗數據;假設Stripe5當前還沒有寫入業務數據,當前Stripe5上各個磁碟的實際數據(對於用戶業務來說是無效的)是X、Y、Z、W。本實施方式中在進行同步處理的過程如下
讀取到stripeO上同步校驗盤以外的所有磁碟(O、1、2)上的同步塊數據DO、D1、D2,然後根據RAID校驗算法對DO、Dl、D2進行異或校驗,得到同步校驗數據PO寫入磁碟3中,PO與實際校驗數據一致;讀取stripel上同步校驗盤以外的所有磁碟(0、1、2)上的同步塊數據D3、D4、P1;然後根據RAID校驗算法對D3、D4、P1進行異或校驗,得到同步校驗數據D5寫入磁碟3中。實施上D5在本發明的同步流程中被視為同步校驗數據,但事實上D5又是業務數據(用戶真實寫入的數據)。再依次處理stripe2、3、4,方式與stripe0、l的處理相同。對於已經寫過數據的條帶來說,本發明可以重新執行了一次RAID校驗算法,將這些條帶在磁碟3上的條帶塊數據(可能是業務數據也可能是校驗數據)又重新寫了一遍,每個已經寫過業務數據的條帶上沒有發生任何改變。請參考圖5,接下來處理Stripe5,同樣的道理,讀取同步塊數據X、Y、Z,根據RAID 校驗算法對Χ、γ、ζ進行異或校驗,得到同步校驗數據V寫入磁碟3覆蓋原來同步塊中的W。由於剛剛執行了異或校驗,雖然XYZV對用戶業務是無效的,但此時XYZV四個同步塊數據之間已經呈現出了一致性。當用戶有實際數據寫入時,其可以體現出靈活性。假設用戶第一次寫入D14,此時可以使用讀改寫模式進行寫入。此時,執行寫入時可以將磁碟2上的數據Z視為校驗數據,然後根據讀改寫算法得到新的校驗數據U=D14 EOR XEOR Z;然後將D14以及U分別寫入磁碟O和磁碟2的條帶塊。假設用戶第二次寫入數據D15以及D16,請參考圖5,此時可以使用重構寫的方式寫入,最終的結果是D14、D15、P1、D16。需要注意的是這裡的Pl與stripel的Pl並不是一樣的校驗數據,Pl中的I僅僅是一個下標,表示該校驗數據在磁碟2上。在一種較佳的實施方式中,同步可以依次進行,請參考圖4,同步可以按照同步條帶的編號順序進行。以下在上述基礎實施方式的基礎介紹幾個優化的實施方式。實施方式一,請參考圖6,既然同步可以寫到指定的同步校驗盤,則每次同步的數據量就可以脫離RAID陣列條帶這個操作單位的大小限制,可以使用儘可能多的數據進行同步,這樣會大大提升磁碟的處理性能。比如讀一個磁碟上4K的數據量和讀一個磁碟512KB的數據量,性能上的消耗差別很小,但RAID同步的性能卻會高出數百倍!因此在優選的實施方式中,同步塊比所述條帶塊大,相應地由各個磁碟同步塊構成的同步條帶的數據容量大於所述條帶。在此提供兩種在實際中較佳的實現方式a.同步塊大小為RAID陣列條帶塊的N倍(N>=2),b.同步塊大小為當前系統一次數據讀取的最大值。實施方式二,在基礎的實施方式中,並沒有區分讀取到的同步塊中的數據是否為已經寫入的業務數據,為了提高同步的速度,可以對此進行區分。此時同步裝置可以進一步包括寫入標記單元,用於在RAID陣列條帶被寫入業務數據時,將該條帶上的數據的狀態由未同步修改為已同步。相應地,在本實施方式中,數據讀取單元在讀取數據時則相應讀取狀態為未同步的數據。在優選的實施方式中,可以以條帶或者條帶塊為單位使用Bitmap的方式進行數據狀態的標記。需要說明的是,首先,以上是以RAID5為例進行說明的,然而本發明並不局限於RAID5,其次,同步塊的大小在優選的方式中是預設的大小,但是在其他實施方式中其大小也可以由程序根據需要來動態指定,因為本發明對同步塊的大小並沒有非常嚴格的限制,只要當前同步條帶上的每個同步塊大小一致即可。
通過本發明的設計,首先可以使得同步的業務處理特點更為接近重建業務處理特點,可以有效地復用重建功能的開發成果,降低了維護成本。由於復用的關係,自然地降低了軟體的維護成本。其次本發明不再局限於條帶這樣的同步操作對象,可以使用更大的同步條帶進行操作,大大提升了同步速度與性能。以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精 神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的範圍之內。
權利要求
1.一種RAID陣列同步裝置,應用於網絡存儲設備上,其中該網絡存儲設備包括RAID陣列,所述RAID陣列包括多塊磁碟;其中RAID陣列中至少有一塊磁碟被預先指定為同步校驗盤,其特徵在於,該裝置包括 數據讀取單元,用於從RAID陣列中除同步校驗盤外的每個磁碟上讀取未完成同步的同步塊上的數據,其中每個磁碟的同步塊隸屬於一個同步條帶,同一個同步條帶中的每一個同步塊大小相同; 校驗寫入單元,用於根據RAID陣列對應的RAID校驗算法對讀取的多個同步塊數據進行校驗以生成同步校驗數據,並將所述同步校驗數據寫入所述同步校驗盤上的同步塊上,以使得所述同步條帶上的數據呈現一致性。
2.如權利要求I所述的裝置,其特徵在於,所述同步塊的大小是預設的。
3.如權利要求I所述的裝置,其特徵在於,所述同步塊比RAID陣列的條帶塊大。
4.如權利要求I所述的裝置,其特徵在於,所述同步塊大小為RAID陣列的條帶塊的N倍,其中N為自然數且不小於2,或者所述同步塊大小為當前系統一次數據讀寫的最大值。
5.如權利要求I所述的裝置,其特徵在於,校驗寫入單元進一步檢查同步是否已經完成;如果是則結束,否則返回數據讀取單元進行處理。
6.一種RAID陣列同步方法,應用於網絡存儲設備上,其中該網絡存儲設備包括RAID陣列,所述RAID陣列包括多塊磁碟;其中RAID陣列中至少有一塊磁碟被預先指定為同步校驗盤,其特徵在於,該方法包括 A、從RAID陣列中除同步校驗盤外的每個磁碟上讀取未完成同步的同步塊上的數據,其中每個磁碟的同步塊隸屬於一個同步條帶,同一個同步條帶中的每一個同步塊大小相同; B、根據RAID陣列對應的RAID校驗算法對讀取的多個同步塊數據進行校驗以生成同步校驗數據,並將所述同步校驗數據寫入所述同步校驗盤上的同步塊上,以使得所述同步條帶上的數據呈現一致性。
7.如權利要求6所述的方法,其特徵在於,所述同步塊的大小是預設的。
8.如權利要求6所述的方法,其特徵在於,所述同步塊比RAID陣列的條帶塊大。
9.如權利要求6所述的方法,其特徵在於,所述同步塊大小為RAID陣列的條帶塊的N倍,其中N為自然數且不小於2,或者所述同步塊大小為當前系統一次數據讀寫的最大值。
10.如權利要求6所述的方法,其特徵在於,所述步驟B進一步包括檢查同步是否已經完成;如果是則結束,否則返回步驟A處理。
全文摘要
本發明提供一種RAID陣列同步方法,應用於網絡存儲設備上,其中RAID陣列中至少有一塊磁碟被預先指定為同步校驗盤,該方法包括從RAID陣列中除同步校驗盤外的每個磁碟上讀取未完成同步的同步塊上的數據,其中每個磁碟的同步塊隸屬於一個同步條帶,同步條帶中的每一個同步塊大小相同;根據RAID校驗算法對讀取的多個同步塊數據進行校驗以生成同步校驗數據,並將所述同步校驗數據寫入同步校驗盤上的同步塊上,以使得所述同步條帶上的數據呈現一致性。本發明可復用部分重建功能的開發成果,降低了開發與維護成本。其次本發明不局限於條帶為單位進行操作,可以使用更大的同步條帶進行操作,大大提升了同步速度與性能。
文檔編號G06F3/06GK102789370SQ20121022695
公開日2012年11月21日 申請日期2012年6月29日 優先權日2012年6月29日
發明者張鍵 申請人:浙江宇視科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀