本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種基于虛擬化平臺的容災(zāi)系統(tǒng)及方法。
背景技術(shù):
當(dāng)前,隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展以及企業(yè)規(guī)模的不斷擴大,企業(yè)的業(yè)務(wù)對于網(wǎng)絡(luò)的依賴性越來越大。但是由于各種天災(zāi)人禍的發(fā)生,企業(yè)的業(yè)務(wù)會發(fā)生中斷,這將給企業(yè)帶來巨大的財產(chǎn)損失。所以現(xiàn)代企業(yè)需要一套完善的容災(zāi)系統(tǒng)以保證企業(yè)業(yè)務(wù)的正常進行。
在當(dāng)今社會,隨著虛擬化技術(shù)的普及,越來越多的企業(yè)將業(yè)務(wù)放在虛擬化平臺之中,這時企業(yè)就需要對虛擬機集群進行容災(zāi)建設(shè),以保證企業(yè)業(yè)務(wù)的正常運行。
在現(xiàn)有技術(shù)中,企業(yè)通常是通過虛擬化平臺與一個存儲網(wǎng)絡(luò)相結(jié)合來構(gòu)建業(yè)務(wù)系統(tǒng),請參照圖1,多臺虛擬機100相互連接構(gòu)成虛擬機集群,所述虛擬機集群通過網(wǎng)關(guān)200與存儲設(shè)備300相連接。當(dāng)某一臺虛擬機發(fā)生故障時,網(wǎng)關(guān)會將連接故障虛擬機的線路切換到連接另一臺虛擬機的線路,以保證業(yè)務(wù)的運行。
但是在現(xiàn)有技術(shù)中,當(dāng)存儲設(shè)備發(fā)生故障時,整個系統(tǒng)將會受到影響,整個企業(yè)的業(yè)務(wù)將會發(fā)生中斷,這會對企業(yè)造成嚴重的財產(chǎn)損失。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明的主要目的在于提供一種基于虛擬化平臺的容災(zāi)系統(tǒng),可以有效的避免系統(tǒng)中的單點故障;本發(fā)明的另一目的在于提供一種基于虛擬化平臺的容災(zāi)方法,可以在故障發(fā)生時將系統(tǒng)所執(zhí)行的業(yè)務(wù)連續(xù)進行下去。
為了解決上述問題,本發(fā)明提供了一種基于虛擬化平臺的容災(zāi)系統(tǒng),所述系統(tǒng)包括多個站點,每一個所述站點包括虛擬機集群、存儲虛擬化網(wǎng)關(guān)和存儲設(shè)備;
所述虛擬機集群與所述存儲虛擬化網(wǎng)關(guān)相連接,所述存儲虛擬化網(wǎng)關(guān)與所述存儲設(shè)備相連接,所述虛擬機集群包括多個虛擬機,多個所述存儲虛擬化網(wǎng)關(guān)相互連接以構(gòu)成存儲虛擬化網(wǎng)關(guān)集群,當(dāng)?shù)谝徽军c中的設(shè)備發(fā)生故障時,所述存儲虛擬化網(wǎng)關(guān)集群將連接所述第一站點的線路切換至連接第二站點的線路;
多個所述存儲設(shè)備之間保持數(shù)據(jù)同步。
可選地,所述存儲虛擬化網(wǎng)關(guān)集群具體用于:
當(dāng)?shù)谝惶摂M機發(fā)生故障時,將連接所述第一虛擬機的線路切換至連接第二虛擬機的線路。
可選地,所述存儲虛擬化網(wǎng)關(guān)集群具體用于:
當(dāng)?shù)谝淮鎯υO(shè)備發(fā)生故障時,將連接所述第一存儲設(shè)備的線路切換至連接第二存儲設(shè)備的線路。
可選地,所述存儲虛擬化網(wǎng)關(guān)集群具體用于:
當(dāng)?shù)谝淮鎯μ摂M化網(wǎng)關(guān)發(fā)生故障時,將連接所述第一存儲虛擬化網(wǎng)關(guān)的線路切換至連接第二存儲虛擬化網(wǎng)關(guān)的線路。
可選地,所述存儲虛擬化網(wǎng)關(guān)還用于:
當(dāng)所述第一站點的故障修復(fù)完成時,將連接所述第二站點的線路切換至連接所述第一站點的線路。
可選地,多個所述存儲虛擬化網(wǎng)關(guān)之間設(shè)置有仲裁節(jié)點,用于防止腦裂情況的發(fā)生。
本發(fā)明還提供了一種基于虛擬化平臺的容災(zāi)方法,包括:
當(dāng)多個站點中的第一站點的設(shè)備發(fā)生故障時,所述存儲虛擬化網(wǎng)關(guān)集群獲取所述第一站點的設(shè)備發(fā)生故障的信息;其中,所述站點包括虛擬機集群、存儲虛擬化網(wǎng)關(guān)和存儲設(shè)備,所述虛擬機集群包括多個虛擬機,多個所述存儲虛擬化網(wǎng)關(guān)相互連接以構(gòu)成存儲虛擬化網(wǎng)關(guān)集群,多個所述存儲設(shè)備之間保持數(shù)據(jù)同步;
所述存儲虛擬化網(wǎng)關(guān)集群將連接所述第一站點的線路切換到連接所述站點中的第二站點的線路。
可選地,所述存儲虛擬化網(wǎng)關(guān)集群將連接所述第一站點的線路切換到連接所述站點中的第二站點的線路包括:
當(dāng)?shù)谝惶摂M機發(fā)生故障時,所述存儲虛擬化網(wǎng)關(guān)集群將連接所述第一虛擬機的線路切換到連接第二虛擬機的線路。
可選地,所述存儲虛擬化網(wǎng)關(guān)集群將連接所述第一站點的線路切換到連接所述站點中的第二站點的線路包括:
當(dāng)?shù)谝淮鎯υO(shè)備發(fā)生故障時,所述存儲虛擬化網(wǎng)關(guān)集群將連接所述第一存儲設(shè)備的線路切換到連接第二存儲設(shè)備的線路。
可選地,所述存儲虛擬化網(wǎng)關(guān)集群將連接所述第一站點的線路切換到連接所述站點中的第二站點的線路包括:
當(dāng)?shù)谝淮鎯μ摂M化網(wǎng)關(guān)發(fā)生故障時,所述存儲虛擬化網(wǎng)關(guān)集群將連接所述第一存儲虛擬化網(wǎng)關(guān)的線路切換到連接第二存儲虛擬化網(wǎng)關(guān)的線路。
本發(fā)明所提供的系統(tǒng),存在多個站點,每個站點均包括虛擬機集群、存儲虛擬化網(wǎng)關(guān)和存儲設(shè)備,多個站點之間所存儲的數(shù)據(jù)大體相同,當(dāng)故障發(fā)生時可以及時的將連接故障站點的線路切換至連接其他站點的線路,以保證企業(yè)業(yè)務(wù)的連續(xù)性,從而避免故障給企業(yè)帶來的損失。本發(fā)明還提供了一種容災(zāi)方法,具有上述有益效果,在此不再贅述。
附圖說明
為了更清楚地說明本申請實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為現(xiàn)有技術(shù)中一種基于虛擬化平臺的容災(zāi)系統(tǒng);
圖2為本發(fā)明實施例所提供的第一種容災(zāi)系統(tǒng)的結(jié)構(gòu)示意圖;
圖3為本發(fā)明實施例所提供的第二種容災(zāi)系統(tǒng)的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例所提供的第三種容災(zāi)系統(tǒng)的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例所提供的一種容災(zāi)方法的流程圖;
圖6為圖5中步驟102的具體實施方法的流程圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護的范圍。
本發(fā)明為一種基于虛擬化平臺的容災(zāi)系統(tǒng),在現(xiàn)有技術(shù)中,其系統(tǒng)存在著單點故障,即當(dāng)存儲網(wǎng)絡(luò)發(fā)生故障時,整個系統(tǒng)將會受到影響,從而對企業(yè)造成財產(chǎn)損失;而本發(fā)明所提供的系統(tǒng)不存在單點故障,當(dāng)站點中任意一個設(shè)備發(fā)生故障時,均可以將連接故障設(shè)備的線路切換至連接其他相同設(shè)備的線路,從而保證了企業(yè)業(yè)務(wù)的連續(xù)性,避免了故障給企業(yè)帶來的損失。
下面將結(jié)合附圖對本發(fā)明做詳細描述。
請參考圖2,圖2為本發(fā)明實施例所提供的第一種容災(zāi)系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包括:
多個站點101,每一個所述站點101包括虛擬機集群102、存儲虛擬化網(wǎng)關(guān)105和存儲設(shè)備107。
在本發(fā)明實施例中,提供了一種不存在點單故障的容災(zāi)系統(tǒng),本發(fā)明所提供的容災(zāi)系統(tǒng)包括了多個站點101,每一個站點均包括有一個或多個上述設(shè)備,即每一個站點均包括有一個或多個虛擬機集群102,一個或多個存儲虛擬化網(wǎng)關(guān)105,以及一個或多個存儲設(shè)備107,這樣本發(fā)明所提供的容災(zāi)系統(tǒng)就包括了多個虛擬機集群102,多個存儲虛擬化網(wǎng)關(guān)105和多個存儲設(shè)備107。
所述虛擬機集群102與所述存儲虛擬化網(wǎng)關(guān)105相連接,所述存儲虛擬化網(wǎng)關(guān)105與所述存儲設(shè)備107相連接,所述虛擬機集群102包括多個虛擬機103和虛擬機104,多個所述存儲虛擬化網(wǎng)關(guān)105相互連接以構(gòu)成存儲虛擬化網(wǎng)關(guān)集群106,當(dāng)?shù)谝徽军c中所述設(shè)備發(fā)生故障時,所述存儲虛擬化網(wǎng)關(guān)集群106將連接所述第一站點的線路切換至連接第二站點的線路。
上述各個設(shè)備之間的連接方式可以選擇多種方式進行連接,例如選擇用網(wǎng)線進行連接,也可以選擇用光纖進行連接,當(dāng)然也可以選擇在某些設(shè)備之間選擇用網(wǎng)線進行連接,某些設(shè)備之間選擇用光纖進行連接,例如由于在本發(fā)明實施例所提供的容災(zāi)系統(tǒng)中,由于存儲虛擬化網(wǎng)關(guān)集群106需要進行較多的判斷或者是切換步驟,為了保證存儲虛擬化網(wǎng)關(guān)集群106的運行速度,可以選擇將多個存儲虛擬化網(wǎng)關(guān)105之間用光纖進行連接,以構(gòu)成整個存儲虛擬化網(wǎng)關(guān)集群106。當(dāng)選擇用光纖進行連接時,可以進一步的在光纖線路中設(shè)置光纖放大器,通過dwdm(密集型光波復(fù)用)組合一組光波長用一根光纖進行傳送,以此來減少本發(fā)明實施例所提供的容災(zāi)系統(tǒng)的光纖數(shù)量,以節(jié)約成本,或者是在本系統(tǒng)光纖數(shù)量不變的情況下提高數(shù)據(jù)傳輸時的帶寬。
在本發(fā)明實施例中,虛擬機集群102中的虛擬機103和虛擬機104可以是由linux操作系統(tǒng)在2.6.20版本之后集成在linux中的kvm(kernel-basedvirtualmachine)系統(tǒng)虛擬化模塊進行虛擬化后產(chǎn)生的,當(dāng)然,也可以通過其他方法產(chǎn)生多個虛擬機103和虛擬機104以構(gòu)成虛擬機集群102,在本發(fā)明實施例中不做具體限定,但是通常情況下是選擇使用linux操作系統(tǒng)中的kvm系統(tǒng)虛擬化模塊來產(chǎn)生多個虛擬機,因為linux操作系統(tǒng)中的kvm系統(tǒng)虛擬化模塊是一個開源的系統(tǒng)虛擬化模塊,其核心源代碼很少,在具體使用過程中非常方便。
在本發(fā)明實施例中,所述第一站點與第二站點并不是特指具體某一個站點,而是為了描述的方便,將發(fā)生故障的站點稱作是第一站點,而將連接故障站點的線路切換到連接新的站點的線路之后,被切換到的所述新的站點稱作是第二站點。當(dāng)然,在切換到新的站點之后,可能會發(fā)現(xiàn)所述新的站點也發(fā)生了故障,那么此時還會將連接故障站點的線路繼續(xù)切換到連接另一個新的站點的線路,此時故障的站點依然被稱作是第一站點,被切換到的新的站點被稱作是第二站點。
當(dāng)然,在切換到第二站點之前,可以先對即將被切換到的第二站點進行評估,若第二站點沒有發(fā)生故障,則將連接第一站點的線路切換至連接第二站點的線路;若第二站點發(fā)生了故障,則繼續(xù)對下一個新的站點進行評估,直到發(fā)現(xiàn)一個沒有故障的站點之后,再將連接第一站點的線路切換至連接新的站點的線路。上述對新站點的評估工作通常是由存儲虛擬化網(wǎng)關(guān)集群106進行評估或者是判斷的,當(dāng)然也可以是其它設(shè)備或者是其他模塊進行評估或者是判斷,在本發(fā)明實施例中不做具體的限定。
上述當(dāng)?shù)谝徽军c中設(shè)備發(fā)生故障時,所述存儲虛擬化網(wǎng)關(guān)集群106會先獲取所述第一站點中設(shè)備發(fā)生故障的信息。獲取故障信息的方式有很多種,例如,當(dāng)設(shè)備發(fā)生故障時,可以發(fā)出故障信息,在虛擬化網(wǎng)關(guān)集群106收到由故障設(shè)備發(fā)送的故障信息時,將連接故障站點的線路切換至連接其他站點的線路,以保證整個系統(tǒng)的運行;又或者是由于設(shè)備發(fā)生的故障比較嚴重,無法向虛擬化網(wǎng)關(guān)集群106發(fā)送數(shù)據(jù)時,虛擬化網(wǎng)關(guān)集群106在上述設(shè)備數(shù)據(jù)發(fā)生中斷時開始計時,當(dāng)數(shù)據(jù)中斷的時間達到預(yù)先設(shè)定的閾值時,就將上述設(shè)備判斷為已經(jīng)發(fā)生故障,將連接包括上述故障設(shè)備的站點的線路切換至連接新站點的線路。例如當(dāng)設(shè)備的數(shù)據(jù)中斷時間長達10秒鐘時,將連接包括上述故障設(shè)備的站點的線路切換至連接新站點的線路,以保證整個系統(tǒng)的正常運行。上述預(yù)先設(shè)定的閾值可以是數(shù)據(jù)一次中斷的時長,還可以是在一段時間內(nèi)所述設(shè)備數(shù)據(jù)中斷的次數(shù),例如當(dāng)設(shè)備的數(shù)據(jù)在60秒鐘內(nèi)中斷了5次時,同樣將上述設(shè)備判斷為已經(jīng)發(fā)生故障,將連接包括上述故障設(shè)備的站點的線路切換至連接新站點的線路。在實際情況中,還會遇見其他故障的情況,具體的判斷方法也不僅僅局限于上述三種,但是無論使用哪種判斷設(shè)備故障的方法,均不影響本發(fā)明的實現(xiàn)。
在通常情況下,一般是將上述三種方法結(jié)合使用,即當(dāng)存儲虛擬化網(wǎng)關(guān)集群106收到故障設(shè)備發(fā)送的信息,或者是當(dāng)數(shù)據(jù)中斷的時間達到預(yù)先設(shè)定的閾值時,又或者當(dāng)數(shù)據(jù)中斷的次數(shù)在一段時間內(nèi)達到預(yù)先設(shè)定的閾值時,發(fā)生上述三種情況的任意一種,都將連接包括故障設(shè)備的站點的線路切換至連接新站點的線路,以保證整個系統(tǒng)的正常運行。當(dāng)然也可以選擇上述三種方法中的一種,在本發(fā)明實施例中不做具體限定。
多個所述存儲設(shè)備107之間進行數(shù)據(jù)同步。
在本系統(tǒng)進行工作的時候,由于多個存儲設(shè)備107之間進行了數(shù)據(jù)同步,相當(dāng)于在本系統(tǒng)中,多個站點101之間進行了數(shù)據(jù)同步,即多個站點101之間所保存的數(shù)據(jù)是大致相同的,所以上述站點101可以是互為主備用的站點,在當(dāng)某一個站點中設(shè)備發(fā)生故障時,又或者是由于某種天災(zāi)人禍的原因,整個站點發(fā)生了故障,此時本發(fā)明實施例所提供的容災(zāi)系統(tǒng)可以將連接故障站點的線路切換至連接新的站點的線路,以保證整個系統(tǒng)的正常運行,保證本系統(tǒng)執(zhí)行工作的流暢性。
由于本發(fā)明實施例所提供的容災(zāi)系統(tǒng)具有多個存儲設(shè)備107,多個所述存儲設(shè)備在本系統(tǒng)中構(gòu)成了存儲網(wǎng)絡(luò),所述存儲網(wǎng)絡(luò)可以是存在于各個站點之中,以對本系統(tǒng)所產(chǎn)生的數(shù)據(jù)進行儲存。
在本發(fā)明實施例中,存儲設(shè)備107可以是磁盤陣列,也可是其他具有存儲功能的設(shè)備。在一般情況下,通常是選擇磁盤陣列作為容災(zāi)系統(tǒng)的存儲設(shè)備107,因為磁盤陣列可以將相同的數(shù)據(jù)存儲在多個硬盤的不同地方,通過上述磁盤陣列可以來做數(shù)據(jù)冗余,以保證數(shù)據(jù)的安全,增加了數(shù)據(jù)的容錯性;并且在輸入輸出操作可以以平衡的方式交疊,以此來提升磁盤陣列的性能。由于上述優(yōu)點,在通常情況下本發(fā)明實施例所提供的容災(zāi)系統(tǒng)時選擇磁盤陣列作為存儲設(shè)備107,當(dāng)然也可以選擇其它具有存儲功能的設(shè)備作為存儲設(shè)備107,在此不做具體的限定。
上述數(shù)據(jù)同步可以是通過存儲虛擬化網(wǎng)關(guān)集群106進行數(shù)據(jù)同步,也可以是通過其他設(shè)備,又或者是通過其他具有數(shù)據(jù)同步功能的模塊進行存儲設(shè)備之間的數(shù)據(jù)同步,在此不做具體限定。所述數(shù)據(jù)同步可以是通過同步的方式或者是通過異步的方式進行數(shù)據(jù)同步,無論是通過同步的方式或者是異步的方式進行數(shù)據(jù)同步,均能實現(xiàn)本發(fā)明實施例所提供的容災(zāi)系統(tǒng)所要解決的問題。
本發(fā)明實施例所提供的一種基于虛擬化網(wǎng)絡(luò)平臺的容災(zāi)系統(tǒng),具有多個站點101,每個站點均包括虛擬機集群102、存儲虛擬化網(wǎng)關(guān)105和存儲設(shè)備107,多個站點之間所存儲的數(shù)據(jù)大體相同,當(dāng)故障發(fā)生時可以及時的將連接故障站點的線路切換至連接其他站點的線路,以保證企業(yè)業(yè)務(wù)的連續(xù)性,從而避免故障給企業(yè)帶來的損失。
在具體的情況當(dāng)中,當(dāng)某一個具體的設(shè)備發(fā)生故障時,可以僅僅將連接故障設(shè)備的線路切換至連接其余設(shè)備的線路,以此保證整個系統(tǒng)的順利運行。具體情況將在下述實施例中做詳細描述。
請參考圖3,圖3為本發(fā)明實施例所提供的第二種容災(zāi)系統(tǒng)的結(jié)構(gòu)示意圖,本發(fā)明實施例所提供的系統(tǒng)與上一個發(fā)明實施例所提供的系統(tǒng)的區(qū)別在于,在本發(fā)明實施例所提供的系統(tǒng)中,當(dāng)某一個具體的設(shè)備發(fā)生故障時,不用將連接整體站點的線路進行切換,而是將連接具體故障設(shè)備的線路切換至連接其他相同設(shè)備的線路,以保證當(dāng)故障發(fā)生時,整個系統(tǒng)能夠正常順利的運行。
在本發(fā)明實施例中,所述虛擬化網(wǎng)關(guān)集群106具體為:
當(dāng)?shù)谝惶摂M機發(fā)生故障時,將連接所述第一虛擬機的線路切換至連接第二虛擬機的線路的設(shè)備。
上述第一虛擬機與第二虛擬機并不是具體某一個虛擬機的名稱,而是將發(fā)生故障的虛擬機統(tǒng)一稱作是第一虛擬機,將切換到的新的虛擬機統(tǒng)一稱作是第二虛擬機。當(dāng)切換到的新的虛擬機也是故障的虛擬機時,會將連接故障虛擬機的線路繼續(xù)切換至連接另一個新的虛擬機的線路,直到切換到的新的虛擬機為可用的虛擬機為止。此時故障的虛擬機依然被稱作是第一虛擬機,被切換到的新的虛擬機被稱作是第二虛擬機。
當(dāng)然在切換至第二虛擬機之前,可以先對被切換到的第二虛擬機進行評估,若第二虛擬機沒有發(fā)生故障,則將連接第一虛擬機的線路切換至連接第二虛擬機的線路;若第二虛擬機發(fā)生了故障,則繼續(xù)對下一個新的虛擬機進行評估,直到發(fā)現(xiàn)一個沒有故障的虛擬機之后,將所述沒有故障的虛擬機稱作是第二虛擬機,再將連接第一虛擬機的線路切換至連接第二虛擬機的線路。上述對新虛擬機的評估工作通常是由存儲虛擬化網(wǎng)關(guān)集群106進行評估或者是判斷的,當(dāng)然也可以是其它設(shè)備或者是其他模塊進行評估或者是判斷,無論是什么設(shè)備對虛擬機進行評估,均不會影響到本發(fā)明實施例的實現(xiàn)。
當(dāng)?shù)谝淮鎯υO(shè)備發(fā)生故障時,將連接所述第一存儲設(shè)備的線路切換至連接第二存儲設(shè)備的線路的設(shè)備。
上述第一存儲設(shè)備與第二存儲設(shè)備并不是具體某一個存儲設(shè)備的名稱,而是將發(fā)生故障的存儲設(shè)備統(tǒng)一稱作是第一存儲設(shè)備,將切換到的新的存儲設(shè)備統(tǒng)一稱作是第二存儲設(shè)備。
其余切換的步驟與上述第一虛擬機切換到第二虛擬機相類似,具體情形請參照上述關(guān)于切換虛擬機線路的描述,在此不做贅述。
當(dāng)?shù)谝淮鎯μ摂M化網(wǎng)關(guān)發(fā)生故障時,將連接所述第一存儲虛擬化網(wǎng)關(guān)的線路切換至連接第二存儲虛擬化網(wǎng)關(guān)的線路的設(shè)備。
上述第一存儲虛擬化網(wǎng)關(guān)與第二存儲虛擬化網(wǎng)關(guān)并不是具體某一個存儲虛擬化網(wǎng)關(guān)的名稱,而是將發(fā)生故障的存儲虛擬化網(wǎng)關(guān)統(tǒng)一稱作是第一存儲虛擬化網(wǎng)關(guān),將切換到的新的存儲虛擬化網(wǎng)關(guān)統(tǒng)一稱作是第二存儲虛擬化網(wǎng)關(guān)。
其余切換的步驟與上述第一虛擬機切換到第二虛擬機相類似,具體情形請參照上述關(guān)于切換虛擬機線路的描述,在此不做贅述。
當(dāng)故障發(fā)生時,存儲虛擬化網(wǎng)關(guān)集群可以將連接故障設(shè)備的線路切換至連接其余相同設(shè)備以保證整體系統(tǒng)的運行;當(dāng)故障修復(fù)之后,存儲虛擬化網(wǎng)關(guān)集群還可以將線路切換回原先的設(shè)備。
在本發(fā)明實施例中,所述虛擬化網(wǎng)關(guān)集群106還用于:
當(dāng)故障修復(fù)完成時,將切換至連接所述第二站點的線路切換至連接所述第一站點的線路。
當(dāng)故障修復(fù)完成時,可以由工作人員手動將連接第二站點的線路切換回連接第一站點的線路,也可以是由工作人員在修復(fù)完故障之后向虛擬化網(wǎng)關(guān)集群106發(fā)送修復(fù)已經(jīng)完成的信息,或者是發(fā)送將連接第二站點的線路切換會連接第一站點的線路的指令,之后在虛擬化網(wǎng)關(guān)集群106收到信息或者是指令之后,由虛擬化網(wǎng)關(guān)集群106將切換至連接所述第二站點的線路切換至連接所述第一站點的線路。
當(dāng)然,上述修復(fù)已經(jīng)完成的信息或者是發(fā)將連接第二站點的線路切換會連接第一站點的線路的指令可以是工作人員發(fā)送的,也可以是由被修復(fù)好的設(shè)備自動發(fā)送的,在此不做具體限定。
更進一步的,還可以是由存儲虛擬化網(wǎng)關(guān)集群106自動判斷出所述第一站點已經(jīng)被修復(fù)好,例如當(dāng)虛擬化網(wǎng)關(guān)集群106收到由第一站點中故障設(shè)備發(fā)送的數(shù)據(jù)之后,將切換至連接所述第二站點的線路切換至連接所述第一站點的線路。為了判斷出故障設(shè)備是否真的被完全修復(fù)好,還可以預(yù)先設(shè)定一個時間閾值,當(dāng)虛擬化網(wǎng)關(guān)集群106連續(xù)收到由第一站點中故障設(shè)備發(fā)送的數(shù)據(jù)的時間長度到達預(yù)先設(shè)定的閾值時,將切換至連接所述第二站點的線路切換至連接所述第一站點的線路,具體的情況例如:當(dāng)虛擬化網(wǎng)關(guān)集群106收到由第一站點中故障設(shè)備發(fā)送的數(shù)據(jù)時開始計時,當(dāng)連續(xù)收到由第一站點中故障設(shè)備發(fā)送的數(shù)據(jù)的時間長度到達10秒鐘時,虛擬化網(wǎng)關(guān)集群106將切換至連接所述第二站點的線路切換至連接所述第一站點的線路。除了設(shè)定時間閾值,還可以設(shè)定容量閾值,即第一站點中故障設(shè)備傳輸或下載的數(shù)據(jù)大小到達預(yù)先設(shè)定的容量閾值時,虛擬化網(wǎng)關(guān)集群106將切換至連接所述第二站點的線路切換至連接所述第一站點的線路。當(dāng)然,還可以設(shè)定其他的閾值,或者是通過其他方法將切換至連接所述第二站點的線路切換至連接所述第一站點的線路,在此均不作具體限定。
在本發(fā)明實施例中,若在發(fā)生故障時,是將連接整個故障站點的線路切換至連接新的站點的線路,在故障修復(fù)完成時,虛擬化網(wǎng)關(guān)集群106就將切換至連接所述第二站點的線路切換至連接所述第一站點的線路;若在發(fā)生故障時,是將連接具體故障設(shè)備的線路切換至連接其余相同設(shè)備的線路,在故障修復(fù)時,相應(yīng)地虛擬化網(wǎng)關(guān)集群106就將切換至連接所述其余相同設(shè)備的線路切換至連接所述原先故障設(shè)備的線路。
具體的講,若在第一虛擬機的故障修復(fù)完成時,存儲虛擬化網(wǎng)關(guān)集群106具體用于將連接所述第二虛擬機的線路切換至連接所述第一虛擬機的線路;若在第一存儲設(shè)備的故障修復(fù)完成時,存儲虛擬化網(wǎng)關(guān)集群106具體用于將連接所述第二存儲設(shè)備的線路切換至連接所述第一存儲設(shè)備的線路;若在第一存儲虛擬化網(wǎng)關(guān)的故障修復(fù)完成時,存儲虛擬化網(wǎng)關(guān)集群106具體用于將連接所述第二存儲虛擬化網(wǎng)關(guān)的線路切換至連接所述第一存儲虛擬化網(wǎng)關(guān)的線路。
本發(fā)明實施例所提供的第二種基于虛擬化平臺的容災(zāi)系統(tǒng),當(dāng)具體的某一個設(shè)備發(fā)生故障時,可以將連接具體故障設(shè)備的線路切換至連接其他相同設(shè)備的線路,而不用將連接整體站點的線路進行切換,避免了整體系統(tǒng)中資源的浪費。當(dāng)故障設(shè)備修復(fù)完成時,更進一步的本發(fā)明實施例中虛擬化網(wǎng)關(guān)集群106可以自動將切換至連接所述新設(shè)備的線路切換至連接所述原先故障設(shè)備的線路,以保證整體系統(tǒng)的有序工作,避免了整體系統(tǒng)中資源的浪費。
由于在本發(fā)明所提供的容災(zāi)系統(tǒng)中,大體上是通過虛擬化網(wǎng)關(guān)集群106判斷各個設(shè)備是否發(fā)生故障。但是由于是通過集群進行判斷,可能會出現(xiàn)腦裂的情況,即多個站點互相判斷成對方發(fā)生故障,從而將整個系統(tǒng)分裂成若干個小系統(tǒng)獨立工作。當(dāng)出現(xiàn)上述情況時,就需要仲裁節(jié)點發(fā)揮作用。有關(guān)于仲裁節(jié)點的具體情況將在下述實施例中做詳細描述。
請參考圖4,圖4為本發(fā)明實施例所提供的第三種容災(zāi)系統(tǒng)的結(jié)構(gòu)示意圖,本發(fā)明實施例所提供的系統(tǒng)與之前實施例所提供的系統(tǒng)相比,在多個存儲虛擬化網(wǎng)關(guān)105之間連接有仲裁節(jié)點401,即在虛擬化網(wǎng)關(guān)集群106中加入了仲裁節(jié)點401,用于防止腦裂情況的發(fā)生。
由于在本發(fā)明所提供的容災(zāi)系統(tǒng)中,大體上是通過虛擬化網(wǎng)關(guān)集群106判斷各個設(shè)備是否發(fā)生故障。但是由于是通過集群進行判斷,可能會出現(xiàn)下述情況:多個站點互相判斷成對方發(fā)生故障,從而將整個系統(tǒng)分裂成若干個子系統(tǒng)獨立工作。
上述情況即系統(tǒng)發(fā)生了腦裂。在系統(tǒng)發(fā)生腦裂之后,不同的子系統(tǒng)之間可能會發(fā)生爭搶共享資源,同時讀寫共享儲存等問題,上述問題會對服務(wù)器和存儲數(shù)據(jù)造成極大的損壞。
本發(fā)明所提供的容災(zāi)系統(tǒng),在多個存儲虛擬化網(wǎng)關(guān)105之間連接有仲裁節(jié)點401,即在虛擬化網(wǎng)關(guān)集群106中加入了仲裁節(jié)點401,用于防止腦裂情況的發(fā)生。所述仲裁節(jié)點401的仲裁方式有很多種,例如當(dāng)出現(xiàn)腦裂情況時,通過帶有奇數(shù)性質(zhì)的仲裁節(jié)點401投票的方式判斷出哪一個存儲虛擬化網(wǎng)關(guān)是正確的,此時后續(xù)動作可以是通過上述判斷出的正確的存儲虛擬化網(wǎng)關(guān)繼續(xù)執(zhí)行,以此來防止腦裂的情況發(fā)生;當(dāng)出現(xiàn)腦裂情況時,仲裁節(jié)點401還可以重新獲取故障信息并判斷出哪一個存儲虛擬化網(wǎng)關(guān)是正確的,此時后續(xù)動作可以是通過仲裁節(jié)點401繼續(xù)執(zhí)行,以此來防止腦裂的情況發(fā)生。
除了上述仲裁節(jié)點的工作流程之外,還可以有其他工作方式的仲裁節(jié)點401。無論使用哪種仲裁節(jié)點,只要可以防止腦裂的情況發(fā)生均可。當(dāng)然在本發(fā)明中,也可以不使用仲裁節(jié)點401,例如在具體應(yīng)用過程中,當(dāng)出現(xiàn)存儲虛擬化網(wǎng)關(guān)105故障時,虛擬化網(wǎng)關(guān)集群106選取奇數(shù)個存儲虛擬化網(wǎng)關(guān)105以投票的方式判斷出所述存儲虛擬化網(wǎng)關(guān)是否發(fā)生了故障。此時由于不會產(chǎn)生腦裂情況,也可以不在存儲虛擬化網(wǎng)關(guān)集群中加入仲裁節(jié)點401。所以,具體的系統(tǒng)結(jié)構(gòu)視具體的情況而定,在此不做具體限定。
本發(fā)明實施例所提供的第三種基于虛擬化平臺的容災(zāi)系統(tǒng),當(dāng)出現(xiàn)腦裂情況時,可以通過仲裁節(jié)點401進行仲裁,以此來避免腦裂情況的發(fā)生,避免腦裂對于系統(tǒng)服務(wù)器以及存儲數(shù)據(jù)的破壞。
請參考圖5以及圖6,圖5為本發(fā)明實施例所提供的一種容災(zāi)方法的流程圖;圖6為圖5中步驟102的具體實施方法的流程圖。
本發(fā)明實施例所提供的容災(zāi)方法應(yīng)用于在上述實施例中所描述的一種基于虛擬化平臺的容災(zāi)系統(tǒng),所述系統(tǒng)在上述實施例中以作詳細描述,在此不再贅述,具體情況參見上述實施例。
本發(fā)明實施例所提供的容災(zāi)方法,具體包括:
步驟101:當(dāng)?shù)谝徽军c中所述設(shè)備發(fā)生故障時,所述存儲虛擬化網(wǎng)關(guān)集群獲取所述第一站點中設(shè)備發(fā)生故障的信息。
在本步驟中,獲取故障信息的方法有很多種,例如,當(dāng)設(shè)備發(fā)生故障時,可以發(fā)出故障信息,在虛擬化網(wǎng)關(guān)集群收到由故障設(shè)備發(fā)送的故障信息時,將連接故障站點的線路切換至連接其他站點的線路,以保證整個系統(tǒng)的運行;又或者是由于設(shè)備發(fā)生的故障比較嚴重,無法向虛擬化網(wǎng)關(guān)集群發(fā)送數(shù)據(jù)時,虛擬化網(wǎng)關(guān)集群在上述設(shè)備數(shù)據(jù)發(fā)生中斷時開始計時,當(dāng)數(shù)據(jù)中斷的時間達到預(yù)先設(shè)定的閾值時,就將上述設(shè)備判斷為已經(jīng)發(fā)生故障,將連接包括上述故障設(shè)備的站點的線路切換至連接新站點的線路。例如當(dāng)設(shè)備的數(shù)據(jù)中斷時間長達10秒鐘時,將連接包括上述故障設(shè)備的站點的線路切換至連接新站點的線路,以保證整個系統(tǒng)的正常運行。上述預(yù)先設(shè)定的閾值可以是數(shù)據(jù)一次中斷的時長,還可以是在一段時間內(nèi)所述設(shè)備數(shù)據(jù)中斷的次數(shù),例如當(dāng)設(shè)備的數(shù)據(jù)在60秒鐘內(nèi)中斷了5次時,同樣將上述設(shè)備判斷為已經(jīng)發(fā)生故障,將連接包括上述故障設(shè)備的站點的線路切換至連接新站點的線路。在實際情況中,還會遇見其他故障的情況,具體的判斷方法也不僅僅局限于上述三種,但是無論使用哪種判斷設(shè)備故障的方法,均不影響本發(fā)明的實現(xiàn)。
在通常情況下,一般是將上述三種方法結(jié)合使用,即當(dāng)存儲虛擬化網(wǎng)關(guān)集群收到故障設(shè)備發(fā)送的信息,或者是當(dāng)數(shù)據(jù)中斷的時間達到預(yù)先設(shè)定的閾值時,又或者當(dāng)數(shù)據(jù)中斷的次數(shù)在一段時間內(nèi)達到預(yù)先設(shè)定的閾值時,發(fā)生上述三種情況的任意一種,都將連接包括故障設(shè)備的站點的線路切換至連接新站點的線路,以保證整個系統(tǒng)的正常運行。當(dāng)然也可以選擇上述三種方法中的一種,在本發(fā)明實施例中不做具體限定。
步驟102:所述存儲虛擬化網(wǎng)關(guān)集群將連接所述第一站點的線路切換到連接第二站點的線路。
在本步驟中,關(guān)于第一站點和第二站點的描述,以及第一站點向第二站點切換的步驟已在上述實施例中做詳細描述,在此不再展開做詳細說明。
在本步驟中,當(dāng)?shù)谝徽军c中某一個設(shè)備發(fā)生故障時,是將連接整個站點的線路切換至連接第二站點的線路。更具體的講,可以當(dāng)站點中某一個設(shè)備發(fā)生故障時,僅將連接故障設(shè)備的線路切換至連接其余相同故障設(shè)備的線路,以此來節(jié)約系統(tǒng)的資源。具體步驟如下所述:
步驟201:當(dāng)?shù)谝惶摂M機發(fā)生故障時,所述存儲虛擬化網(wǎng)關(guān)集群將連接所述第一虛擬機的線路切換到連接第二虛擬機的線路。
在步驟以及下述步驟202和步驟203中,關(guān)于第一虛擬機,第二虛擬機,第一存儲設(shè)備,第二存儲設(shè)備,第一存儲虛擬化網(wǎng)關(guān),第二存儲虛擬化網(wǎng)關(guān),均已在上述實施例中做詳細說明,在此不再展開進行贅述。
步驟202:當(dāng)?shù)谝淮鎯υO(shè)備發(fā)生故障時,所述存儲虛擬化網(wǎng)關(guān)集群將連接所述第一存儲設(shè)備的線路切換到連接第二存儲設(shè)備的線路。
步驟203:當(dāng)?shù)谝淮鎯μ摂M化網(wǎng)關(guān)發(fā)生故障時,所述存儲虛擬化網(wǎng)關(guān)集群將連接所述第一存儲虛擬化網(wǎng)關(guān)的線路切換到連接第二存儲虛擬化網(wǎng)關(guān)的線路。
上述步驟201至步驟203所執(zhí)行的步驟,是當(dāng)站點中某一個設(shè)備發(fā)生故障時,僅將連接故障設(shè)備的線路切換至連接其余相同故障設(shè)備的線路,以此來節(jié)約系統(tǒng)的資源。
更進一步的講,當(dāng)發(fā)生故障的設(shè)備被修復(fù)完成時,虛擬化網(wǎng)關(guān)集群可以將切換至連接所述第二站點的線路切換至連接所述第一站點的線路。
通過上述切換步驟,當(dāng)故障設(shè)備修復(fù)完成時,虛擬化網(wǎng)關(guān)集群可以自動將切換至連接所述新設(shè)備的線路切換至連接所述原先故障設(shè)備的線路,以保證整體系統(tǒng)的有序工作,避免了整體系統(tǒng)中資源的浪費。具體的修復(fù)步驟已在上述實施例中做詳細描述,詳細情況請參照上述實施例,在此不再贅述。
本發(fā)明實施例所提供的一種基于虛擬化平臺的容災(zāi)方法,應(yīng)用于上述實施例中所描述的容災(zāi)系統(tǒng),本發(fā)明實施例所提供的容災(zāi)方法,可以在系統(tǒng)出現(xiàn)故障時,及時的將連接故障設(shè)備的線路及時的切換至連接其余相同設(shè)備的線路,以此來保證企業(yè)任務(wù)的連續(xù)性,從而避免故障給企業(yè)帶來的損失。在系統(tǒng)修復(fù)工作完成之后,可以進一步的自動將連接新設(shè)備的線路切換至連接原故障設(shè)備的線路,以保證整體系統(tǒng)的有序工作,避免了整體系統(tǒng)中資源的浪費。
以上所述,以上實施例僅用以說明本申請的技術(shù)方案,而非對其限制;盡管參照前述實施例對本申請進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本申請各實施例技術(shù)方案的精神和范圍。