專利名稱:具有雙控制器的儲(chǔ)存服務(wù)裝置及其備份方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種對服務(wù)器的數(shù)據(jù)備份方法,特別是涉及一種具有雙控制器的儲(chǔ)存 服務(wù)裝置及其備份方法。
背景技術(shù):
為了能增加儲(chǔ)存設(shè)備的存取效能,已有人提出了具有雙控制器(dualcontroller) 的一種儲(chǔ)存服務(wù)裝置。相對于單控制器而言,雙控制器可以同時(shí)間提供多個(gè)客戶端相同的 服務(wù)。以往對于雙控制器的儲(chǔ)存服務(wù)裝置為了能確保多個(gè)客戶端可以具有相同的操作 環(huán)境,所以采用了一種對等環(huán)境功能(same view)。對等環(huán)境功能主要是客戶端連結(jié)至儲(chǔ)存 設(shè)備時(shí),客戶端不會(huì)因?yàn)樗峁┓?wù)的控制器不同而有不同的操作環(huán)境及服務(wù)。舉例來說, 當(dāng)系統(tǒng)在第一控制器中創(chuàng)建了一個(gè)虛擬設(shè)備(virtual disk)時(shí),若其它的客戶端通過第二 控制器連結(jié)至存儲(chǔ)服務(wù)設(shè)備的話,其它客戶端也可以看到此虛擬設(shè)備。除了對等環(huán)境功能外,為了能讓雙控制器在存取資料時(shí)可以確保雙控制器中的資 料同步,所以提出了“鏡射快取”(mirror cache)功能。鏡射快取就是在每一個(gè)控制器中都 具有所屬的高速緩存,當(dāng)?shù)谝豢刂破鹘邮?取出數(shù)據(jù)時(shí)會(huì)將暫存于高速緩存中的數(shù)據(jù)復(fù)制 一份到第二控制器所屬的高速緩存中,藉以確保兩個(gè)控制器所具有的數(shù)據(jù)是一致的。而且 當(dāng)有兩個(gè)控制器有一個(gè)出現(xiàn)錯(cuò)誤時(shí),存儲(chǔ)服務(wù)設(shè)備可以由另一個(gè)控制器所屬的高速緩存中 取回遺失的數(shù)據(jù)。并且為保持兩個(gè)控制器的索引頁的一致性,現(xiàn)有技術(shù)會(huì)將配置文件與登入文件存 放至閃存(Flashrom)或是硬盤中。雖然可以有效的達(dá)到儲(chǔ)存的目的,但是對于保存的安全 性而言卻有其危險(xiǎn)。以儲(chǔ)存在閃存中而言,因?yàn)殚W存的存取次數(shù)有限。一旦閃存損壞時(shí),會(huì) 因?yàn)橄嚓P(guān)數(shù)據(jù)的遺失使得整個(gè)儲(chǔ)存系統(tǒng)崩潰。以硬盤為例,因?yàn)橛脖P是屬于機(jī)械存取的方 式,所以硬盤在動(dòng)作的當(dāng)時(shí)是無法被移動(dòng)的,否則硬盤會(huì)容易被毀損。
發(fā)明內(nèi)容
鑒于以上的問題,本發(fā)明的主要目的在于提供一種具有雙控制器的儲(chǔ)存服務(wù)裝置,用以對服務(wù)器的事件登入日志與配置文件提供對等環(huán)境服務(wù)。為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種具有雙控制器的儲(chǔ)存服務(wù)裝置,用以對一 服務(wù)器的一事件登入日志與一配置文件提供對等環(huán)境服務(wù),其特征在于,該儲(chǔ)存服務(wù)裝置 包括有一第一控制模塊,其還包括有一第一內(nèi)存模塊與一第一閃存,其儲(chǔ)存一索引頁,其 用以記錄一虛擬設(shè)備在該儲(chǔ)存服務(wù)裝置中的存取地址;一第二控制模塊,其電性連接于該第一控制模塊,該第二控制模塊還包括有一第 二內(nèi)存模塊與一第二閃存,其儲(chǔ)存另一該索引頁;一電池單元,其電性連結(jié)于該第一內(nèi)存模塊與該第二內(nèi)存模塊;以及
一基本輸入/輸出系統(tǒng),電性連結(jié)于該電池單元、該第一控制模塊與該第二控制 模塊,該基本輸入/輸出系統(tǒng)中還包括一備份程序,當(dāng)該服務(wù)器發(fā)生斷電時(shí),該基本輸入/ 輸出系統(tǒng)執(zhí)行該備份程序發(fā)送一硬件中斷信號至該電池單元,用以提供給該第一內(nèi)存模塊與該第二內(nèi)存模 塊的運(yùn)作電力;對該第一內(nèi)存模塊的該索引頁與該第二內(nèi)存模塊的該索引頁進(jìn)行同步;以及將更新后的該索引頁分別記錄至該第一閃存與該第二閃存。所述的具有雙控制器的儲(chǔ)存服務(wù)裝置,其中,該索引頁包括配置文件、登入文件、 內(nèi)存頁的地址、內(nèi)存頁的鎖與內(nèi)存頁的更新時(shí)間。所述的具有雙控制器的儲(chǔ)存服務(wù)裝置,其中,還包括一索引頁檢查程序,其包括以 下步驟當(dāng)該儲(chǔ)存服務(wù)裝置啟動(dòng)后,分別檢查該第一內(nèi)存模塊的該索引頁與該第二內(nèi)存模 塊的該索引頁是否存在;若該第一內(nèi)存模塊的該索引頁與該第二內(nèi)存模塊的該索引頁均不存在時(shí),則重新 建立該第一內(nèi)存模塊的該索引頁與該第二內(nèi)存模塊的該索引頁;以及若該第一內(nèi)存模塊的該索引頁與該第二內(nèi)存模塊的該索引頁僅有一個(gè)存在時(shí),則 將存在的該索引頁同步至另一內(nèi)存模塊中。所述的具有雙控制器的儲(chǔ)存服務(wù)裝置,其中,該第一控制模塊與該第二控制模塊 通過串行小型計(jì)算機(jī)接口或以太網(wǎng)絡(luò)進(jìn)行連接。所述的具有雙控制器的儲(chǔ)存服務(wù)裝置,其中,還包括有一定時(shí)備份程序,其包括以 下步驟于到達(dá)一預(yù)定時(shí)間時(shí),將該第一內(nèi)存模塊的該索引頁與該第二內(nèi)存模塊的該索引 頁進(jìn)行同步;以及將更新后的該索引頁分別記錄至該第一閃存與該第二閃存。從本發(fā)明的另一觀點(diǎn),本發(fā)明提出一種對雙控制器的儲(chǔ)存服務(wù)裝置的備份方法, 雙控制器具有彼此建立通訊的第一控制器與一第二控制器,第一控制器中配置有第一內(nèi)存 模塊與第一閃存,第二控制器中配置有第二內(nèi)存模塊與第二閃存。為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種對雙控制器的儲(chǔ)存服務(wù)裝置的備份方法, 該雙控制器具有彼此建立通訊的一第一控制器與一第二控制器,該第一控制器中配置有一 第一內(nèi)存模塊與一第一閃存,該第二控制器中配置有一第二內(nèi)存模塊與一第二閃存,其特 征在于,該備份方法包括以下步驟當(dāng)一服務(wù)器發(fā)生斷電時(shí),發(fā)送一硬件中斷信號至一電池單元,用以提供給該第一 內(nèi)存模塊與該第二內(nèi)存模塊的運(yùn)作電力;對該第一內(nèi)存模塊的一索引頁與該第二內(nèi)存模塊的該索引頁進(jìn)行同步;以及將更新后的該索引頁分別記錄至該第一閃存與該第二閃存。本發(fā)明提供了 一種結(jié)合電池備份與遠(yuǎn)程遙控直接內(nèi)存存取的備份方法,用以對具 有多控制器的服務(wù)器進(jìn)行數(shù)據(jù)的備份與同步。本發(fā)明除了可以定時(shí)的對各控制器所屬的配 置文件進(jìn)行備份外,更提供了在斷電的同時(shí)對上述的配置文件進(jìn)行備份與同步。如此一來, 可以有效地提高服務(wù)器的對等環(huán)境的效能。
以下結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述,但不作為對本發(fā)明的限定。
圖1為本發(fā)明的架構(gòu)示意圖;圖2為本發(fā)明的運(yùn)作流程示意圖;圖3為本發(fā)明的索引頁檢查程序運(yùn)作流程示意圖;圖4為本發(fā)明的定時(shí)備份程序運(yùn)作流程示意圖;圖5為數(shù)據(jù)寫入流程圖。
其中,附圖標(biāo)記110 第一控制模塊111 第一內(nèi)存模塊112 第一閃存120 第二控制模塊121 第二內(nèi)存模塊122 第二閃存130 電池單元140 基本輸入/輸出系統(tǒng)150 備份程序
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明的技術(shù)方案作進(jìn)一步更詳細(xì)的描述。請參考圖1所示,其為本發(fā)明的架構(gòu)示意圖。在本發(fā)明的儲(chǔ)存系統(tǒng)中包括有第 一控制模塊110、第二控制模塊120、電池單元130、基本輸入/輸出系統(tǒng)140 (Basic Input/ Output System,BIOS)與備份程序150。第一控制模塊110中還包括有第一內(nèi)存模塊111與 第一閃存112。第一控制模塊110中包括有索引頁,索引頁用以記錄虛擬設(shè)備在儲(chǔ)存設(shè)備中 的存取地址。第二控制模塊120電性連接于第一控制模塊110。第一控制模塊110與第二 控制模塊120可以通過串行小型計(jì)算機(jī)接口(Serial-Attached SCSI, SAS)或以太網(wǎng)絡(luò)進(jìn) 行連接。第二控制模塊120還包括有第二內(nèi)存模塊121與第二閃存122,第二控制模塊120 儲(chǔ)存另一個(gè)索引頁。電池單元130電性連結(jié)于第一內(nèi)存模塊111與第二內(nèi)存模塊121 ;基 本輸入/輸出系統(tǒng)140電性連結(jié)于電池單元130、第一控制模塊110與第二控制模塊120。 基本輸入/輸出系統(tǒng)140中還包括備份程序150。為提高具有多控制器儲(chǔ)存系統(tǒng)的數(shù)據(jù)保存可靠性,在此利用遠(yuǎn)程遙控直接內(nèi)存存 取(Remote Direct Memory Access,RDMA)與電池備份(Battery Back)。遠(yuǎn)程遙控直接內(nèi) 存存取是一種遠(yuǎn)程內(nèi)存的映像手段,可以通過因特網(wǎng)或其它連接方式將多控制器所屬的內(nèi) 存進(jìn)行同步映像。當(dāng)有一個(gè)控制器的所屬檔案文件被修改時(shí),其它控制器的檔案文件也可 以被更新。而電池備份是一種保證儲(chǔ)存系統(tǒng)在斷電的時(shí)候也可以保存控制器的檔案文件。當(dāng)儲(chǔ)存服務(wù)裝置發(fā)生斷電時(shí),基本輸入/輸出系統(tǒng)140會(huì)執(zhí)行備份程序150,用以 對各控制器的配置文件與登入文件進(jìn)行同步與備份。請參考圖2所示,其為本發(fā)明的運(yùn)作 流程示意圖。
步驟S210 在儲(chǔ)存服務(wù)裝置啟動(dòng)后,執(zhí)行索引頁檢查程序;步驟S220 執(zhí)行定時(shí)備份程序,用以定時(shí)的同步與備份各控制器的索引頁;步驟S230 當(dāng)服務(wù)器發(fā)生斷電時(shí),執(zhí)行發(fā)備份程序送硬件中斷信號至電池單元, 用以提供給第一內(nèi)存模塊與第二內(nèi)存模塊的運(yùn)作電力;步驟S240 對第一內(nèi)存模塊的索引頁與第二內(nèi)存模塊的索引頁進(jìn)行同步;以及步驟S250 將更新后的索引頁分別記錄至第一閃存與第二閃存。在啟動(dòng)服務(wù)器后,每一個(gè)控制器會(huì)開始執(zhí)行索引頁檢查程序。請參考圖3所示,其 為本發(fā)明的索引頁檢查程序運(yùn)作流程示意圖。索引頁檢查程序包括以下步驟步驟S211 當(dāng)儲(chǔ)存服務(wù)裝置啟動(dòng)后,分別檢查第一內(nèi)存模塊的索引頁與第二內(nèi)存 模塊的索引頁是否存在;步驟S212 若第一內(nèi)存模塊的索引頁與第二內(nèi)存模塊的索引頁均不存在時(shí),則重 新建立第一內(nèi)存模塊的索引頁與第二內(nèi)存模塊的索引頁;以及步驟S213 若第一內(nèi)存模塊的索引頁與第二內(nèi)存模塊的索引頁僅有一個(gè)存在時(shí), 則將存在的索引頁同步至另一內(nèi)存模塊中。在本發(fā)明中建立索引頁的方式可以依據(jù)不同的操作系統(tǒng)作適應(yīng)性的調(diào)整。以 Linux操作系統(tǒng)來說,建立索引頁通過Linux的內(nèi)核(kernel),在內(nèi)存的低端位置保留索引 頁的地址。這樣可以保證每次服務(wù)器啟動(dòng)時(shí)都會(huì)在相同的物理地址上建立索引頁。索引頁 中包括有配置文件、登入文件、虛擬設(shè)備所使用的內(nèi)存頁的地址、內(nèi)存頁的鎖(lock)與內(nèi) 存頁的更新時(shí)間。在完成上述步驟后,服務(wù)器會(huì)定時(shí)的執(zhí)行備份程序150。備份程序150會(huì)同步的更 新控制器所屬的配置文件。請參考圖4所示,其為本發(fā)明的定時(shí)備份程序運(yùn)作流程示意圖。 定時(shí)備份程序150包括以下步驟步驟S221 于到達(dá)預(yù)定時(shí)間時(shí),將第一內(nèi)存模塊的索引頁與第二內(nèi)存模塊的索引 頁進(jìn)行同步;以及步驟S222 將更新后的索引頁分別記錄至第一閃存與第二閃存。在本發(fā)明中,第一控制模塊110與第二控制模塊120通過串行小型計(jì)算機(jī)接口 (Serial-Attached SCSI, SAS)或以太網(wǎng)絡(luò)進(jìn)行連接。在進(jìn)行定時(shí)備份程序150的過程中, 另外會(huì)實(shí)時(shí)的監(jiān)控每一控制器是否存活。若僅有一個(gè)控制器存活時(shí),服務(wù)器會(huì)使用時(shí)間較 新的同步時(shí)間較舊的配置文件作為更新之用。在對多控制器的配置文件進(jìn)行更新過程中還包括以下步驟,還請同時(shí)配合圖5所 示步驟S223 選擇一個(gè)控制器,并根據(jù)內(nèi)存頁的寫入地址,獲取欲寫入地址的內(nèi)存 頁的鎖;步驟S224 若無法取得上述內(nèi)存頁的鎖,則延遲寫入的時(shí)間;步驟S225 若取得上述內(nèi)存頁的鎖,則對另一控制器上鎖;步驟S226 對所選擇的控制器的內(nèi)存頁寫入相關(guān)數(shù)據(jù)與更新時(shí)間;步驟S227 將所選擇的控制器的內(nèi)存頁同步至另一控制器;以及步驟S228 重復(fù)對其他控制器進(jìn)行同步,直至所有的控制器完成后將所有的控制器解鎖。
本發(fā)明提供了一種結(jié)合電池備份與遠(yuǎn)程遙控直接內(nèi)存存取的備份方法,用以對具 有多控制器的服務(wù)器進(jìn)行數(shù)據(jù)的備份與同步。本發(fā)明除了可以定時(shí)的對各控制器所屬的配 置文件進(jìn)行備份外,更提供了在斷電的同時(shí)對上述的配置文件進(jìn)行備份與同步。如此一來, 可以有效地提高服務(wù)器的對等環(huán)境的效能。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟 悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變 形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
一種具有雙控制器的儲(chǔ)存服務(wù)裝置,用以對一服務(wù)器的一事件登入日志與一配置文件提供對等環(huán)境服務(wù),其特征在于,該儲(chǔ)存服務(wù)裝置包括有一第一控制模塊,其還包括有一第一內(nèi)存模塊與一第一閃存,其儲(chǔ)存一索引頁,其用以記錄一虛擬設(shè)備在該儲(chǔ)存服務(wù)裝置中的存取地址;一第二控制模塊,其電性連接于該第一控制模塊,該第二控制模塊還包括有一第二內(nèi)存模塊與一第二閃存,其儲(chǔ)存另一該索引頁;一電池單元,其電性連結(jié)于該第一內(nèi)存模塊與該第二內(nèi)存模塊;以及一基本輸入/輸出系統(tǒng),電性連結(jié)于該電池單元、該第一控制模塊與該第二控制模塊,該基本輸入/輸出系統(tǒng)中還包括一備份程序,當(dāng)該服務(wù)器發(fā)生斷電時(shí),該基本輸入/輸出系統(tǒng)執(zhí)行該備份程序發(fā)送一硬件中斷信號至該電池單元,用以提供給該第一內(nèi)存模塊與該第二內(nèi)存模塊的運(yùn)作電力;對該第一內(nèi)存模塊的該索引頁與該第二內(nèi)存模塊的該索引頁進(jìn)行同步;以及將更新后的該索引頁分別記錄至該第一閃存與該第二閃存。
2.根據(jù)權(quán)利要求1所述的具有雙控制器的儲(chǔ)存服務(wù)裝置,其特征在于,該索引頁包括 配置文件、登入文件、內(nèi)存頁的地址、內(nèi)存頁的鎖與內(nèi)存頁的更新時(shí)間。
3.根據(jù)權(quán)利要求1所述的具有雙控制器的儲(chǔ)存服務(wù)裝置,其特征在于,還包括一索引 頁檢查程序,其包括以下步驟當(dāng)該儲(chǔ)存服務(wù)裝置啟動(dòng)后,分別檢查該第一內(nèi)存模塊的該索引頁與該第二內(nèi)存模塊的 該索引頁是否存在;若該第一內(nèi)存模塊的該索引頁與該第二內(nèi)存模塊的該索引頁均不存在時(shí),則重新建立 該第一內(nèi)存模塊的該索引頁與該第二內(nèi)存模塊的該索引頁;以及若該第一內(nèi)存模塊的該索引頁與該第二內(nèi)存模塊的該索引頁僅有一個(gè)存在時(shí),則將存 在的該索引頁同步至另一內(nèi)存模塊中。
4.根據(jù)權(quán)利要求1所述的具有雙控制器的儲(chǔ)存服務(wù)裝置,其特征在于,該第一控制模 塊與該第二控制模塊通過串行小型計(jì)算機(jī)接口或以太網(wǎng)絡(luò)進(jìn)行連接。
5.根據(jù)權(quán)利要求1所述的具有雙控制器的儲(chǔ)存服務(wù)裝置,其特征在于,還包括有一定 時(shí)備份程序,其包括以下步驟于到達(dá)一預(yù)定時(shí)間時(shí),將該第一內(nèi)存模塊的該索引頁與該第二內(nèi)存模塊的該索引頁進(jìn) 行同步;以及將更新后的該索引頁分別記錄至該第一閃存與該第二閃存。
6.一種對雙控制器的儲(chǔ)存服務(wù)裝置的備份方法,該雙控制器具有彼此建立通訊的一第 一控制器與一第二控制器,該第一控制器中配置有一第一內(nèi)存模塊與一第一閃存,該第二 控制器中配置有一第二內(nèi)存模塊與一第二閃存,其特征在于,該備份方法包括以下步驟當(dāng)一服務(wù)器發(fā)生斷電時(shí),發(fā)送一硬件中斷信號至一電池單元,用以提供給該第一內(nèi)存 模塊與該第二內(nèi)存模塊的運(yùn)作電力;對該第一內(nèi)存模塊的一索引頁與該第二內(nèi)存模塊的該索引頁進(jìn)行同步;以及 將更新后的該索引頁分別記錄至該第一閃存與該第二閃存。
全文摘要
本發(fā)明公開了一種具有雙控制器的儲(chǔ)存服務(wù)裝置及其備份方法,用以對服務(wù)器的事件登入日志與配置文件提供對等環(huán)境服務(wù)。儲(chǔ)存服務(wù)裝置中包括第一控制模塊、第二控制模塊、電池單元、基本輸入/輸出系統(tǒng)與備份程序。當(dāng)服務(wù)器發(fā)生斷電時(shí),執(zhí)行以下備份程序發(fā)送硬件中斷信號至電池單元,用以提供給第一內(nèi)存模塊與第二內(nèi)存模塊的運(yùn)作電力;對第一內(nèi)存模塊的索引頁與第二內(nèi)存模塊的索引頁進(jìn)行同步;將更新后的索引頁分別記錄至第一閃存與第二閃存。除了定時(shí)的對各控制器的配置文件進(jìn)行備份,更提供在斷電時(shí)對配置文件進(jìn)行備份與同步。
文檔編號G06F11/14GK101799777SQ200910006280
公開日2010年8月11日 申請日期2009年2月10日 優(yōu)先權(quán)日2009年2月10日
發(fā)明者張旭明, 陳玄同 申請人:英業(yè)達(dá)股份有限公司