TWI669605B - 虛擬機器群組的容錯方法及其容錯系統 - Google Patents

虛擬機器群組的容錯方法及其容錯系統 Download PDF

Info

Publication number
TWI669605B
TWI669605B TW107122501A TW107122501A TWI669605B TW I669605 B TWI669605 B TW I669605B TW 107122501 A TW107122501 A TW 107122501A TW 107122501 A TW107122501 A TW 107122501A TW I669605 B TWI669605 B TW I669605B
Authority
TW
Taiwan
Prior art keywords
fault
tolerant
virtual machine
primary
backup
Prior art date
Application number
TW107122501A
Other languages
English (en)
Other versions
TW202001556A (zh
Inventor
孫逸峰
闕志克
曹伯瑞
吳軒衡
卓傳育
Original Assignee
財團法人工業技術研究院
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 財團法人工業技術研究院 filed Critical 財團法人工業技術研究院
Priority to TW107122501A priority Critical patent/TWI669605B/zh
Application granted granted Critical
Publication of TWI669605B publication Critical patent/TWI669605B/zh
Publication of TW202001556A publication Critical patent/TW202001556A/zh

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

一種虛擬機器群組的容錯方法及其容錯系統,此方法包括 由至少一主要主機的虛擬機器監視器分別與至少一備份主機的虛擬機器監視器建立多個主要虛擬機器的容錯備份連線,以進行主要虛擬機器的容錯備份,其中所述多個主要虛擬機器包括在容錯群組中。當同步裝置判定容錯群組內有進行所述主要虛擬機器中的至少一第一虛擬機器的容錯轉移時,由同步裝置通知進行容錯群組內的所述主要虛擬機器中的其它主要虛擬機器的容錯轉移、或由同步裝置通知回復容錯群組內的所述其它主要虛擬機器至各自最後的容錯備份狀態並且繼續進行所述其它主要虛擬機器的容錯備份。

Description

虛擬機器群組的容錯方法及其容錯系統
本揭露是有關於一種虛擬機器群組的容錯技術。
於虛擬機器容錯系統中,核心議題之一為備份的週期,也就是多久備份目前系統的狀態一次,因為其可能影響備份的成效與系統的效能損耗。然而,目前的虛擬機器容錯系統上,皆較難控制工作需求的延遲,也就是工作需求的回應時間,原因在於一般是藉由比較系統差異變化後再將系統差異傳輸至備份端的備份方式,而每次產生的備份資料量是不定的,因此備份的時間較難控制,進而導致工作需求的延遲時間亦較難控制。
具體來說,圖1A為根據虛擬機器系統在時間軸上所繪示的備份過程示意圖。請參見圖1A,虛擬機器(Virtual Machine)VM的備份可分為四個階段:運行RUN(running)階段、快照SP(snapshot)階段、傳輸TS(transfer)階段以及輸出釋放FO(flush out)階段。假設在啟動容錯系統後,備份週期將於時間點t1開始。當虛擬機器VM於時間點t1’收到來自客戶端C1的工作負載需求Req並且產生輸出結果Out時,輸出結果Out會先儲存起來直到輸出釋放階段FO才被輸出。由於虛擬化容錯一般係將虛擬機器VM的狀態備份完成後,才能將輸出結果Out釋出。在採用虛擬化容錯的情況下,一個需求的回應時間會從T0再加上一個額外的延遲時間TFTL
此外,在多層式架構的網路環境中,每經過一個伺服器節點,就會產生一個因虛擬化容錯而產生的額外延遲,而一個需求的回應時間會因此增加,且經過的伺服器節點越多則增加地越多。以圖1B根據三層式網路架構所繪示的示意圖為例,因網頁虛擬機器121、邏輯虛擬機器122、資料庫虛擬機器123的叢集之間有資料流存在,如果不考慮此些資料流而讓虛擬機器各自在不同時間進行容錯備份,則會造成客戶端C2的需求的回應時間過長,而在此三層網路架構的叢集下可能會例如增加五倍的額外容錯備份延遲時間+FTL。如此一來,在例如是即時交易系統或是遊戲伺服器等具有延遲敏感的工作負載需求下,倘若沒有使用具備延遲控制的容錯系統,則較易會因為時間延遲過長而導致斷線或是交易失敗。
本揭露提供一種虛擬機器群組的容錯方法及其容錯系統。
在本揭露的一範例實施例中,一種虛擬機器群組的容錯 方法適用於一容錯系統。此方法包括由至少一主要主機的虛擬機器監視器分別與至少一備份主機的虛擬機器監視器建立多個主要虛擬機器的容錯備份連線,以進行所述主要虛擬機器的容錯備份,其中所述多個主要虛擬機器包括在一容錯群組中。當同步裝置判定容錯群組內有進行所述主要虛擬機器中的至少一第一虛擬機器的容錯轉移時,同步裝置通知進行容錯群組內所述主要虛擬機器中的其它主要虛擬機器的容錯轉移、或同步裝置通知回復該容錯群組內的所述其它主要虛擬機器至各自最後的容錯備份狀態並繼續進行所述其它主要虛擬機器的容錯備份,其中容錯系統包括所述主要主機、所述備份主機以及同步裝置,且同步裝置連線於所述主要主機以及所述備份主機。其中所述主要主機上運行所述多個主要虛擬機器,所述備份主機上運行多個備份虛擬機器,容錯群組內所述主要虛擬機器進行容錯備份時分別對應所述備份虛擬機器。
在本揭露的一範例實施例中,一種容錯系統包括至少一主要主機、至少一備份主機以及一同步裝置。至少一主要主機用以運行多個主要虛擬機器,其中所述主要虛擬機器包括在一容錯群組中;至少一備份主機用以運行多個備份虛擬機器,容錯群組內所述主要虛擬機器進行容錯備份時分別對應所述備份虛擬機器;同步裝置連線於所述主要主機以及所述備份主機,其中當同步裝置判定容錯群組內有進行所述主要虛擬機器中的至少一第一虛擬機器的容錯轉移時,同步裝置通知進行容錯群組內所述主要虛擬機器中的其它主要虛擬機器的容錯轉移、或同步裝置通知回復容錯 群組內的所述其它主要虛擬機器至各自最後的容錯備份狀態置並繼續進行該容錯群組內所述其它主要虛擬機器的容錯備份,其中所述主要主機的虛擬機器監視器分別與所述備份主機的虛擬機器監視器建立多個主要虛擬機器的容錯備份連線,以進行所述主要虛擬機器的容錯備份。
為讓本揭露的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
VM‧‧‧虛擬機器
C1、C2、C3‧‧‧客戶端
RUN‧‧‧運行
SP‧‧‧快照
TS‧‧‧傳輸
FO‧‧‧輸出釋放
t1、t2、t3、t4、t1’‧‧‧時間點
Req‧‧‧工作負載需求
Out‧‧‧輸出結果
T0‧‧‧回應時間
TFTL‧‧‧延遲時間
100‧‧‧虛擬機器系統
121、131、511、611‧‧‧網頁虛擬機器
122、132、512、612‧‧‧邏輯虛擬機器
123、141、521、621‧‧‧資料庫虛擬機器
+FTL‧‧‧容錯備份延遲時間
130、140、210、220、510、520、610、620、650‧‧‧主要主機
150、240、510’、640‧‧‧備份主機
540‧‧‧備份主機(新的主要主機)
135、145、155、215、225、245‧‧‧虛擬機器監視器
515、525、545、615、625、645‧‧‧虛擬機器監視器
131’、511’、611’‧‧‧網頁備份虛擬機器
132’、512’、612’‧‧‧邏輯備份虛擬機器
141’、521’、621’‧‧‧資料庫備份虛擬機器
200‧‧‧容錯系統
211、212、221‧‧‧主要虛擬機器
230、530、630‧‧‧同步裝置
211’、212’、221’‧‧‧備份虛擬機器
S302~S310、S400~S404‧‧‧步驟
S51、S52、S61、S62、S63‧‧‧狀態
圖1A為根據虛擬機器系統在時間軸上所繪示的備份過程示意圖。
圖1B為根據三層式網路架構所繪示的示意圖。
圖1C為根據一般具備容錯功能的虛擬機器系統所繪示的示意圖。
圖2為根據本揭露一範例實施例所繪示的虛擬機器群組的容錯系統的示意圖。
圖3為根據本揭露一範例實施例所繪示的進行同步快照的流程圖。
圖4為根據本揭露一範例實施例所繪示的虛擬機器群組的容錯方法的示意圖。
圖5為根據本揭露一範例實施例所繪示的虛擬機器群組的容 錯機制的狀態示意圖。
圖6為根據本揭露另一範例實施例所繪示的虛擬機器群組的容錯機制的狀態示意圖。
本揭露的部份範例實施例接下來將會配合附圖來詳細描述,以下的描述所引用的元件符號,當不同附圖出現相同的元件符號將視為相同或相似的元件。這些範例實施例只是本發明的一部份,並未揭示所有本揭露的可實施方式。更確切的說,這些範例實施例僅為本揭露的專利申請範圍中的方法以及系統的範例。
圖1C為根據一般的具備容錯功能的虛擬機器系統所繪示的示意圖。一般而言,一系統中的多個主要虛擬機器,可以是都運行在同一個主要主機上,也可以是運行在不同的主要主機上。同樣的,而各主要虛擬機器所對應的多個備份虛擬機器,可以是都運行在同一個備份主機上,也可以是運行在不同的備份主機上。請參見圖1C中所舉的例子,此虛擬機器系統100包括主要主機130、主要主機140以及備份主機150,主要主機130中包括虛擬機器監視器135(Hypervisor或稱VMM(VM Monitor)),主要主機140中包括虛擬機器監視器145,而備份主機150中包括虛擬機器監視器155。主要主機130上運行多個主要虛擬機器,譬如說於此例中,運行網頁虛擬機器131以及邏輯虛擬機器132,主要主機140上運行資料庫虛擬機器141,而備份主機150上則運行多個主要虛擬機 器對應的多個備份虛擬機器,於此例中,運行網頁備份虛擬機器131’、邏輯備份虛擬機器132’以及資料庫備份虛擬機器141’。
主要虛擬機器130、140正常執行時,啟用容錯功能,備份主機150的虛擬機器監視器155在備份主機150開啟備份虛擬機器,備份虛擬機器會停留在等待接收訊號的狀態。此時主要主機130與140上的虛擬機器監視器135與145將各自與備份主機150上的虛擬機器監視器155建立連線,並將各自主要虛擬機器的系統狀態傳給備份主機150上的虛擬機器監視器155,由備份主機150上的虛擬機器監視器155將備份虛擬機器的狀態更新成跟主要虛擬機器狀態一致後,即完成容錯連線的建立。
主要主機130與140上的虛擬機器監視器135與145各自紀錄譬如時間T0-T1間各主要虛擬機器的狀態變化後,將各自系統差異傳遞給備份主機150上的虛擬機器監視器155,以更新各主要虛擬機器對應的備份虛擬機器的狀態,進行容錯備份。而備份虛擬機器則是一直保持在系統暫停的狀態,等待接收訊號。然而,此種虛擬機器系統中並未考慮到軟體間的資料流而讓主要主機130以及主要主機140在不同時間分別進行各自主要虛擬機器的容錯備份,則會對客戶端C3的需求因經過多層傳遞而造成資料回應時間過長。
而依據本揭露一實施例,將客戶端的多個主要虛擬機器包括成為至少一容錯群組,並且可以將容錯群組中的主要虛擬機器間的保留輸出限制解除,以讓同一容錯群組的成員可在群組中 彼此傳遞資料而解決回應時間過長的問題。而於一實施例中,一同步裝置可以將一容錯群組內所有主要虛擬機器的網路卡號記錄下來,而當網路輸出的目標是對應於此容錯群組內成員的網路卡號時,即可不用等到輸出釋放階段就能將資料傳遞出去。因此本揭露一實施例在容錯系統內導入一個備份同步裝置(backup synchronizer)來監控及/或同步容錯系統中多個主要虛擬機器的容錯備份狀態,以及監控進行同一群組的主要虛擬機器的同步快照、容錯備份及/或容錯轉移。該同步裝置傳送所述網路卡號至該容錯群組內各所述虛擬機器,當所述主要主機的虛擬機器監視器判定所述輸出結果的傳輸對象對應於所述網路卡號之一時,控制該輸出結果於該輸出釋放階段前輸出。
圖2為根據本揭露一範例實施例所繪示的虛擬機器群組的容錯系統的示意圖。首先以圖2先介紹依據本揭露技術的容錯系統一實施例中的所有構件以及配置關係,各可能實施範例的詳細功能將配合後續範例實施例的流程圖及/或方塊圖一併說明。
請參見圖2的一範例實施例,為方便說明,依據本揭露技術的虛擬機器群組的容錯系統200包括主要主機210、主要主機220、同步裝置230以及備份主機240,其中同步裝置230連線於主要主機210、主要主機220以及備份主機240。主要主機210中包括虛擬機器監視器215,主要主機220中包括虛擬機器監視器225,而備份主機240中包括虛擬機器監視器245。虛擬機器監視器215、225除了分別與虛擬機器監視器245連線外,而虛擬機器 監視器215、225以及245亦分別與同步裝置230連線。
主要主機210、主要主機220以及備份主機240為可成為伺服器電腦的各種實體電子設備,其具有處理器、資料儲存裝置以及通訊介面。本領域具通常知識者應明瞭,處理器用以控制各個主機的運作,其可以例如是中央處理單元,或是其他可程式化之一般用途或特殊用途的微處理器、數位訊號處理器、可程式化控制器、特殊應用積體電路、可程式化邏輯裝置、應用處理器或其他類似裝置或積體電路等等,本揭露不在此設限。資料儲存裝置用以儲存例如暫存資料、緩衝資料、永久資料以及儲存用來執行各個主機的功能的編譯程式碼等等,其可以是任意型式的非暫態性、揮發性、非揮發性的記憶體,本揭露不在此設限。通訊介面用以接收以及傳送資料至同步裝置230,其可以是支援各種無線以及有線通訊的傳輸介面,本揭露不在此設限。在此實施例中,主要主機210上運行主要虛擬機器211、212,而主要主機220上運行主要虛擬機器221。備份主機240上運行分別對應於主要虛擬機器211、212、221的備份虛擬機器211’、212’、221’。於一實施例中,若主要虛擬機器211、主要虛擬機器212與主要虛擬主機221因為執行的程式彼此之間有資料流的存在,則可將他們包括在一容錯群組中。舉例來說,主要虛擬機器211、212、221可以分別是網頁虛擬機器、邏輯虛擬機器、資料庫機器或是其他虛擬機器,本揭露不在此設限。
同步裝置230為具有處理器、資料儲存裝置以及通訊介面的各種實體電子設備,其可透過通訊介面連線至主要主機210、 220以及備份主機240,並且同步裝置230發出通知來監視及/或控制所有主機上的虛擬機器的狀態及/或運作,而同步裝置230可以通知主要主機210、220以及備份主機240上各自所運行的虛擬機器監視器來進行。
在此必須說明的是,此實施例中虛擬機器群組的容錯系統200的架構僅是用來做為範例說明之用,而並非用以限制本揭露。在其它的範例實施例中,容錯系統中的主要主機的數量亦可以是一個或三個以上,而各個主要主機可以是運行一個或是多個主要虛擬機器。此外,備份主機的數量亦可以是兩個以上。
為了進行同一群組中所有的主要虛擬機器容錯備份及/或容錯轉移時能具同步性,同步裝置230將會管理所有主要虛擬機器的容錯備份狀態,並且同步裝置230控制建立同一群組中的主要虛擬機器容錯連線以及進行容錯備份。同步裝置230將會通知虛擬機器監視器215、225以及245進行容錯連線,於此不再贅述。而依據本揭露技術的一實施例,同步裝置230控制此容錯群組內各所述主要虛擬機器211、212、221之間的輸出結果於輸出釋放階段前就可輸出,然後可開始建立群組成員與對應的容錯備份端各自的容錯備份連線,以將目前主要虛擬機器211、212、221的系統狀態等複製到備份端對應的備份虛擬機器211’、212’、221’。同步裝置230在確定所有群組成員完成建立容錯備份連線後,即可通知開始進行同步快照,待第一次的同步快照完成後,即可讓主要虛擬機器211、212、221執行,直到下一次同步快照。
圖3為根據本揭露一範例實施例所繪示的同步快照的流程圖,而圖3實施例的步驟可以適用於圖2的虛擬機器群組的容錯系統200。在以下的說明當中將假設主要虛擬機器211、212、221為同一個容錯群組的群組成員,而同步裝置230將會監控此容錯群組內所有成員的狀態。
請同時參見圖2以及圖3,於一實施例,當經由計時器觸發開始進行容錯群組裡的任一主要虛擬機器的快照時(步驟S302),同步裝置230將會通知容錯群組中此任一虛擬機器以外的一或多個其它主要虛擬機器的虛擬機器監視器開始進行快照(步驟S304)。同步裝置230將會等待容錯群組中各主要虛擬機器完成快照(步驟S306),並且判斷是否容錯群組中所有主要虛擬機器完成快照(步驟S308)。若否,則同步裝置230將繼續等待容錯群組中各主要虛擬機器完成快照。若是,則同步裝置230將會通知主要主機的虛擬機器監視器繼續進行容錯群組中各主要虛擬機器的下一個容錯備份週期(步驟S310),並且同時收集髒頁(dirty page),如此便可以確保容錯群組中群組成員皆可以同步容錯備份。
當同步裝置230偵測到一主要主機發生故障,進行主要虛擬機器容錯轉移時,即通知虛擬機器監視器245啟動對應的備份虛擬機器,對應的備份虛擬機器就會由目前的備份狀態啟動,且被進行容錯轉移的主要虛擬機器將會自容錯群組中被同步裝置230移除。如果要再建立新的容錯連線的話,同步裝置230將通知新的備份主機的虛擬機器監視器開啟新的備份虛擬機器,原備份 主機遂成為新主要主機且會與新備份主機將建立連線,待新主要虛擬機器(原備份虛擬機器)與新備份虛擬機器狀態同步後,即可完成新的容錯備份連線。
接著,圖4為根據本揭露一範例實施例所繪示的虛擬機器群組的容錯方法的流程圖,而圖4實施例的流程亦可適用於圖2的虛擬機器群組的容錯系統200。
請同時參見圖2以及圖4實施例,同樣地在假設主要虛擬機器211、212、221為同一個容錯群組的群組成員下,主要主機210、220的虛擬機器監視器215、225將分別與備份主機240的虛擬機器監視器245建立主要虛擬機器211、212、221的容錯備份連線,以進行虛擬機器的容錯備份(步驟S400)。同步裝置230將會監控容錯群組中所有群組成員的狀態,以判斷容錯群組中是否有進行任何主要虛擬機器的容錯轉移(步驟S402)。舉例來說,當有任何主要主機因硬體故障、軟體錯誤或者是電源失敗而導致上面所運行的一或多個主要虛擬機器發生故障時,將會進行主要虛擬機器的容錯轉移。在一範例實施例中,同步裝置230可以判斷容錯群組中是否有任何主要虛擬機器未於時限內回應同步快照的通知,進而據以判定容錯群組內是否有進行任何主要虛擬機器的容錯轉移。在其它範例實施例中,同步裝置230亦可以透過其它活動訊號來偵測所有主要主機210、220是否仍有某一服務,從而判定其所運行的該服務所對應的主要虛擬機器是否因發生故障而被進行了容錯轉移,本揭露不在此設限。
當同步裝置230判定有進行至少一主要虛擬機器的容錯轉移時(在此將進行容錯轉移的機器稱為「第一虛擬機器」),同步裝置230將會通知虛擬機器監視器進行容錯群組中其它主要虛擬機器的容錯轉移、或通知回復容錯群組中其它主要虛擬機器至各自最後的容錯備份狀態並繼續進行其它主要虛擬機器的容錯備份(步驟S404)。原因在於第一虛擬機器在進行容錯轉移後會先處於其最後的容錯備份狀態,因此其它主要虛擬機器需要與第一虛擬機器的狀態同步。在其它主要虛擬機器回復至各自最後的容錯備份狀態後,以下將分敘說明可能後續步驟的實施例。
圖5為根據本揭露一範例實施例所繪示的虛擬機器群組的容錯機制的狀態示意圖。
請參見圖5實施例,在狀態S51中,主要主機510上運行網頁虛擬機器511以及邏輯虛擬機器512,而主要主機520上運行資料庫虛擬機器521。備份主機540上運行網頁備份虛擬機器511’、邏輯備份虛擬機器512’以及資料庫備份虛擬機器521’。同步裝置530連線於主要主機510、主要主機520以及備份主機540。主要主機510中包括虛擬機器監視器515,主要主機520中包括虛擬機器監視器525,而備份主機540中包括虛擬機器監視器545。虛擬機器監視器515、525除分別與虛擬機器監視器545連線外,而虛擬機器監視器515、525及545亦分別與同步裝置530連線。主要主機510、主要主機520、同步裝置530、備份主機540以及虛擬機器監視器515、525及545的相關說明,請參見圖2的主要 主機210、主要主機220、同步裝置230、備份主機240以及虛擬機器監視器215、225及245,於此不再贅述。舉例來說,若主要機器520發生錯誤而導致資料庫虛擬機器521發生錯誤時,虛擬機器監視器525將會進行資料庫虛擬機器521的容錯轉移。於一實施例中,同步裝置530將可判斷資料庫虛擬機器521未於時限內回應同步快照的通知,進而啟動虛擬機器群組的容錯機制,也就是進入到狀態S52。
在狀態S52中,容錯群組內的所有成員將會進行容錯轉移,以避免重建後的系統狀態不一致,爾後再重新建立虛擬機器群組的容錯備份連線,以進行容錯備份。也就是說,網頁虛擬機器511、邏輯虛擬機器512以及資料庫虛擬機器521將會容錯轉移至備份主機540,而備份主機540將會成為新的主要主機。
圖5實施例的容錯機制已可以減少在多層式網路架構下因容錯機制而產生的額外延遲疊加。然而,當容錯系統的容錯群組中其中一個群組成員發生故障而被進行容錯轉移時,將進行容錯群組內的所有成員的容錯轉移以避免重建後的系統狀態不一致,也因此將花費許多時間以及網路頻寬。在另一範例實施例中,為了更進一步地減少系統重建容錯群組的時間,可以僅讓發生錯誤的主要虛擬機器被進行容錯轉移。
圖6為根據本揭露另一範例實施例所繪示的虛擬機器群組的容錯機制的狀態示意圖。
請參見圖6,在狀態S61中,主要主機610上運行網頁虛 擬機器611以及邏輯虛擬機器612,而主要主機620上運行資料庫虛擬機器621。備份主機640上運行網頁備份虛擬機器611’、邏輯備份虛擬機器612’以及資料庫備份虛擬機器621’。同步裝置630連線於主要主機610、主要主機620以及備份主機640。主要主機610中包括虛擬機器監視器615,主要主機620中包括虛擬機器監視器625,而備份主機640中包括虛擬機器監視器645。虛擬機器監視器615、625除分別與虛擬機器監視器645連線外,而虛擬機器監視器615、625以及645亦分別與同步裝置630連線。主要主機610、主要主機620、同步裝置630、備份主機640以及虛擬機器監視器615、625及645的相關說明,請參見圖2的主要主機210、主要主機220、同步裝置230、備份主機240以及虛擬機器監視器215、225及245,於此不再贅述。在此,當主要機器620發生錯誤而導致資料庫虛擬機器621發生錯誤時,僅有資料庫虛擬機器621將會被進行容錯轉移。此時,資料庫虛擬機器621與備份主機640之間不具有容錯備份連線,而同步裝置630會將資料庫虛擬機器621自容錯群組中移除。
假使在進行資料庫虛擬機器621的容錯轉移時,網頁虛擬機器611以及邏輯虛擬機器612回到各自最後的備份狀態並且暫停進行容錯備份,直到將資料庫虛擬機器621建立好新的容錯備份連線並且加入至容錯群組後再一起進行容錯群組的容錯備份,則網頁虛擬機器611以及邏輯虛擬機器612將處於服務暫停的狀態,其中服務暫停時間將會是重建資料庫虛擬機器621的容錯備 份連線的時間。於一實施例中,在狀態S62中,資料庫虛擬主機621將會容錯轉移至備份主機640,而網頁虛擬機器611以及邏輯虛擬機器612則會回到各自最後的備份狀態並且繼續進行各自的容錯備份。此時,將會進入到狀態S63。
在狀態S63中,資料庫虛擬機器621將會即時轉移(live migration)到另一台主要主機650。當資料庫虛擬機器621建立完容錯備份連結(即,完整地複製完整狀態至備份主機640而成為資料庫備份虛擬機器621’),同步裝置630將會暫停進行網頁虛擬機器611以及邏輯虛擬機器612的容錯備份,並且讓將資料庫虛擬機器621重新加入到容錯群組。如此一來,便可在發生容錯轉移時,只轉移發生問題的資料庫虛擬機器621,並且僅需要複製資料庫虛擬機器621的系統狀態即可,因此系統暫停時間只有網頁虛擬機器611以及邏輯虛擬機器612回到各自最後一個備份狀態後再繼續容錯備份的時間加上資料庫虛擬機器621加入容錯群組的時間,以減少重建容錯群組的時間。
綜上所述,本揭露所提出的虛擬機器群組的容錯方法及其容錯系統,其可透過同步裝置來監控容錯群組內的所有主要虛擬機器,而在進行任何主要虛擬機器的容錯轉移時,讓容錯群組中其它主要虛擬機器亦進行容錯轉移、或讓容錯群組內的其它主要虛擬機器將會先回復至各自的最後的容錯備份狀態,以繼續進行容錯備份,從而在具有容錯機制的虛擬機器架構中控制工作負載延遲時間。
雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露,任何所屬技術領域中具有通常知識者,在不脫離本揭露的精神和範圍內,當可作些許的更動與潤飾,故本揭露的保護範圍當視後附的申請專利範圍所界定者為準。

Claims (16)

  1. 一種虛擬機器群組的容錯方法,適用於一容錯系統,該方法包括:由至少一主要主機的虛擬機器監視器分別與至少一備份主機的虛擬機器監視器建立多個主要虛擬機器的容錯備份連線,以進行所述主要虛擬機器的容錯備份,其中所述主要虛擬機器包括在一容錯群組中;以及當同步裝置判定該容錯群組內有進行所述主要虛擬機器中的至少一第一虛擬機器的容錯轉移時,由該同步裝置通知進行該容錯群組內所述主要虛擬機器中的其它主要虛擬機器的容錯轉移、或由該同步裝置通知回復該容錯群組內的所述其它主要虛擬機器至各自最後的容錯備份狀態並繼續進行所述其它主要虛擬機器的所述容錯備份,其中該容錯系統包括所述主要主機、所述備份主機以及該同步裝置,且該同步裝置連線於所述主要主機以及所述備份主機,其中所述主要主機上運行所述多個主要虛擬機器,所述備份主機上運行多個備份虛擬機器,該容錯群組內所述主要虛擬機器進行所述容錯備份時分別對應所述備份虛擬機器。
  2. 如申請專利範圍第1項所述的容錯方法,該方法更包括:由該同步裝置控制該容錯群組內各所述主要虛擬機器之間的輸出結果於輸出釋放階段前輸出。
  3. 如申請專利範圍第2項所述的容錯方法,該方法更包括:由該同步裝置記錄該容錯群組內各所述主要虛擬機器的網路卡號;由該同步裝置傳送所述網路卡號給該容錯群組內各所述主要虛擬機器;以及當所述主要主機的該虛擬機器監視器判定所述輸出結果的傳輸對象對應於所述網路卡號之一時,由該同步裝置控制該輸出結果於該輸出釋放階段前輸出。
  4. 如申請專利範圍第2項所述的容錯方法,該方法更包括:當開始進行該容錯群組內任一主要虛擬機器的快照時,由該同步裝置通知所述主要主機的該虛擬機器監視器開始進行該容錯群組內該任一主要虛擬機器以外的主要虛擬機器的快照;以及當該容錯群組內各所述主要虛擬機器都已完成快照時,由該同步裝置通知所述主要主機的該虛擬機器監視器繼續進行各所述主要虛擬機器的下一容錯備份週期。
  5. 如申請專利範圍第4項所述的容錯方法,該方法更包括:當該容錯群組內有任何所述主要虛擬機器未於一時限內回應該快照的通知時,由該同步裝置據以判定該容錯群組內是否有進行任何所述主要虛擬機器的容錯轉移。
  6. 如申請專利範圍第1項所述的容錯方法,該方法更包括:由該同步裝置自該容錯群組移除所述第一虛擬機器。
  7. 如申請專利範圍第6項所述的容錯方法,其中在完成所述第一虛擬機器的該容錯轉移後,該方法更包括:由該同步裝置建立所述第一虛擬機器的容錯備份連線;以及由該同步裝置加入所述第一虛擬機器至該容錯群組。
  8. 如申請專利範圍第7項所述的容錯方法,該方法更包括:由該同步裝置通知所述主要主機的該虛擬機器監視器暫停進行該容錯群組內所述其它主要虛擬機器的所述容錯備份;以及當所述第一虛擬機器加入至該容錯群組後,由該同步裝置通知所述主要主機的該虛擬機器監視器啟動所述第一虛擬機器以及該容錯群組內所述其它主要虛擬機器的所述容錯備份。
  9. 一種容錯系統,包括:至少一主要主機,用以運行多個主要虛擬機器,其中所述主要虛擬機器包括在一容錯群組中;至少一備份主機,用以運行多個備份虛擬機器,該容錯群組內所述主要虛擬機器進行容錯備份時分別對應所述備份虛擬機器;以及一同步裝置,連線於所述主要主機以及所述備份主機,其中當該同步裝置判定該容錯群組內有進行所述主要虛擬機器中的至少一第一虛擬機器的容錯轉移時,該同步裝置通知進行該容錯群組內所述主要虛擬機器中的其它主要虛擬機器的容錯轉移、或 該同步裝置通知回復該容錯群組內的所述其它主要虛擬機器至各自最後的容錯備份狀態並繼續進行該容錯群組內所述其它主要虛擬機器的所述容錯備份,其中所述主要主機的虛擬機器監視器分別與所述備份主機的虛擬機器監視器建立多個主要虛擬機器的容錯備份連線,以進行所述主要虛擬機器的所述容錯備份。
  10. 如申請專利範圍第9項所述的容錯系統,其中該同步裝置控制該容錯群組內各所述主要虛擬機器之間的輸出結果於一輸出釋放階段前輸出。
  11. 如申請專利範圍第10項所述的容錯系統,其中:該同步裝置更記錄該容錯群組內各所述主要虛擬機器的網路卡號並且傳送所述網路卡號給該容錯群組內各所述主要虛擬機器;以及當所述主要主機的該虛擬機器監視器判定該輸出結果的傳輸對象對應於所述網路卡號之一時,該同步裝置控制該輸出結果於該輸出釋放階段前輸出。
  12. 如申請專利範圍第10項所述的容錯系統,其中:當開始進行該容錯群組內所述主要虛擬機器中的任一主要虛擬機器的快照時,該同步裝置通知所述主要主機的該虛擬機器監視器開始進行該容錯群組內該任一主要虛擬機器以外的主要虛擬機器的快照;以及 當該容錯群組內的所述主要虛擬機器都已完成快照時,該同步裝置通知所述主要主機的該虛擬機器監視器繼續進行該容錯群組內各所述主要虛擬機器的下一容錯備份週期。
  13. 如申請專利範圍第12項所述的容錯系統,其中當有任何該容錯群組內的所述主要虛擬機器未於一時限內回應該快照的通知時,該同步裝置據以判定該容錯群組內是否有進行任何所述主要虛擬機器的容錯轉移。
  14. 如申請專利範圍第9項所述的容錯系統,其中該同步裝置自該容錯群組移除所述第一虛擬機器。
  15. 如申請專利範圍第14項所述的容錯系統,其中在完成所述第一虛擬機器的該容錯轉移後,該同步裝置建立所述第一虛擬機器的容錯備份連線,並且該同步裝置加入所述第一虛擬機器至該容錯群組。
  16. 如申請專利範圍第15項所述的容錯系統,其中:該同步裝置通知所述主要主機的該虛擬機器監視器暫停進行該容錯群組內的所述其它主要虛擬機器的所述容錯備份;以及在所述第一虛擬機器加入至該容錯群組後,該同步裝置通知所述主要主機的該虛擬機器監視器啟動所述第一虛擬機器以及所述其它主要虛擬機器的所述容錯備份。
TW107122501A 2018-06-29 2018-06-29 虛擬機器群組的容錯方法及其容錯系統 TWI669605B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW107122501A TWI669605B (zh) 2018-06-29 2018-06-29 虛擬機器群組的容錯方法及其容錯系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107122501A TWI669605B (zh) 2018-06-29 2018-06-29 虛擬機器群組的容錯方法及其容錯系統

Publications (2)

Publication Number Publication Date
TWI669605B true TWI669605B (zh) 2019-08-21
TW202001556A TW202001556A (zh) 2020-01-01

Family

ID=68316722

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107122501A TWI669605B (zh) 2018-06-29 2018-06-29 虛擬機器群組的容錯方法及其容錯系統

Country Status (1)

Country Link
TW (1) TWI669605B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI724670B (zh) * 2019-12-04 2021-04-11 財團法人工業技術研究院 容錯系統及其控制方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI763331B (zh) * 2021-02-25 2022-05-01 威聯通科技股份有限公司 虛擬機器的備用方法與備用系統

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521063A (zh) * 2011-11-30 2012-06-27 广东电子工业研究院有限公司 一种适用于虚拟机迁移和容错的共享存储方法
CN105607962A (zh) * 2015-10-22 2016-05-25 华为技术有限公司 一种虚拟机备份的方法和装置
US9645811B2 (en) * 2013-04-01 2017-05-09 Oc Acquisition Llc Fault tolerance for a distributed computing system
CN106970861A (zh) * 2017-03-30 2017-07-21 山东超越数控电子有限公司 一种虚拟机容错方法和系统
TWI592796B (zh) * 2016-09-19 2017-07-21 Univ Nat Central 運用於雲端服務之虛擬機之封包察覺式容錯方法及系統、電腦可讀取之記錄媒體及電腦程式產品
US9952932B2 (en) * 2015-11-02 2018-04-24 Chicago Mercantile Exchange Inc. Clustered fault tolerance systems and methods using load-based failover

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521063A (zh) * 2011-11-30 2012-06-27 广东电子工业研究院有限公司 一种适用于虚拟机迁移和容错的共享存储方法
US9645811B2 (en) * 2013-04-01 2017-05-09 Oc Acquisition Llc Fault tolerance for a distributed computing system
CN105607962A (zh) * 2015-10-22 2016-05-25 华为技术有限公司 一种虚拟机备份的方法和装置
US9952932B2 (en) * 2015-11-02 2018-04-24 Chicago Mercantile Exchange Inc. Clustered fault tolerance systems and methods using load-based failover
TWI592796B (zh) * 2016-09-19 2017-07-21 Univ Nat Central 運用於雲端服務之虛擬機之封包察覺式容錯方法及系統、電腦可讀取之記錄媒體及電腦程式產品
CN106970861A (zh) * 2017-03-30 2017-07-21 山东超越数控电子有限公司 一种虚拟机容错方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI724670B (zh) * 2019-12-04 2021-04-11 財團法人工業技術研究院 容錯系統及其控制方法

Also Published As

Publication number Publication date
TW202001556A (zh) 2020-01-01

Similar Documents

Publication Publication Date Title
US11194679B2 (en) Method and apparatus for redundancy in active-active cluster system
WO2016070375A1 (zh) 一种分布式存储复制系统和方法
US8176364B1 (en) Method and system for providing high availability to computer applications
US9916216B2 (en) Selectively coupling a PCI host bridge to multiple PCI communication paths
US20150019491A1 (en) Replication of Data Between Mirrored Data Sites
CN108200124B (zh) 一种高可用应用程序架构及构建方法
US20140244578A1 (en) Highly available main memory database system, operating method and uses thereof
WO2012071920A1 (zh) 分布式内存数据库的实现方法、系统、令牌控制器及内存数据库
CN113010496B (zh) 一种数据迁移方法、装置、设备和存储介质
JP6431197B2 (ja) スナップショット処理方法および関係付けられたデバイス
WO2016018262A1 (en) Storage transactions
CN115794499B (zh) 一种用于分布式块存储集群间双活复制数据的方法和系统
TWI669605B (zh) 虛擬機器群組的容錯方法及其容錯系統
JP2007042001A (ja) 計算機システム、同期化処理方法、およびプログラム
CN105824571A (zh) 一种实现数据无缝迁移的方法及装置
US20200387575A1 (en) Migrating virtual machines using asynchronous transfer and synchronous acceleration
WO2015196692A1 (zh) 一种云计算系统以及云计算系统的处理方法和装置
CN106326030B (zh) 用于存储系统中的软切换的方法和装置
CN112187523A (zh) 一种网络高可用实现方法及超融合系统
CN111813606A (zh) 一种双节点虚拟机容错的方法、系统、设备及介质
JP2004046507A (ja) 情報処理装置
US10909002B2 (en) Fault tolerance method and system for virtual machine group
US9805049B1 (en) Migrating applications over asynchronous distances using semi-synchronous acceleration
JP2004272318A (ja) 系切り替えシステムおよびその処理方法並びにその処理プログラム
JPH08202627A (ja) 二重化された共用メモリの等価性回復処理方法および装置