專利名稱::一種實現(xiàn)集群存儲高可用性的方法、節(jié)點裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及網(wǎng)絡(luò)存儲系統(tǒng)
技術(shù)領(lǐng)域:
,尤其涉及一種實現(xiàn)集群存儲高可用性的方法、節(jié)點裝置和系統(tǒng)。
背景技術(shù):
:云存儲和大數(shù)據(jù)背景下,數(shù)據(jù)呈現(xiàn)爆炸式增長趨勢。根據(jù)研究顯示,2020年數(shù)字宇宙將達(dá)到35.2ZB,比2009年的O.8ZB猛增44倍,這其中80%以上為非結(jié)構(gòu)化數(shù)據(jù)。高性能計算、醫(yī)學(xué)影像、石油和天然氣勘探、數(shù)字媒體和社會化WEB等大量數(shù)據(jù)密集型應(yīng)用導(dǎo)致數(shù)據(jù)的井噴,不斷對存儲方法提出新的嚴(yán)峻挑戰(zhàn)。集群存儲是一種橫向擴(kuò)展(Scale-out)存儲架構(gòu),具有容量和性能線性擴(kuò)展的優(yōu)勢,已經(jīng)得到全球市場的廣泛認(rèn)可。除了高性能、高擴(kuò)展特點外,集群存儲還應(yīng)該具備高可用的特征,這對于企業(yè)核心業(yè)務(wù)系統(tǒng)尤為關(guān)鍵,保證關(guān)鍵業(yè)務(wù)的連續(xù)性。集群存儲現(xiàn)有技術(shù)方案主要通過冗余技術(shù)解決可用性問題,包括副本技術(shù)、糾刪碼技術(shù)、主備或全活高可用性(HighAvailability,HA)技術(shù)。副本技術(shù)通過增加不同數(shù)量的副本,可以有效提高數(shù)據(jù)可用性,但是存儲利用率低(為副本數(shù)量分之一),并增加了數(shù)據(jù)管理的復(fù)雜度。糾刪碼通過冗余編碼提高存儲可用性,并且具備較低的空間復(fù)雜度和數(shù)據(jù)冗余度,存儲利用率高,但編碼方式復(fù)雜,需要大量計算并降低業(yè)務(wù)性能,且適用集群節(jié)點數(shù)量較多的情形。主備(Active/Standby)HA技術(shù)同樣采用冗余技術(shù)獲取高可用性,但存儲資源浪費嚴(yán)重。全活(Active/Active)HA技術(shù)通過監(jiān)控并將故障節(jié)點資源(IP、服務(wù)進(jìn)程、業(yè)務(wù)數(shù)據(jù)等)切換至正常節(jié)點上,使整個系統(tǒng)連續(xù)不間斷對外提供服務(wù)。這種HA技術(shù)不僅能夠提高可用性,而且具備負(fù)載均衡功能,資源利用率高。HA技術(shù)的主要問題是資源切換期間會導(dǎo)致服務(wù)中斷,通常只接管IP和服務(wù)進(jìn)程資源,而業(yè)務(wù)數(shù)據(jù)或物理存儲資源需要由外部系統(tǒng)進(jìn)行管理。
發(fā)明內(nèi)容本發(fā)明的目的在于提出一種實現(xiàn)集群存儲高可用性的方法、節(jié)點裝置和系統(tǒng),能夠使得節(jié)點之間的資源切換期間,不僅接管故障節(jié)點的IP和服務(wù)進(jìn)程資源,而且接管故障節(jié)點的存儲軟件服務(wù)進(jìn)程和物理存儲資源。為達(dá)此目的,本發(fā)明采用以下技術(shù)方案一種實現(xiàn)集群存儲高可用性的方法,該方法包括根據(jù)接收到的節(jié)點狀態(tài)信息觸發(fā)接管事件;獲取故障節(jié)點的卷信息、存儲設(shè)備信息和存儲區(qū)域網(wǎng)絡(luò)(StorageAreaNetwork,SAN)存儲信息并生成本地配置信息;掛載所述SAN集群中的存儲設(shè)備并啟動分布式文件系統(tǒng)服務(wù)例程,所述存儲設(shè)備上的卷恢復(fù)使用。所述根據(jù)接收到的節(jié)點狀態(tài)信息觸發(fā)接管事件之前,進(jìn)一步包括響應(yīng)故障節(jié)點的備份請求,接收所述故障節(jié)點的狀態(tài)信息。所述故障節(jié)點發(fā)出所述備份請求之前,進(jìn)一步包括通過定期觸發(fā)的監(jiān)控事件接收監(jiān)控信息,判斷本地服務(wù)的狀態(tài);服務(wù)狀態(tài)異常時,根據(jù)輪叫調(diào)度(RoundRobinScheduling)算法在所述SAN集群中確定一個備份節(jié)點;將本地的狀態(tài)信息發(fā)送至其他節(jié)點并向所述備份節(jié)點發(fā)出備份請求。該方法還包括向所述SAN集群中的其他節(jié)點發(fā)送消息,更新所述卷信息和存儲設(shè)備信息。如果所述故障節(jié)點已修復(fù),則該方法還包括將備份節(jié)點的接管的資源重新接管至本地;向所述SAN集群中的其他節(jié)點發(fā)送消息,更新所述卷信息和存儲設(shè)備信息;向備份節(jié)點發(fā)送釋放資源消息。節(jié)點接管資源時進(jìn)一步包括獲取接管之前的連接信息,構(gòu)造自動增加數(shù)字序列為零(Sequence=O)的確認(rèn)字符(ACKnowledgeCharacter,ACK)請求報文,發(fā)送至之前連接的客戶端;接收所述客戶端的ACK應(yīng)答報文,所述ACK應(yīng)答報文中Sequence=N;向所述客戶端發(fā)送復(fù)位連接(Resettheconnection,RST)請求,通知所述客戶端重新建立TCP連接;與已重新建立傳輸端口的所述客戶端建立TCP連接?!N實現(xiàn)集群存儲高可用性的節(jié)點裝置,包括定時器模塊、事件處理模塊、監(jiān)控模塊和通信模塊;其中,定時器模塊,用于向事件處理模塊觸發(fā)監(jiān)控事件,定時對本節(jié)點的資源和服務(wù)等進(jìn)行監(jiān)控;監(jiān)控模塊,用于監(jiān)控指定服務(wù)的狀態(tài),向事件處理模塊返回服務(wù)的狀態(tài)信息;通信模塊,用于各個節(jié)點裝置之間的信息傳遞和數(shù)據(jù)同步;事件處理模塊,用于負(fù)責(zé)接收所述裝置內(nèi)各個模塊的返回信息,并依此進(jìn)行下一步的操作調(diào)度。還包括接管模塊和釋放模塊;其中,接管模塊,用于所述節(jié)點裝置作為備份節(jié)點時,接收出現(xiàn)故障節(jié)點的各項資源,包括SAN存儲設(shè)備和卷以及對應(yīng)的分布式文件系統(tǒng)服務(wù);釋放模塊,用于所述故障節(jié)點回復(fù)后,將所述接管模塊接管的各項資源釋放。所述節(jié)點裝置作為備份節(jié)點接管故障節(jié)點的資源后,與所述故障節(jié)點連接的客戶端重新建立TCP連接。一種實現(xiàn)集群存儲高可用性的系統(tǒng),包括至少兩個任一所述的節(jié)點裝置以及SAN中的存儲設(shè)備。采用本發(fā)明的技術(shù)方案,能夠使得節(jié)點之間的資源切換期間,不僅接管故障節(jié)點的IP和服務(wù)進(jìn)程資源,而且接管故障節(jié)點的存儲軟件服務(wù)進(jìn)程和物理存儲資源,支持NFS/CIFS/HTTP/FTP/ISCSI協(xié)議以及PanaFS協(xié)議,利用TCP/IP協(xié)議的連接重連技術(shù),實現(xiàn)了故障節(jié)點的透明接管,不會產(chǎn)生接管期間的業(yè)務(wù)中斷。圖I是本發(fā)明實施例提供的實現(xiàn)集群存儲高可用性的節(jié)點裝置的結(jié)構(gòu)示意圖。圖2是本發(fā)明實施例提供的實現(xiàn)集群存儲高可用性的節(jié)點裝置作為備用節(jié)點時的結(jié)構(gòu)示意圖。圖3是本發(fā)明實施例提供的實現(xiàn)集群存儲高可用性的系統(tǒng)結(jié)構(gòu)示意圖。圖4是本發(fā)明實施例提供的實現(xiàn)集群存儲高可用性的方法流程圖。圖5是本發(fā)明實施例中故障節(jié)點發(fā)出備份請求的流程圖。圖6是本發(fā)明實施例中故障節(jié)點修復(fù)后系統(tǒng)內(nèi)信息交互過程的示意圖。圖7是本發(fā)明實施例中接管業(yè)務(wù)資源的節(jié)點與客戶端重新建立TCP連接的過程示意圖。具體實施例方式下面結(jié)合附圖并通過具體實施方式來進(jìn)一步說明本發(fā)明的技術(shù)方案。圖I是本發(fā)明具體實施方式提供的實現(xiàn)集群存儲高可用性的節(jié)點裝置的結(jié)構(gòu)示意圖。該節(jié)點裝置包括定時器模塊、事件處理模塊、監(jiān)控模塊和通信模塊;其中,定時器模塊,用于向事件處理模塊觸發(fā)監(jiān)控事件,定時對本節(jié)點的資源和服務(wù)等進(jìn)行監(jiān)控。HA系統(tǒng)通過定時器來觸發(fā)事件,定時對本節(jié)點的資源和服務(wù)等進(jìn)行監(jiān)控,若狀態(tài)發(fā)生改變,則會將信息與其他節(jié)點進(jìn)行同步,并觸發(fā)相應(yīng)的事件進(jìn)行處理。定時器模塊的作用是設(shè)置時間間隔觸發(fā)定義的事件,包括定期觸發(fā)監(jiān)控事件,定期觸發(fā)keepalive事件等。監(jiān)控模塊,用于監(jiān)控指定服務(wù)的狀態(tài),向事件處理模塊返回服務(wù)的狀態(tài)信息。所述監(jiān)控模塊定期監(jiān)控指定服務(wù)的狀態(tài),并通過返回值的形式,向事件處理模塊返回服務(wù)的狀態(tài)信息。若服務(wù)正常,則返回0,否則返回非O值。通信模塊,用于各個節(jié)點裝置之間的信息傳遞和數(shù)據(jù)同步;包括周期性的心跳和數(shù)據(jù)同步。事件處理模塊,用于負(fù)責(zé)接收所述裝置內(nèi)各個模塊的返回信息,并依此進(jìn)行下一步的操作調(diào)度。當(dāng)圖I所示的節(jié)點作為備份節(jié)點時,該節(jié)點裝置進(jìn)一步包括接管模塊和釋放模塊,如圖2所示,其中,接管模塊,用于所述節(jié)點裝置作為備份節(jié)點時,接收出現(xiàn)故障節(jié)點的各項資源,包括SAN存儲設(shè)備和卷以及對應(yīng)的分布式文件系統(tǒng)服務(wù)。所述接管模塊負(fù)責(zé)接收出現(xiàn)故障節(jié)點的各項資源,主要包括SAN存儲、對應(yīng)的分布式文件系統(tǒng)服務(wù)。接管模塊首先獲取到故障節(jié)點管理的SAN存儲信息、存儲設(shè)備信息和卷信息,然后在本節(jié)點上生成完整的配置信息,掛載所述SAN集群中的存儲設(shè)備并啟動分布式文件系統(tǒng)服務(wù),建立在這些存儲設(shè)備之上的卷即可恢復(fù)使用。所述分布式文件系統(tǒng)服務(wù),可采用Lustre、Panasas、Ceph、pNFS或者PanaFS等分布式存儲系統(tǒng)。本發(fā)明實施例優(yōu)選PanaFS分布式文件系統(tǒng),它使用私有的PanaFS協(xié)議進(jìn)行數(shù)據(jù)訪問,它是CIFS/NFS/FTP/HTTP等訪問協(xié)議的基礎(chǔ),提供統(tǒng)一的共享存儲空間。Panafs是可移植操作系統(tǒng)接ロ(PortableOperatingSystemInterface,P0SIX)標(biāo)準(zhǔn)兼容的協(xié)議,具有聞擴(kuò)展、聞可用、聞性能、聞效能等特點釋放模塊,用于所述故障節(jié)點回復(fù)后,將所述接管模塊接管的各項資源釋放。所述節(jié)點裝置的事件處理模塊類似于調(diào)度程序,負(fù)責(zé)接收不同模塊的返回信息,并以此作為依據(jù),進(jìn)行下一歩的操作,主要包括以下幾類I.接收定時器的消息,調(diào)用監(jiān)控模塊。2.接收監(jiān)控模塊的消息。若監(jiān)控模塊返回值為0,則表示服務(wù)正常。與之前監(jiān)控的結(jié)果進(jìn)行比較,若之前狀態(tài)為異常,則表示當(dāng)前節(jié)點現(xiàn)在已經(jīng)被修復(fù),需要執(zhí)行恢復(fù)資源的過程,如圖3所示。若返回非O值,則表示本節(jié)點的服務(wù)出現(xiàn)異常,將執(zhí)行以下步驟(I)在所在節(jié)點中,采用輪叫調(diào)度(RoundRobinScheduling)算法,選擇ー個節(jié)點作為備份節(jié)點;(2)調(diào)用通信模塊,將本節(jié)點的狀態(tài)信息發(fā)送到其他節(jié)點;(3)向備份節(jié)點發(fā)送消息。備份節(jié)點收到消息后將執(zhí)行接管模塊。3.接收其他節(jié)點發(fā)送的消息。若本節(jié)點被選擇作為備份節(jié)點,則運行接管模塊。若接收到修復(fù)節(jié)點的信息,則運行釋放模塊。圖3是本發(fā)明實施例提供的實現(xiàn)集群存儲高可用性的系統(tǒng)結(jié)構(gòu)示意圖?;赟AN架構(gòu)的集群存儲系統(tǒng),后端存儲采用中高端磁盤陣列子系統(tǒng),支持獨立冗余磁盤陣列(RedundantArrayofIndependentDisk,RAID)0、1、5、6、10等不同級別RAID等級,并通過光纖FC接ロ連接到各個集群節(jié)點。SAN磁盤陣列通過不同RAID等級對數(shù)據(jù)進(jìn)行保護(hù),通過冗余機(jī)制提供高可用性,同時降低了一定程度的存儲利用率。在這種架構(gòu)下,如果再采用副本或者糾刪碼來提供集群服務(wù)高可性,就會進(jìn)ー步降低存儲利用率或者大幅降低集群系統(tǒng)性能。當(dāng)集群節(jié)點服務(wù)器發(fā)生故障時,后端SAN存儲通常仍然處于正常工作狀態(tài),存儲在其上面的數(shù)據(jù)也是完整一致的。因此,完全可以從正常工作的其他集群節(jié)點中選擇ー個節(jié)點來接管故障節(jié)點的資源和服務(wù),繼續(xù)對外提供數(shù)據(jù)服務(wù),保證業(yè)務(wù)的連續(xù)性。本發(fā)明專利的HA方法與現(xiàn)有HA技術(shù)方案不同的是,面向基于SAN架構(gòu)的集群存儲系統(tǒng),采用全活HA架構(gòu)技木,不僅接管故障節(jié)點的IP和服務(wù)進(jìn)程資源,而且接管故障節(jié)點的存儲軟件服務(wù)進(jìn)程和物理存儲資源,支持NFS/CIFS/HTTP/FTP/ISCSI協(xié)議以及PanaFS協(xié)議。利用TCP/IP協(xié)議的連接重連技術(shù),實現(xiàn)了故障節(jié)點的透明接管,不會產(chǎn)生接管期間的業(yè)務(wù)中斷。本方法保證集群存儲系統(tǒng)的存儲利用率以及系統(tǒng)性能不會受到影響,并且可以透明接管完整的系統(tǒng)資源,提供更高的系統(tǒng)可用性,主要設(shè)計原則如下I.當(dāng)某個節(jié)點由于停機(jī),或者系統(tǒng)出現(xiàn)異常,不能再向上層的應(yīng)用提供數(shù)據(jù)存儲服務(wù)時,則需要由備份節(jié)點接管連接到該節(jié)點上的SAN存儲設(shè)備,并啟動相應(yīng)的服務(wù),以保證前端應(yīng)用仍然可以正常地進(jìn)行數(shù)據(jù)存儲操作。2.為平衡系統(tǒng)中各節(jié)點的負(fù)載,避免備份節(jié)點的負(fù)載過重,當(dāng)出現(xiàn)故障的節(jié)點修復(fù)后,需要將被接管的SAN存儲重新恢復(fù)。3.在上述的接管與恢復(fù)過程中,需要保證對前端的數(shù)據(jù)存儲沒有明顯影響,分布式文件系統(tǒng)服務(wù)不中斷,做到透明接管和恢復(fù)。4.備份節(jié)點的選擇,采用Round-Robin輪詢法,在當(dāng)前正常工作的節(jié)點中選擇其中之一作為備份節(jié)點。集群中某個節(jié)點出現(xiàn)故障后,HA系統(tǒng)會采用輪詢算法,在狀態(tài)為OK的節(jié)點中選擇其中ー個,接管故障節(jié)點的IP地址。這樣在被選擇的節(jié)點上就會觸發(fā)takeip事件,發(fā)生了takeip事件的節(jié)點均可作為備份節(jié)點,并執(zhí)行故障接管操作。故障節(jié)點恢復(fù)后,之前漂移的IP會重新漂移回來,同時觸發(fā)takeip事件,并執(zhí)行故障恢復(fù)操作?,F(xiàn)有HA技術(shù)方案往往只處理集群節(jié)點上各種業(yè)務(wù)服務(wù)的可用性,比如CIFS、NFS、HTTP、FTP等服務(wù),而對故障前已經(jīng)與節(jié)點建立的TCP/IP連接或者會話(Session)不作處理,會造成接管期間業(yè)務(wù)中斷,無法實現(xiàn)透明接管。本方法中使用TCP欺騙技術(shù),接管節(jié)點主動與已經(jīng)建立連接的客戶端重新建立連接,從而實現(xiàn)透明接管。重新建立連接的流程如下I.新節(jié)點(接管節(jié)點)從共享存儲中獲取之前的連接信息,構(gòu)造自動增加數(shù)字序列為零(Sequence=O)的ACK請求報文,發(fā)送給客戶端;2.客戶端收到請求后,發(fā)送ACK應(yīng)答,并糾正Sequence=N;3.新節(jié)點得到正確sequence后,發(fā)送RST請求,通知客戶端重新建立TCP連接;4.客戶端重新建立傳輸端ロ,TCP連接重建完成。圖4是本發(fā)明實施例提供的實現(xiàn)集群存儲高可用性的方法流程圖,該方法包括S401,根據(jù)接收到的節(jié)點狀態(tài)信息觸發(fā)接管事件。備份節(jié)點通過通訊模塊接收到故障節(jié)點的狀態(tài)信息,發(fā)送至事件處理模塊并觸發(fā)接管事件。S402,獲取故障節(jié)點的卷信息、存儲設(shè)備信息和SAN存儲信息并生成本地配置信息。根據(jù)所述故障節(jié)點使用的卷信息、存儲設(shè)備信息和所在SAN信息生成本地配置用于接管時掛載相應(yīng)的存儲資源。S403,掛載所述SAN集群中的存儲設(shè)備并啟動panaFS服務(wù)例程,所述存儲設(shè)備上的卷恢復(fù)使用。所述S401中備份節(jié)點根據(jù)接收到的節(jié)點狀態(tài)信息觸發(fā)接管事件之前,響應(yīng)故障節(jié)點的備份請求,接收所述故障節(jié)點的狀態(tài)信息。所述故障節(jié)點發(fā)出所述備份請求之前,如圖5所示,還包括以下步驟S501,通過定期觸發(fā)的監(jiān)控事件接收監(jiān)控信息,判斷本地服務(wù)的狀態(tài);S502,服務(wù)狀態(tài)異常時,根據(jù)輪叫調(diào)度(RoundRobinScheduling)算法在所述SAN集群中確定ー個備份節(jié)點;S503,所述故障節(jié)點將本地的狀態(tài)信息發(fā)送至其他節(jié)點并向所述備份節(jié)點發(fā)出備份請求。所述備份節(jié)點接管存儲資源成功后,向所述SAN集群中的其他節(jié)點發(fā)送消息,更新所述卷信息和存儲設(shè)備信息。當(dāng)所述故障節(jié)點已修復(fù)時,如圖6所示,所述故障節(jié)點將備份節(jié)點的接管的資源重新接管至本地;向所述SAN集群中的其他節(jié)點發(fā)送消息,更新所述卷信息和存儲設(shè)備信息;向備份節(jié)點發(fā)送釋放資源消息。所述備份節(jié)點收到釋放資源消息后,將之前接管的資源釋放。無論是備份節(jié)點接管故障節(jié)點的存儲資源,還是故障節(jié)點恢復(fù)后從備份節(jié)點重新接管原有的存儲資源,都需要與存在業(yè)務(wù)連接客戶端重新建立TCP連接,該重新建立TCP連接的過程如圖7所示,包括I.獲取接管之前的連接信息,構(gòu)造自動增加數(shù)字序列為零(Sequence=O)的ACK請求報文,發(fā)送至之前連接的客戶端;2.接收所述客戶端的ACK應(yīng)答報文,所述ACK應(yīng)答報文中Sequence=N;3.向所述客戶端發(fā)送RST請求,通知所述客戶端重新建立TCP連接;4.與已重新建立傳輸端ロ的所述客戶端建立TCP連接。本方法中使用TCP欺騙技術(shù),接管節(jié)點主動與已經(jīng)建立連接的客戶端重新建立連接,從而實現(xiàn)透明接管,業(yè)務(wù)不會發(fā)生中斷。實現(xiàn)透明接管,需要對集群存儲系統(tǒng)通信協(xié)議進(jìn)行修改,對服務(wù)端和客戶端軟件模塊通信流程進(jìn)行重構(gòu)。透明故障接管對于關(guān)鍵業(yè)務(wù)系統(tǒng)非常關(guān)鍵,客戶端僅會表現(xiàn)短暫的阻塞,不會導(dǎo)致連接中斷或異常退出等現(xiàn)象,能夠保證數(shù)據(jù)一致性和業(yè)務(wù)的連續(xù)性,實現(xiàn)更高的集群可用性。采用本發(fā)明的技術(shù)方案,能夠使得節(jié)點之間的資源切換期間,不僅接管故障節(jié)點的IP和服務(wù)進(jìn)程資源,而且接管故障節(jié)點的存儲軟件服務(wù)進(jìn)程和物理存儲資源,支持NFS/CIFS/HTTP/FTP/ISCSI協(xié)議以及PanaFS協(xié)議,利用TCP/IP協(xié)議的連接重連技術(shù),實現(xiàn)了故障節(jié)點的透明接管,不會產(chǎn)生接管期間的業(yè)務(wù)中斷。以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。權(quán)利要求1.一種實現(xiàn)集群存儲高可用性的方法,其特征在于,該方法包括根據(jù)接收到的節(jié)點狀態(tài)信息觸發(fā)接管事件;獲取故障節(jié)點的卷信息、存儲設(shè)備信息和存儲區(qū)域網(wǎng)絡(luò)(storageAreaNetwork,SAN)存儲信息并生成本地配置信息;掛載所述SAN集群中的存儲設(shè)備并啟動分布式文件系統(tǒng)服務(wù)例程,所述存儲設(shè)備上的卷恢復(fù)使用。2.如權(quán)利要求I所述的方法,其特征在于,所述根據(jù)接收到的節(jié)點狀態(tài)信息觸發(fā)接管事件之前,進(jìn)一步包括響應(yīng)故障節(jié)點的備份請求,接收所述故障節(jié)點的狀態(tài)信息。3.如權(quán)利要求2所述的方法,其特征在于,所述故障節(jié)點發(fā)出所述備份請求之前,進(jìn)一步包括通過定期觸發(fā)的監(jiān)控事件接收監(jiān)控信息,判斷本地服務(wù)的狀態(tài);服務(wù)狀態(tài)異常時,根據(jù)輪叫調(diào)度(RoundRobinScheduling)算法在所述SAN集群中確定一個備份節(jié)點;將本地的狀態(tài)信息發(fā)送至其他節(jié)點并向所述備份節(jié)點發(fā)出備份請求。4.如權(quán)利要求1-3任一所述的方法,其特征在于,該方法還包括向所述SAN集群中的其他節(jié)點發(fā)送消息,更新所述卷信息和存儲設(shè)備信息。5.如權(quán)利要求4所述的方法,其特征在于,如果所述故障節(jié)點已修復(fù),則該方法還包括將備份節(jié)點的接管的資源重新接管至本地;向所述SAN集群中的其他節(jié)點發(fā)送消息,更新所述卷信息和存儲設(shè)備信息;向備份節(jié)點發(fā)送釋放資源消息。6.如權(quán)利要求5所述的方法,其特征在于,節(jié)點接管資源時進(jìn)一步包括獲取接管之前的連接信息,構(gòu)造自動增加數(shù)字序列為零(Sequence=O)的確認(rèn)字符(ACKnowledgeCharacter,ACK)請求報文,發(fā)送至之前連接的客戶端;接收所述客戶端的ACK應(yīng)答報文,所述ACK應(yīng)答報文中Sequence=N;向所述客戶端發(fā)送復(fù)位連接(Resettheconnection,RST)請求,通知所述客戶端重新建立TCP連接;與已重新建立傳輸端口的所述客戶端建立TCP連接。7.一種實現(xiàn)集群存儲高可用性的節(jié)點裝置,其特征在于,包括定時器模塊、事件處理模塊、監(jiān)控模塊和通信模塊;其中,定時器模塊,用于向事件處理模塊觸發(fā)監(jiān)控事件,定時對本節(jié)點的資源和服務(wù)等進(jìn)行監(jiān)控;監(jiān)控模塊,用于監(jiān)控指定服務(wù)的狀態(tài),向事件處理模塊返回服務(wù)的狀態(tài)信息;通信模塊,用于各個節(jié)點裝置之間的信息傳遞和數(shù)據(jù)同步;事件處理模塊,用于負(fù)責(zé)接收所述裝置內(nèi)各個模塊的返回信息,并依此進(jìn)行下一步的操作調(diào)度。8.如權(quán)利要求7所述的節(jié)點裝置,其特征在于,還包括接管模塊和釋放模塊;其中,接管模塊,用于所述節(jié)點裝置作為備份節(jié)點時,接收出現(xiàn)故障節(jié)點的各項資源,包括SAN存儲設(shè)備和卷以及對應(yīng)的分布式文件系統(tǒng)服務(wù);釋放模塊,用于所述故障節(jié)點回復(fù)后,將所述接管模塊接管的各項資源釋放。9.如權(quán)利要求8所述的節(jié)點裝置,其特征在于,所述節(jié)點裝置作為備份節(jié)點接管故障節(jié)點的資源后,與所述故障節(jié)點連接的客戶端重新建立TCP連接。10.一種實現(xiàn)集群存儲高可用性的系統(tǒng),其特征在于,包括至少兩個如權(quán)利要求7-9任一所述的節(jié)點裝置以及SAN中的存儲設(shè)備。全文摘要本發(fā)明公開了一種實現(xiàn)集群存儲高可用性的方法、節(jié)點裝置和系統(tǒng),該方法包括根據(jù)接收到的節(jié)點狀態(tài)信息觸發(fā)接管事件;獲取故障節(jié)點的卷信息、存儲設(shè)備信息和SAN存儲信息并生成本地配置信息;掛載所述SAN集群中的存儲設(shè)備并啟動分布式文件系統(tǒng)服務(wù)例程,所述存儲設(shè)備上的卷恢復(fù)使用。本發(fā)明能夠使得節(jié)點之間的資源切換期間,不僅接管故障節(jié)點的IP和服務(wù)進(jìn)程資源,而且接管故障節(jié)點的存儲軟件服務(wù)進(jìn)程和物理存儲資源,支持NFS/CIFS/HTTP/FTP/ISCSI協(xié)議以及PanaFS協(xié)議,利用TCP/IP協(xié)議的連接重連技術(shù),實現(xiàn)了故障節(jié)點的透明接管,不會產(chǎn)生接管期間的業(yè)務(wù)中斷。文檔編號H04L12/24GK102868754SQ20121036357公開日2013年1月9日申請日期2012年9月26日優(yōu)先權(quán)日2012年9月26日發(fā)明者劉愛貴申請人:北京聯(lián)創(chuàng)信安科技有限公司