專利名稱:建立映像儲存設備與同步儲存設備數(shù)據(jù)更新的方法
技術領域:
本發(fā)明涉及一種獨立磁盤多重數(shù)組(RAID)的映像儲存設備,特別是一種映像儲存設備數(shù)據(jù)保護的方法。
背景技術:
獨立磁盤多重數(shù)組(RAID)的目的在于將相同的數(shù)據(jù)儲存在多個磁盤驅動器中不同的地方,并且改善儲存子系統(tǒng)的效能,其中,映像儲存設備(例如RAID 1)使用至少兩個相同的磁盤驅動器并且在兩者中儲存完全相同的數(shù)據(jù)區(qū)塊,此為RAID中錯誤容忍度最慢的類型,因為同時必須將數(shù)據(jù)復制到兩個磁盤驅動器中,然而,此為提供高可靠度最簡單的方法。
目前在儲存領域大多使用數(shù)據(jù)保護的方法是雙控制器配合映像儲存設備的方式,請參考圖1所示,這種方式是通過映像儲存設備被一個控制器1所控制,如果該控制器1發(fā)生問題無法使用(如電源損壞,機器當機)等情況的時候,映像儲存設備則交給另一個控制器2控制,請參考第2圖所示,映像儲存設備會變?yōu)橥V範顟B(tài)無法工作,這時候,使用者數(shù)據(jù)無法復制到這個映像儲存設備上,處理的方式是重新啟動該機器,或者將使用者正在向該映像儲存設備復制的數(shù)據(jù)存放在一個緩存器10中,待另一個控制器2完全控制了映像儲存設備之后,再將緩存器10中的使用者數(shù)據(jù)復制到映像儲存設備上。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術問題在于提供一種建立映像儲存設備與同步儲存設備數(shù)據(jù)更新的方法,以針對使用者在使用儲存設備時,達到數(shù)據(jù)保護的目的,大大提高了系統(tǒng)的可靠性和安全性,沒有了中間的緩沖減少了內(nèi)存的消耗。
為了實現(xiàn)上述目的,本發(fā)明提供了一種建立映像儲存設備與同步儲存設備數(shù)據(jù)更新的方法,其特點在于,該方法包括下列步驟分配每一控制器只控制相對應的唯一儲存設備;將多個該儲存設備建立一映像儲存設備;該映像儲存設備將該映像儲存設備的狀態(tài)信息反饋至每一該控制器上;當有任一異??刂破靼l(fā)生時,確定至少一個控制器正常運作,則持續(xù)接收使用者的數(shù)據(jù),并記錄至該映像儲存設備中;重新啟動該異??刂破鳎@取該映像儲存設備的狀態(tài)信息;及根據(jù)該狀態(tài)信息找到數(shù)據(jù)最完整的該儲存設備,將該異??刂破魉刂葡鄬奈ㄒ粌Υ嬖O備進行同步更新并添加到該映像儲存設備。
上述建立映像儲存設備與同步儲存設備數(shù)據(jù)更新的方法,其特點在于,該映像儲存設備選自最小的該儲存設備。
上述建立映像儲存設備與同步儲存設備數(shù)據(jù)更新的方法,其特點在于,該映像儲存設備的所有的信息記錄在每一該控制器的一配置文件中。
本發(fā)明所提的方法具有以下優(yōu)點1、沒有轉換控制器的過程,大大提高了系統(tǒng)的可靠性和安全性,系統(tǒng)不會在控制器轉換失敗的時候而癱瘓。
2、不使用緩存器,提高了系統(tǒng)的性能和使用者數(shù)據(jù)的安全性,即使在單個控制器發(fā)生損毀的時候,使用者的數(shù)據(jù)依舊可以向這個映像儲存設備進行復制,沒有了中間的緩沖減少了內(nèi)存的消耗。
3、使得整體系統(tǒng)維護起來比較方便,當控制器發(fā)生問題的時候,不需要在確認使用者數(shù)據(jù)從緩存器復制完畢,就可以針對出現(xiàn)問題的控制器進行維修。
以下結合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。
圖1為現(xiàn)有雙控制器配合映像儲存設備的示意圖;圖2為現(xiàn)有雙控制器配合映像儲存設備的控制器的轉換過程示意圖;圖3A為本發(fā)明的控制器各別獨立控制儲存設備配合映像儲存設備的示意圖;圖3B為本發(fā)明的控制器失效的示意圖;圖4為本發(fā)明的方法流程圖;圖5為本發(fā)明建立映像儲存設備的流程圖;圖6為本發(fā)明的同步儲存設備數(shù)據(jù)更新的流程圖;
圖7A~7C為本發(fā)明的實施例示意圖;圖8為本發(fā)明的實施例的控制器寫入數(shù)據(jù)的流程圖;及圖9為本發(fā)明的實施例的控制器恢復數(shù)據(jù)的流程圖。
其中,附圖標記10緩存器步驟401分配每一控制器只控制相對應的唯一儲存設備步驟402將多個該儲存設備建立一映像儲存設備步驟403該映像儲存設備將該映像儲存設備的狀態(tài)信息反饋至每一該控制器上步驟404當有任一異??刂破靼l(fā)生時,確定至少一個控制器正常運作,則持續(xù)接收使用者的數(shù)據(jù),并記錄至該映像儲存設備中步驟405重新啟動該異常控制器,并獲取該映像儲存設備的狀態(tài)信息步驟406根據(jù)該狀態(tài)信息找到數(shù)據(jù)最完整的該儲存設備,將該異常控制器所控制相對應的唯一儲存設備進行同步更新并添加到該映像儲存設備步驟501獲取每一個控制器上儲存設備的大小步驟502找出最小的儲存設備步驟503以最小的儲存設備建立出鏡像儲存設備步驟504建立是否成功步驟505使用者數(shù)據(jù)占用映像儲存設備的信息會立即映像給每一個控制器步驟506報告失敗和原因步驟601控制器1獲取映像儲存設備的狀態(tài)信息步驟602檢查該控制器1數(shù)據(jù)是否完整步驟603根據(jù)該狀態(tài)信息找到數(shù)據(jù)最完整的儲存設備進行同步操作步驟604將控制器1所控制的儲存設備1的數(shù)據(jù)進行補充完整步驟605將儲存設備1添加到映像儲存設備步驟801查看控制器的狀態(tài)步驟802獲取網(wǎng)絡層傳輸?shù)臄?shù)據(jù)步驟803將數(shù)據(jù)寫入每一個狀態(tài)正??刂破鞯膬Υ嬖O備步驟804判斷數(shù)據(jù)寫入是否成功步驟805在寫入數(shù)據(jù)的結尾做標示,證明該數(shù)據(jù)寫入完畢步驟806報告失敗和原因步驟901查看控制器的狀態(tài)步驟902通過配置文件找到?jīng)]有損壞的控制器步驟903通過該控制器上儲存設備上的標示數(shù)據(jù)找到當前控制器上沒有的數(shù)據(jù)位置步驟904將目前控制器儲存設備沒有的數(shù)據(jù)寫入步驟905判斷數(shù)據(jù)寫入是否成功步驟906在寫入數(shù)據(jù)的結尾做標示,證明該數(shù)據(jù)寫入完畢步驟907報告失敗和原因具體實施方式
請參考圖3A,每一個控制器只控制自己的儲存設備(控制器1控制儲存設備1、控制器2控制儲存設備2、控制器3控制儲存設備3…),將每一個控制器的儲存設備建立一個整體的映像儲存設備,這個映像儲存設備將映像儲存設備的狀態(tài)信息反饋至每一控制器上,并被所有的控制器所知曉,當單一個控制器無法使用的時候,不影響使用者對映像設備的讀寫,這樣的控制器可以有多個,而所有的儲存設備生成一個映像儲存設備。
每個控制器都控制自己儲存設備,并且知道整體映像設備的信息,這樣使用者數(shù)據(jù)可以向這個映像設備進行復制。
請參考圖3B所示,如果一個控制器(以控制器1為例)發(fā)生異常情況導致該儲存設備無法使用,根據(jù)上述建立映像儲存設備的原理,儲存設備將不會受到影響,使用者數(shù)據(jù)仍舊復制到正常的儲存設備上,儲存設備的大小也不會受到影響,因為在建立映像儲存設備的時候就統(tǒng)一了儲存設備的大小,可以說對使用者來說什么都沒有改變。
因此,本發(fā)明提出一種建立映像儲存設備與同步儲存設備數(shù)據(jù)更新的方法,以針對使用者在使用儲存設備時,達到數(shù)據(jù)保護的目的,請參考圖4所示,該方法包括下列步驟步驟401,分配每一控制器只控制相對應的唯一儲存設備;步驟402,再將多個該儲存設備建立一映像儲存設備;步驟403,該映像儲存設備將該映像儲存設備的狀態(tài)信息反饋至每一該控制器上;步驟404,當有任一異??刂破靼l(fā)生時,確定至少一個控制器正常運作,則持續(xù)接收使用者的數(shù)據(jù),并記錄至該映像儲存設備中;步驟405,重新啟動該異??刂破鳎@取該映像儲存設備的狀態(tài)信息;步驟406,根據(jù)該狀態(tài)信息找到數(shù)據(jù)最完整的該儲存設備,將該異常控制器所控制相對應的唯一儲存設備進行同步更新并添加到該映像儲存設備。
請參考圖5所示,為建立映像儲存設備的流程,根據(jù)映像儲存設備的原理,使用者數(shù)據(jù)被寫到每一個儲存設備上,每一個儲存設備上的數(shù)據(jù)信息都是一樣的,步驟501,通過獲取每一個控制器上儲存設備的大小,步驟502,找出最小的儲存設備,總體建立出來映像儲存設備的大小將為最小儲存設備的大小,步驟503,以最小的儲存設備建立出鏡像儲存設備,大于該儲存設備的儲存空間將不會被使用,這樣保證了每一個儲存設備上的使用者數(shù)據(jù)的一致性,步驟504,接著判斷建立是否成功,如果是,每個控制器都得到目前映像儲存設備的信息,這個信息在每一個控制器上都是相同的,其中映像儲存設備的所有的信息記錄在每一控制器的配置文件中,步驟505,使用者數(shù)據(jù)占用映像儲存設備的信息會立即地映像給每一個控制器,不會出現(xiàn)不同控制器之間對于映像儲存設備信息不同的情況,步驟506,如果沒有成功建立映像儲存設備,則報告失敗和原因。
請參考圖6所示,為同步儲存設備數(shù)據(jù)更新的流程,當損壞的控制器1被修復之后,需要做到是將控制器1啟動,步驟601,當控制器1獲取映像儲存設備的狀態(tài)信息后,步驟602,檢查該控制器1數(shù)據(jù)是否完整,如果不完整,步驟603,根據(jù)該狀態(tài)信息找到數(shù)據(jù)最完整的儲存設備進行同步操作,步驟604,將控制器1所控制的儲存設備1的數(shù)據(jù)進行補充完整,步驟605,然后再將儲存設備1添加到映像儲存設備中,這樣系統(tǒng)可以恢復到原來的狀態(tài),作為使用者來說不會有任何的影響。
這樣的處理方式可以延伸到多個控制器的問題發(fā)生,只要存在一個正常的控制器,系統(tǒng)就可以正常地工作,出現(xiàn)問題的控制器修復完畢之后可以隨時添加到映像儲存設備中,通過同步操作達到各個控制器所控制的儲存設備的數(shù)據(jù)相同,對于維護系統(tǒng)十分方便,對使用者的數(shù)據(jù)保護也更加安全。
本發(fā)明提出一實施例,說明建立映像儲存設備與同步儲存設備數(shù)據(jù)更新的方法,請參考圖7A~7C所示,在一個雙控制器的系統(tǒng)中,有兩個主機板,兩個磁盤設備,每個主機板控制一個磁盤設備,兩個主機板之間依靠網(wǎng)卡來通訊,對外也是依靠網(wǎng)卡傳輸數(shù)據(jù)。每一個主機板都有自己的配置文件,該配置文件記錄建立出來的映像設備所有的信息。將所有的磁盤設備建立成一個映像儲存設備,映像儲存設備的信息被寫入到配置文件中,使用者數(shù)據(jù)可以通過網(wǎng)卡寫到該映像儲存設備上。
如果一個主機板發(fā)生了問題無法正常地工作,它所管理的磁盤設備也會出現(xiàn)問題,這個時候映像儲存設備變?yōu)榻惦A狀態(tài),正常主機板的配置文件會發(fā)生變化,記錄下另一個主機板損壞的情況,映像儲存設備仍舊可以正常地使用,使用者的數(shù)據(jù)被記錄在那個沒有問題的磁盤設備上,對使用者來說什么都沒有發(fā)生。
當該主機板恢復正常工作之后,再次啟動該主機板,該主機板會檢查自己和另一個正常主板的配置文件,然后對映像儲存設備做一次同步的操作使得兩塊磁盤上的數(shù)據(jù)相同,然后修改兩個配置文件,將修改的數(shù)據(jù)將進行更新。在此過程中,由于映像儲存設備處于同步的過程仍舊可以同步進行數(shù)據(jù)傳輸,對使用者來說沒有變化。
如果使用其它的儲存設備建立數(shù)據(jù)更新的邏輯也是相同的,不同在于儲存設備的同步過程,因為映像儲存設備自身有比較完備的同步機制。如果使用的其它的儲存設備不依靠映像儲存設備來實現(xiàn)映像機制,在數(shù)據(jù)寫入時候和控制器恢復之后的同步過程需要依靠自身數(shù)據(jù)更新的邏輯來執(zhí)行,這些操作都是在后端進行,對使用者的讀寫沒有影響。請參考圖8所示,表示控制器寫入數(shù)據(jù)的過程,步驟801,首先查看控制器的狀態(tài),步驟802,獲取網(wǎng)絡層傳輸?shù)臄?shù)據(jù),步驟803,接著將數(shù)據(jù)寫入每一個狀態(tài)正常控制器的儲存設備,步驟804,判斷數(shù)據(jù)寫入是否成功,如果成功,步驟805,則在寫入數(shù)據(jù)的結尾做標示,證明該數(shù)據(jù)寫入完畢,步驟806,否則報告失敗和原因。
請參考圖9所示,表示控制器恢復數(shù)據(jù)的過程,步驟901,查看控制器的狀態(tài),步驟902,通過配置文件找到?jīng)]有損壞的控制器,步驟903,通過該控制器上儲存設備上的標示數(shù)據(jù)找到當前控制器上沒有的數(shù)據(jù)位置,這樣可以保證數(shù)據(jù)的正確性,步驟904,再將目前控制器儲存設備沒有的數(shù)據(jù)寫入,步驟905,接著判斷數(shù)據(jù)寫入是否成功,如果成功,在寫入數(shù)據(jù)的結尾做標示,步驟906,證明該數(shù)據(jù)寫入完畢,步驟907,否則報告失敗和原因。配置文件的標示數(shù)據(jù)區(qū)塊的數(shù)據(jù)結構包括儲存設備Id、建立時間、寫入數(shù)據(jù)的大小、所屬控制器的Id以及其它信息等。
當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領域的技術人員當可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權利要求的保護范圍。
權利要求
1.一種建立映像儲存設備與同步儲存設備數(shù)據(jù)更新的方法,其特征在于,該方法包括下列步驟分配每一控制器只控制相對應的唯一儲存設備;將多個該儲存設備建立一映像儲存設備;該映像儲存設備將該映像儲存設備的狀態(tài)信息反饋至每一該控制器上;當有任一異??刂破靼l(fā)生時,確定至少一個控制器正常運作,則持續(xù)接收使用者的數(shù)據(jù),并記錄至該映像儲存設備中;重新啟動該異常控制器,并獲取該映像儲存設備的狀態(tài)信息;及根據(jù)該狀態(tài)信息找到數(shù)據(jù)最完整的該儲存設備,將該異??刂破魉刂葡鄬奈ㄒ粌Υ嬖O備進行同步更新并添加到該映像儲存設備。
2.根據(jù)權利要求1所述的建立映像儲存設備與同步儲存設備數(shù)據(jù)更新的方法,其特征在于,該映像儲存設備選自最小的該儲存設備。
3.根據(jù)權利要求1所述的建立映像儲存設備與同步儲存設備數(shù)據(jù)更新的方法,其特征在于,該映像儲存設備的所有的信息記錄在每一該控制器的一配置文件中。
全文摘要
本發(fā)明涉及一種建立映像儲存設備與同步儲存設備數(shù)據(jù)更新的方法,包括以下步驟分配每一控制器只控制相對應的唯一儲存設備;將多個該儲存設備建立映像儲存設備;映像儲存設備將映像儲存設備的狀態(tài)信息反饋至每一控制器上;當有任一異??刂破靼l(fā)生時,確定至少一個控制器正常運作,則持續(xù)接收使用者的數(shù)據(jù),并記錄至映像儲存設備中;重新啟動異??刂破鳎@取映像儲存設備的狀態(tài)信息;及根據(jù)狀態(tài)信息找到數(shù)據(jù)最完整的儲存設備,將異??刂破魉刂葡鄬奈ㄒ粌Υ嬖O備進行同步更新并添加到映像儲存設備。本發(fā)明大大提高了系統(tǒng)的可靠性和安全性,沒有了中間的緩沖減少了內(nèi)存的消耗。
文檔編號G06F3/06GK1991769SQ20051002305
公開日2007年7月4日 申請日期2005年12月28日 優(yōu)先權日2005年12月28日
發(fā)明者王建飛, 陳玄同, 劉文涵 申請人:英業(yè)達股份有限公司