專利名稱:冗余磁盤控制服務(wù)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機數(shù)據(jù)存取領(lǐng)域,具體涉及一種冗余磁盤控制服務(wù)器系統(tǒng)。
背景技術(shù):
在應(yīng)用服務(wù)器的過程中,說到數(shù)據(jù)存取的保護,人們首先想到的是RAID技術(shù), 通過HBA
卡或主板集成的RAID控制器創(chuàng)建磁盤陣列,在服務(wù)器應(yīng)用不間斷的前提下,保證 在至少一塊硬盤出現(xiàn)故障時,可以對硬盤進行在線的替換,避免數(shù)據(jù)丟失及應(yīng)用 停止。然而,對于I/0子系統(tǒng)來說,僅僅是磁盤方面沒有單點故障還遠(yuǎn)遠(yuǎn)不夠的, 磁盤控制器(HBA卡)部分作為一個系統(tǒng)單點,沒有任何冗余措施。當(dāng)經(jīng)過長時間、 大數(shù)據(jù)量的讀寫應(yīng)用后,出現(xiàn)故障是在所難免的。尤其隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā) 展,網(wǎng)絡(luò)帶寬不斷增加,個人空間、視頻上傳等應(yīng)用變得越來越普遍的時候,每 臺服務(wù)器負(fù)責(zé)數(shù)據(jù)存取的磁盤控制器所要承受的負(fù)載也在不斷增加,出現(xiàn)故障的 幾率也就相應(yīng)的增大了。這時如何實現(xiàn)磁盤控制器(HBA)的冗余就顯得很有現(xiàn)實 意義了。另一方面,參照以太網(wǎng)絡(luò)的冗余和聚合,除了實現(xiàn)磁盤控制器的冗余功 能,理論上還可以實現(xiàn)兩個磁盤控制器的負(fù)載均衡,以達到提高數(shù)據(jù)帶寬的目的。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種冗余磁盤控制服務(wù)器系統(tǒng)。 本發(fā)明的目的是按以下方式實現(xiàn)的,實現(xiàn)步驟如下
在傳統(tǒng)服務(wù)器應(yīng)用模式的基礎(chǔ)上,增加一塊朋A卡,即在服務(wù)器主板上插兩 塊相同的HBA卡,每塊HBA卡都被認(rèn)為是相對獨立的,每一塊HBA卡均能與其它 所有部件組成一個完整的系統(tǒng),兩塊HBA卡構(gòu)成了兩個互為冗余,互為備份的系 統(tǒng),具體步驟如下-
系統(tǒng)硬件的設(shè)置
1) 選用雙端口的SAS硬盤或使用SATA硬盤通過接口轉(zhuǎn)換成SAS硬盤,轉(zhuǎn)換 用的接口芯片或適配器選用LSI SS1300芯片,通過該芯片將一個SATA接口模擬 成SAS接口 ,同時被兩個HBA卡識別到;
2) 作為連接HBA卡和硬盤的橋梁,針對HBA卡,背板必須提供兩組接口,要 支持更多的硬盤,背板上要提供磁盤擴展芯片SAS Expander,當(dāng)系統(tǒng)內(nèi)有兩個HBA 卡時,背板上SAS Expander芯片的數(shù)量也必須是兩個,無論是否通過Expander 進行擴展,兩組SAS接口之間必須提供連接鏈路,以使兩個HBA卡通過該鏈路相 互通信,這對于兩個HBA卡互不沖突的協(xié)調(diào)工作是必須的;
4系統(tǒng)軟件的設(shè)置
采用高效穩(wěn)定的基于2.6內(nèi)核的Linux作為操作系統(tǒng),實現(xiàn)冗余功能的大多 數(shù)功能模塊都通過開源實現(xiàn),并在開源的基礎(chǔ)上進行修改和完善,軟件系統(tǒng)在各 個層面設(shè)計加入了高可用組件,在管理層面,高可用組件提供了控制管理同步功 能;在應(yīng)用層面,提供了配置同步模塊,實現(xiàn)對控制器配置的協(xié)調(diào)一致,心跳模 塊實現(xiàn)控制器的無縫切換;在內(nèi)核層,提供緩存鏡像模塊,保證應(yīng)用數(shù)據(jù)的一致 性、完整性;
l)控制管理同步用戶對任意HBA卡的操作,實現(xiàn)對整個磁盤系統(tǒng)的控制,從 管理層面對兩控制器進行協(xié)調(diào)控制;
2) 配置同步模塊在該服務(wù)器系統(tǒng)中,每一個控制器的配置和狀態(tài)信息變化 都會即時同步到另一個控制器,避免單一控制器失效丟失配置及運行信息,為高 可用系統(tǒng)的運行提供保障;
3) 配置傳輸采用CRC校驗或者MD5校驗方式,確保配置信息的完整性和正確性;
4) 心跳模塊支持Active-Take over、 Active-Active兩種模式,當(dāng)其中的一 塊RAID卡失效的時候,系統(tǒng)無縫切換到另一個HBA卡,并實時接管失效HBA卡運行 的服務(wù),避免單一HBA卡失效所引起的存儲服務(wù)故障;其中
Active-Take over模式正常情況下,只有一片HBA卡對外提供服務(wù),另一片 HBA卡處于熱備狀態(tài),當(dāng)Active的RAID卡失效的時候,熱備HBA卡自動接管,并提 供I/0服務(wù);
Active-Active模式兩塊HBA卡同時提供I/0服務(wù),互為熱備,提高系統(tǒng)帶寬, 并具有路徑冗余功能;
5)寫緩存鏡像模塊提供對HBA卡緩存內(nèi)數(shù)據(jù)鏡像的功能,實時備份寫數(shù)據(jù) 到另一片HBA卡的緩存中,保證寫數(shù)據(jù)的完整性,在HBA卡接替前者所做的工作時, 會造成由于前者故障導(dǎo)致緩存中沒有寫入磁盤的數(shù)據(jù)丟失,緩存鏡像就是解決雙 HBA卡服務(wù)器系統(tǒng)的兩片HBA卡之間切換時的緩存數(shù)據(jù)丟失的問題;
系統(tǒng)運行控制
服務(wù)器啟動進入操作系統(tǒng)后,根據(jù)關(guān)機前的狀態(tài),進入一種工作模式 Active-Active or Active-Take over,在操作系統(tǒng)下,通過一個隱卡對全部磁 盤進行控制管理;與此同時,生成的磁盤配置信息通過SAS鏈路被同步到另一塊磁 盤控制器HBA卡中;另一塊控制器HBA卡會通過心跳監(jiān)控處于Active狀態(tài)的磁盤控 制器,并對它是否發(fā)生故障進行判別;兩片HBA卡還要時刻保持緩存內(nèi)數(shù)據(jù)完全一 致,以保證在一片HBA卡發(fā)生故障時,緩存數(shù)據(jù)不丟失并被寫入磁盤,當(dāng)某一片 ActiveHBA卡發(fā)生故障時,另一片HBA卡首先作出判別,然后會接管系統(tǒng)硬盤,并 將緩存內(nèi)的數(shù)據(jù)刷入磁盤,最后全面接管工作,對外提供服務(wù)。
本發(fā)明的有益效果是適應(yīng)互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和網(wǎng)絡(luò)帶寬不斷增加,減少服務(wù)器的故障幾率,還可以實現(xiàn)兩個磁盤控制器的負(fù)載均衡,以達到提高數(shù)據(jù) 帶寬的目的。
附圖1是冗余磁盤控制服務(wù)器系統(tǒng)硬件組成及架構(gòu)示意圖; 附圖2是冗余磁盤控制服務(wù)器系統(tǒng)的工作原理圖。
具體實施例方式
參照附圖對本發(fā)明的冗余磁盤控制服務(wù)器系統(tǒng)作以下詳細(xì)的說明。 一、冗余磁盤控制服務(wù)器系統(tǒng)硬件組成及架構(gòu)
與一般的服務(wù)器相比,這種冗余I/O架構(gòu)的服務(wù)器的差別主要就是增加一組 1/0子系統(tǒng),換句話說,傳統(tǒng)的服務(wù)器系統(tǒng), 一般都通過一塊HBA卡(RAID卡) 控制所有磁盤,通過該HBA卡可以看到所有磁盤,可以對磁盤配置RAID,還可以 對RAID的屬性進行修改,最終控制所有磁盤的讀寫操作。 一般情況下,HBA卡與 硬盤之間通過背板相連。該發(fā)明就是在傳統(tǒng)服務(wù)器應(yīng)用模式的基礎(chǔ)上,增加一塊 HBA卡(RAID卡),這樣就是在服務(wù)器主板上插兩塊相同的HBA卡。對于整個系 統(tǒng)來說,每塊HBA都被認(rèn)為是相對獨立的,也就是說每一塊HBA卡與其它所有部 件都可以組成一個完整的系統(tǒng),兩塊HBA卡構(gòu)成了兩個互為冗余,互為備份的系 統(tǒng)。
為了使上述想法成立,還需要具備以下條件首先必須選用雙端口的硬盤。 我們知道,SATA硬盤是單端口的,因此SATA硬盤只能夠被一個RAID卡識別到, 要想使一塊硬盤同時被兩個RAID卡都識別到,必須選用具有雙端口的硬盤,如SAS 硬盤。其實SATA硬盤通過接口轉(zhuǎn)換也可以模擬成SAS硬盤,目前業(yè)界也有類似的 接口芯片或適配器可用,如LSI SS1300芯片,該芯片就可以將一個SATA接口模 擬成SAS接口,同時被兩個RAID卡識別到。
其次,作為連接RAID卡和硬盤的橋梁,針對RAID卡,背板必須提供兩組接 口 。如果想要支持更多的硬盤,背板上可能還要提供磁盤擴展芯片(SAS Expander), 同樣的,當(dāng)系統(tǒng)內(nèi)有兩個HBA卡時,背板上Expander芯片的數(shù)量也必須是兩個。 無論是否通過Expander進行擴展,兩組SAS接口之間還都必須提供連接鏈路,以 使兩個HBA卡可以通過該鏈路相互通信,這對于兩個HBA卡可以互不沖突的協(xié)調(diào) 工作是必須的。
二、冗余磁盤控制服務(wù)器系統(tǒng)軟件實現(xiàn)
上面陳述了這種冗余磁盤控制服務(wù)器的硬件架構(gòu)組成。然而,要想使服務(wù)器 的磁盤控制系統(tǒng)實現(xiàn)可以做到冗余或者負(fù)載均衡,僅僅具備了硬件條件是不夠的。 必須有軟件對硬件進行控制,以達到使兩個HBA卡協(xié)調(diào)工作,不互相沖突的目的。
采用高效穩(wěn)定的基于2.6內(nèi)核的Linux作為操作系統(tǒng),實現(xiàn)冗余功能的大多 數(shù)功能模塊都可以通過開源實現(xiàn),并在開源的基礎(chǔ)上進行修改和完善。
6軟件系統(tǒng)在各個層面設(shè)計加入了高可用組件。在管理層面,高可用組件提供 了控制管理同步功能;在應(yīng)用層面,提供了配置同步模塊,實現(xiàn)對控制器配置的 協(xié)調(diào)一致。心跳模塊實現(xiàn)控制器的無縫切換;在內(nèi)核層,提供緩存鏡像模塊,保 證應(yīng)用數(shù)據(jù)的一致性、完整性。
控制管理同步用戶對任意RAID卡的操作即可實現(xiàn)對整個磁盤系統(tǒng)的控制,從 管理層面對兩控制器進行協(xié)調(diào)控制。
配置同步模塊在該服務(wù)器系統(tǒng)中,每一個控制器的配置和狀態(tài)信息變化都會 即時同步到另一個控制器,避免單一控制器失效丟失配置及運行信息,為高可用 系統(tǒng)的運行提供保障。
配置傳輸釆用CRC校驗或者MD5校驗方式,確保配置信息的完整性和正確性。
心跳模塊支持Active-Take over、 Active-Active兩種模式,當(dāng)其中的一塊 RAID卡失效的時候,系統(tǒng)無縫切換到另一個RAID卡,并實時接管失效RAID卡運行 的服務(wù),避免單一RAID卡失效所引起的存儲服務(wù)故障。
Active-Take over模式正常情況下,只有一片RAID卡對外提供服務(wù),另一片RAID 卡處于熱備狀態(tài)。當(dāng)Active的RAID卡失效的時候,熱備RAID卡自動接管,并提供 1/0服務(wù)。
Active-Active模式兩塊RAID卡同時提供I/0服務(wù),互為熱備。提高系統(tǒng)帶寬, 并具有路徑冗余功能。
寫緩存鏡像模塊提供對RAID卡緩存內(nèi)數(shù)據(jù)鏡像的功能,實時備份寫數(shù)據(jù)到 另一片RAID卡的緩存中,保證寫數(shù)據(jù)的完整性。在RAID卡接替前者所做的工作時,
會造成由于前者故障導(dǎo)致緩存中沒有寫入磁盤的數(shù)據(jù)丟失。緩存鏡像就是解決雙 RAID卡服務(wù)器系統(tǒng)的兩片RAID卡之間切換時的緩存數(shù)據(jù)丟失的問題。
三、系統(tǒng)運行控制
服務(wù)器啟動進入操作系統(tǒng)后,根據(jù)關(guān)機前的狀態(tài),進入一種工作模式 Active-Active or Active-Take over。在操作系統(tǒng)下,通過一個Active控制器(RAID 卡)對全部磁盤進行控制管理;與此同時,生成的磁盤配置信息通過SAS鏈路被同 步到另一塊磁盤控制器(RAID卡)中;另一塊控制器(RAID卡)會通過心跳監(jiān)控 處于Active狀態(tài)的磁盤控制器,并對它是否發(fā)生故障進行判別;兩片RAID卡還要 時刻保持緩存內(nèi)數(shù)據(jù)完全一致,以保證在一片RAID卡發(fā)生故障時,緩存數(shù)據(jù)可以 不丟失并被寫入磁盤。當(dāng)某一片Active RAID卡發(fā)生故障時,另一片RAID卡首先作 出判別,然后會接管系統(tǒng)硬盤,并將緩存內(nèi)的數(shù)據(jù)刷入磁盤,最后全面接管工作, 對外提供服務(wù)。
權(quán)利要求
1、冗余磁盤控制服務(wù)器系統(tǒng),其特征在于,在傳統(tǒng)服務(wù)器應(yīng)用模式的基礎(chǔ)上,增加一塊HBA卡,即在服務(wù)器主板上插兩塊相同的HBA卡,每塊HBA卡都被認(rèn)為是相對獨立的,每一塊HBA卡均能與其它所有部件組成一個完整的系統(tǒng),兩塊HBA卡構(gòu)成了兩個互為冗余,互為備份的系統(tǒng),具體步驟如下系統(tǒng)硬件的設(shè)置1)選用雙端口的SAS硬盤或使用SATA硬盤通過接口轉(zhuǎn)換成SAS硬盤,轉(zhuǎn)換用的接口芯片或適配器選用LSI SS1300芯片,通過該芯片將一個SATA接口模擬成SAS接口,同時被兩個HBA卡識別到;2)作為連接HBA卡和硬盤的橋梁,針對HBA卡,背板必須提供兩組接口,要支持更多的硬盤,背板上要提供磁盤擴展芯片SAS Expander,當(dāng)系統(tǒng)內(nèi)有兩個HBA卡時,背板上SAS Expander芯片的數(shù)量也必須是兩個,無論是否通過Expander進行擴展,兩組SAS接口之間必須提供連接鏈路,以使兩個HBA卡通過該鏈路相互通信,這對于兩個HBA卡互不沖突的協(xié)調(diào)工作是必須的;系統(tǒng)軟件的設(shè)置采用高效穩(wěn)定的基于2.6內(nèi)核的Linux作為操作系統(tǒng),實現(xiàn)冗余功能的大多數(shù)功能模塊都通過開源實現(xiàn),并在開源的基礎(chǔ)上進行修改和完善,軟件系統(tǒng)在各個層面設(shè)計加入了高可用組件,在管理層面,高可用組件提供了控制管理同步功能;在應(yīng)用層面,提供了配置同步模塊,實現(xiàn)對控制器配置的協(xié)調(diào)一致,心跳模塊實現(xiàn)控制器的無縫切換;在內(nèi)核層,提供緩存鏡像模塊,保證應(yīng)用數(shù)據(jù)的一致性、完整性;1)控制管理同步用戶對任意HBA卡的操作,實現(xiàn)對整個磁盤系統(tǒng)的控制,從管理層面對兩控制器進行協(xié)調(diào)控制;2)配置同步模塊在該服務(wù)器系統(tǒng)中,每一個控制器的配置和狀態(tài)信息變化都會即時同步到另一個控制器,避免單一控制器失效丟失配置及運行信息,為高可用系統(tǒng)的運行提供保障;3)配置傳輸采用CRC校驗或者MD5校驗方式,確保配置信息的完整性和正確性;4)心跳模塊支持Active-Take over、Active-Active兩種模式,當(dāng)其中的一塊RAID卡失效的時候,系統(tǒng)無縫切換到另一個HBA卡,并實時接管失效HBA卡運行的服務(wù),避免單一HBA卡失效所引起的存儲服務(wù)故障;其中Active-Take over模式正常情況下,只有一片HBA卡對外提供服務(wù),另一片HBA卡處于熱備狀態(tài),當(dāng)Active的RAID卡失效的時候,熱備HBA卡自動接管,并提供I/O服務(wù);Active-Active模式兩塊HBA卡同時提供I/O服務(wù),互為熱備,提高系統(tǒng)帶寬,并具有路徑冗余功能;5)寫緩存鏡像模塊提供對HBA卡緩存內(nèi)數(shù)據(jù)鏡像的功能,實時備份寫數(shù)據(jù)到另一片HBA卡的緩存中,保證寫數(shù)據(jù)的完整性,在HBA卡接替前者所做的工作時,會造成由于前者故障導(dǎo)致緩存中沒有寫入磁盤的數(shù)據(jù)丟失,緩存鏡像就是解決雙HBA卡服務(wù)器系統(tǒng)的兩片HBA卡之間切換時的緩存數(shù)據(jù)丟失的問題;系統(tǒng)運行控制服務(wù)器啟動進入操作系統(tǒng)后,根據(jù)關(guān)機前的狀態(tài),進入一種工作模式Active-Active or Active-Take over,在操作系統(tǒng)下,通過一個HBA卡對全部磁盤進行控制管理;與此同時,生成的磁盤配置信息通過SAS鏈路被同步到另一塊磁盤控制器HBA卡中;另一塊控制器HBA卡會通過心跳監(jiān)控處于Active狀態(tài)的磁盤控制器,并對它是否發(fā)生故障進行判別;兩片HBA卡還要時刻保持緩存內(nèi)數(shù)據(jù)完全一致,以保證在一片HBA卡發(fā)生故障時,緩存數(shù)據(jù)不丟失并被寫入磁盤,當(dāng)某一片ActiveHBA卡發(fā)生故障時,另一片HBA卡首先作出判別,然后會接管系統(tǒng)硬盤,并將緩存內(nèi)的數(shù)據(jù)刷入磁盤,最后全面接管工作,對外提供服務(wù)。
全文摘要
本發(fā)明提供一種冗余磁盤控制服務(wù)器系統(tǒng),是在傳統(tǒng)服務(wù)器應(yīng)用模式的基礎(chǔ)上,增加一塊HBA卡,即在服務(wù)器主板上插兩塊相同的HBA卡,每塊HBA卡都被認(rèn)為是相對獨立的,每一塊HBA卡均能與其它所有部件組成一個完整的系統(tǒng),兩塊HBA卡構(gòu)成了兩個互為冗余,互為備份的系統(tǒng),本發(fā)明的系統(tǒng)好現(xiàn)有技術(shù)相比能夠很好適應(yīng)互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和網(wǎng)絡(luò)帶寬不斷增加,減少服務(wù)器的故障幾率,還可以實現(xiàn)兩個磁盤控制器的負(fù)載均衡,以達到提高數(shù)據(jù)帶寬的目的。
文檔編號G06F3/06GK101488077SQ20091001419
公開日2009年7月22日 申請日期2009年2月24日 優(yōu)先權(quán)日2009年2月24日
發(fā)明者強 張, 李瑞東 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司