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