TWI635722B - 應用網路功能虛擬化叢集技術之備援系統及其方法 - Google Patents
應用網路功能虛擬化叢集技術之備援系統及其方法 Download PDFInfo
- Publication number
- TWI635722B TWI635722B TW107100062A TW107100062A TWI635722B TW I635722 B TWI635722 B TW I635722B TW 107100062 A TW107100062 A TW 107100062A TW 107100062 A TW107100062 A TW 107100062A TW I635722 B TWI635722 B TW I635722B
- Authority
- TW
- Taiwan
- Prior art keywords
- backup
- software
- network function
- standby
- function virtualization
- Prior art date
Links
Landscapes
- Hardware Redundancy (AREA)
Abstract
本發明為一種應用網路功能虛擬化叢集技術之備援系統及其方法,係應用於高可用性網路功能虛擬化軟體與軟體服務鏈之叢集架構,以取得網路功能虛擬化軟體備援個數、分配與排程,於備援系統啟動之前,藉由已知環境參數與用戶所信賴之系統可信度,分別考慮虛擬機(軟體層)與實體機(硬體層)之損毀率,透過伺服器代理程序計算該叢集架構所需之備援個數,包含冷備援個數與暖備援個數,進而根據實體機本身之資源多寡分配備援之位置,同時決定啟動備援之排程順序。
Description
本發明係有關網路服務設備之備援機制,詳而言之,係關於一種應用網路功能虛擬化(Network Function Virtualization)叢集技術之備援系統及其方法。
目前在資訊設備叢集中提供高可用性的方法是在已知環境,如主動式或使用中之機器設備或備援數量等條件下,設定固定數量之備援或是利用非自動判斷方式設定備援位置,進而達到高可用性之系統架構。例如先前專利技術中華民國專利號第I476581或I529624號都有提及類似的概念,然上述兩篇皆是透過人為設定硬體備援位置的方式,且未同時考慮軟體層或硬體層級的備援。
先前傳統的技術主要是以人工的方式自動設置備援數量與其分配位置,並手動設置系統架構之備援之資料路徑,然此方式不僅繁瑣且缺乏考量所有影響備援分配的所有因素。
因此,若能找出一種網路服務設備之備援機制,特別
是新世代5G網路通訊之網路功能虛擬化軟體,針對所有叢集架構之備援進行計算與分配,透過考量軟體層與硬體層之損毀情況,以達到實體機資源使用率最佳化,此實為目前本技術領域人員急欲追求之目標。
本發明之目的係針對高可用性(High Availability)系統之叢集(Cluster)架構提出應用於網路功能虛擬化及其服務鏈之備援數量計算、分配設置與啟用備援順序之排程,透過考慮虛擬機與實體機之損毀率情況下,符合用戶對其服務之可信度(Reliability)。
本發明另一目的係節省實體機之可用資源,透過考慮用戶對軟體使用之取向,例如CPU取向(CPU Bound)、隨機存取記憶體取向(RAM Bound)和磁碟取向(Disk Bound),CPU取向係指軟體應用服務偏向使用CPU進行大量運算,隨機存取記憶體取向係指軟體應用服務偏向快速存取與提取資料之處理,磁碟取向係指軟體應用服務偏向大量存取磁碟資料,故於配置冷備援時考慮資源占有率,進而推出有效利用實體機資源之備援分配演算法。
為了達成上述或其他目的,本發明提出一種應用網路功能虛擬化叢集技術之備援系統,係執行於伺服器中,用於依據所輸入之環境參數及軟硬體時間損毀曲線以執行軟體或軟體服務鏈之備援設定,該備援系統包括:網路功能虛擬化軟體備援個數計算單元,係依據該環境參數及該軟硬體時間損毀曲線,決定該軟體中可提供之暖備援(Warm
Backup)與冷備援(Cold Backup)的數量,其中,該冷備援係於該暖備援損毀時用以取代該暖備援;網路功能虛擬化軟體備援分配單元,係利用循環機制分配該軟體中可提供之該暖備援與該冷備援之實體機位置;網路功能虛擬化軟體備援排程規劃單元,係透過實體機資源排序,依據實體機資源最多者為排序依據,以產生用於目前實體機之可用資源排序的該軟體之備援啟動排序;網路功能虛擬化軟體服務鏈個數計算單元,係依據軟體服務鏈損毀率、該環境參數及該軟硬體時間損毀曲線,決定該軟體服務鏈中可提供之暖備援與冷備援的數量;網路功能虛擬化軟體服務鏈備援分配單元,係利用該循環機制分配該軟體服務鏈中可提供之該暖備援與該冷備援之實體機位置;以及網路功能虛擬化軟體服務鏈備援排程規劃單元,係透過該實體機資源排序,依據該實體機資源最多者為排序依據,以產生用於目前實體機之可用資源排序的該軟體服務鏈之備援啟動排序,其中,該備援系統係利用前述單元計算出該軟體或該軟體服務鏈內使用中資料機器所需要之該暖備援與該冷備援的備援數量、分配位置以及啟用順序。
於一實施例中,該網路功能虛擬化軟體備援個數計算單元或該網路功能虛擬化軟體服務鏈個數計算單元,係利用取代搜尋演算法計算出可被該冷備援取代之該暖備援之數量,進而判斷該冷備援之數量是否符合使用者所期望之系統可信度。
於另一實施例中,該網路功能虛擬化軟體備援分配單
元或該網路功能虛擬化軟體服務鏈備援分配單元中該暖備援之分配,更包括利用資源排程程序對可用資源排序,以將該實體機資源排序記錄於指標陣列,且於每次分配後重新排序剩餘實體機之資源剩餘量的順位。
於又一實施例中,該網路功能虛擬化軟體備援分配單元或該網路功能虛擬化軟體服務鏈備援分配單元中該冷備援之分配,更包括利用資源排程程序對可用資源排序,以將該實體機資源排序記錄於指標陣列,且利用權重數值表示該冷備援之預留扣除資源部分,藉此避免不同軟體服務之間的資源競爭。
本發明復提出一種應用網路功能虛擬化叢集技術之備援方法,其包括:依據使用者輸入之環境參數、系統可信度、使用者取向及軟體服務鏈定義,計算出軟體和軟體服務鏈中暖備援之數量;利用取代搜尋演算法,計算出該軟體和該軟體服務鏈中可被冷備援取代之該暖備援的數量,藉此確定該冷備援與該暖備援之數量;根據指標陣列排序目前實體機之可用資源,以依據可用資源之序位分配該暖備援於該目前實體機之其中一者的位址;於完成該暖備援之分配後,再次重新排序剩餘實體機之可用資源,依據該使用者取向調整分配權重值,俾依據可用資源之序位與該分配權重值分配該冷備援於該剩餘實體機之其中一者的位址;以及於完成該冷備援之分配後,排程備援啟動之順序。
於一實施例中,計算出該暖備援之數量更包括依據軟硬體對時間損毀率之曲線取得目前軟體與硬體之損毀率的
數值,俾透過暖備援計算程序以計算出該軟體和該軟體服務鏈中可支援之暖備援總數。
於又一實施例中,確定該冷備援與該暖備援之數量更包括依據該軟硬體對時間損毀率之曲線、該環境參數、該系統可信度及該使用者取向,以判斷是否符合用戶之可信度要求。
於另一實施例中,分配該暖備援之步驟更包括利用指標於該指標陣列之位置,判斷該分配是否為分配該暖備援之第一輪,俾令各實體機皆被配置至少一暖備援。
於再一實施例中,分配該冷備援之步驟更包括於該冷備援分配到資源最多之實體機時,利用該分配權重值作為該冷備援分配之預留扣除資源,藉此避免不同軟體服務之間的資源競爭。
另外,排程備援啟動之順序更包括透過該指標陣列排序目前剩餘實體機之資源,以令剩餘資源最多之實體機中暖備援作為優先啟用順位,且於所有暖備援分配完畢後採用相同方式,令剩餘資源最多之實體機中冷備援作為優先啟用順位。
由上可知,先前技術主要是以人工的方式自動設置備援數量與其分配位置,並手動設置系統架構之備援之資料路徑。本發明可提供針對可高用性網路虛擬化軟體之叢集架構其備援計算、分配與排程之演算法設計,與其他習用技術相互比較時,具備數個優點,包括將備援分類成暖備援與冷備援,達到節省實體機之資源使用量,次之,利用
實體機可用資源量判斷,藉此達到簡易分配備援之位置,另外,本發明亦利用權重變量以避免軟體服務之間造成資源競爭。
1‧‧‧應用網路功能虛擬化叢集技術之備援系統
10‧‧‧網路功能虛擬化軟體備援個數計算單元
20‧‧‧網路功能虛擬化軟體備援分配單元
30‧‧‧網路功能虛擬化軟體備援排程規劃單元
40‧‧‧網路功能虛擬化軟體服務鏈個數計算單元
50‧‧‧網路功能虛擬化軟體服務鏈備援分配單元
60‧‧‧網路功能虛擬化軟體服務鏈備援排程規劃單元
100‧‧‧實體機
200‧‧‧虛擬機
210‧‧‧冷備援
220‧‧‧暖備援
300‧‧‧軟體服務鏈
310‧‧‧軟體
S21~S25‧‧‧步驟
3001~3010‧‧‧流程
4001~4006‧‧‧流程
5001~5007‧‧‧流程
6001~6011‧‧‧流程
7001~7006‧‧‧流程
第1圖為本發明之應用網路功能虛擬化叢集技術之備援系統的系統架構圖;第2圖為本發明之應用網路功能虛擬化叢集技術之備援方法的步驟圖;第3圖為本發明有關備援個數計算、分配與排程的流程圖;第4圖為本發明啟用備援運作的流程圖;第5圖為本發明計算冷備援和暖備援數量之流程圖的流程圖;第6圖為本發明分配暖備援的流程圖;第7圖為本發明分配冷備援的流程圖;以及第8圖為本發明所述之浴缸曲線的示意圖。
以下藉由特定的具體實施形態說明本發明之技術內容,熟悉此技藝之人士可由本說明書所揭示之內容輕易地瞭解本發明之優點與功效。然本發明亦可藉由其他不同的具體實施形態加以施行或應用。
請參照第1圖,其為本發明之應用網路功能虛擬化叢集技術之備援系統的系統架構圖。如圖所示,本發明之應用網路功能虛擬化叢集技術之備援系統1可執行於伺服器
中,用於依據所輸入之環境參數及軟硬體時間損毀曲線以執行軟體或軟體服務鏈之備援設定。
於用戶啟用其軟體服務或軟體服務鏈(Service Chain)之前,根據用戶所提供之實體機100環境參數與軟體所需之虛擬機200規格,如CPU個數、記憶體數量、磁碟容量等,依照用戶所期望之系統服務可信度與軟體應用取向,計算出符合整體要求之冷備援210和暖備援220之數量,並給予冷備援210和暖備援220對應之實體機100資源位址,而後完成軟體服務之啟動備援排程。
如第1圖所示,實體機100上可能會存在數個虛擬機200,這些虛擬機200可能是未安裝軟體的暖備援220,或是已安裝軟體成為網路功能虛擬化軟體310,而數個網路功能虛擬化軟體310可以組成一個網路功能虛擬化軟體服務鏈300。至於冷備援210是在損毀發生時才會開機備援其損毀之軟體服務於實體機100。
應用網路功能虛擬化叢集技術之備援系統1包括網路功能虛擬化軟體備援個數計算單元10、網路功能虛擬化軟體備援分配單元20、網路功能虛擬化軟體備援排程規劃單元30、網路功能虛擬化軟體服務鏈個數計算單元40、網路功能虛擬化軟體服務鏈備援分配單元50以及網路功能虛擬化軟體服務鏈備援排程規劃單元60。
網路功能虛擬化軟體備援個數計算單元10可依據所輸入之環境參數及軟硬體時間損毀曲線決定軟體310中可提供之暖備援220與冷備援210的數量,其中,冷備援210
可於暖備援220損毀時用以取代暖備援220,網路功能虛擬化軟體備援分配單元20可利用循環機制分配軟體(網路功能虛擬化軟體)310中可提供之暖備援220與冷備援210之實體機位置,網路功能虛擬化軟體備援排程規劃單元30可透過實體機資源排序,依據實體機100資源最多者為排序依據,以產生用於目前實體機100之可用資源排序的軟體310之備援啟動排序。
網路功能虛擬化軟體服務鏈個數計算單元40可依據軟體服務鏈損毀率、環境參數及軟硬體時間損毀曲線,決定軟體服務鏈中可提供之暖備援220與冷備援210的數量,網路功能虛擬化軟體服務鏈備援分配單元50利用該循環機制分配軟體服務鏈300中可提供之暖備援220與冷備援210之實體機位置,網路功能虛擬化軟體服務鏈備援排程規劃單元60可透過實體機資源排序,依據實體機資源最多者為排序依據,以產生用於目前實體機100之可用資源排序的軟體服務鏈300之備援啟動排序,其中,備援系統1利用前述單元計算出軟體310或軟體服務鏈300內使用中資料機器所需要之暖備援220與冷備援210的備援數量、分配位置以及啟用順序。
請參照第2圖,其為本發明之應用網路功能虛擬化叢集技術之備援方法的步驟圖。如圖所示,於步驟S21中,係依據使用者輸入之環境參數、系統可信度、使用者取向及軟體服務鏈定義,計算出軟體和軟體服務鏈中暖備援之數量。於本步驟中,計算出該暖備援之數量更包括依據軟
硬體對時間損毀率之曲線取得目前軟體與硬體之損毀率的數值,俾透過暖備援計算程序以計算出該軟體和該軟體服務鏈中可支援之暖備援總數。
於步驟S22中,係利用取代搜尋演算法,計算出該軟體和該軟體服務鏈中可被冷備援取代之該暖備援的數量,藉此確定該冷備援與該暖備援之數量。本步驟中,確定該冷備援與該暖備援之數量更包括依據該軟硬體對時間損毀率之曲線、該環境參數、該系統可信度及該使用者取向,以判斷是否符合用戶之可信度要求。
於步驟S23中,係根據指標陣列排序目前實體機之可用資源,以依據可用資源之序位分配該暖備援於該目前實體機之其中一者的位址。具體來說,分配該暖備援之步驟更包括利用指標於該指標陣列之位置,判斷該分配是否為分配該暖備援之第一輪,俾令各實體機皆被配置至少一暖備援。
於步驟S24中,係於完成該暖備援之分配後,再次重新排序剩餘實體機之可用資源,依據該使用者取向調整分配權重值,俾依據可用資源之序位與該分配權重值分配該冷備援於該剩餘實體機之其中一者的位址。於本步驟中,分配該冷備援之步驟更包括於該冷備援分配到資源最多之實體機時,利用該分配權重值作為該冷備援分配之預留扣除資源,藉此避免不同軟體服務之間的資源競爭。
於步驟S25中,係於完成該冷備援之分配後,排程備援啟動之順序。本步驟所述之排程備援啟動之順序更包括
透過該指標陣列排序目前剩餘實體機之資源,以令剩餘資源最多之實體機中暖備援作為優先啟用順位,且於所有暖備援分配完畢後採用相同方式,令剩餘資源最多之實體機中冷備援作為優先啟用順位。
由上可知,本發明所述之網路功能虛擬化軟體備援包含冷備援及暖備援,暖備援表示該備援已開機於叢集架構之實體機內,但未執行該軟體服務之程式,而冷備援表示並未存在於叢集架構之實體機內,待損毀發生時才會開機備援其損毀之軟體服務。
使用者需先輸入包括實體機環境參數、網路虛擬化之虛擬機規格、服務之應用取向(如CPU取向、隨機存取記憶體取向、磁碟取向等)、服務所需可信度等,然後利用本發明所述之暖備援個數計算方式計算出暖備援個數,再藉由冷備援個數計算方式求得冷備援個數,當完成冷、暖備援個數計算後,接著,會執行冷、暖備援之實體機位置配置之程序,利用排序法挑揀出用戶所選取向之資源最盛實體機,藉此完成暖備援和冷備援之分配。另外,為了有效利用剩餘實體機資源,本發明提出透過權重數值(delta),以表示冷備援之預留扣除資源的部分。
權重數值其設計原理在於叢集系統架構中可存在多個網路功能虛擬化之服務軟體,而軟體之間無法得知彼此設定與訊息,為了避免軟體之間其服務皆為實體機或虛擬機損毀,同時排程序列中選取同一台實體機而產生資源競爭,此狀態會使實體機資源耗盡,導致未得到資源之軟體
服務進入死結(Deadlock),因此藉由於分配冷備援時,扣除預留資源,如此避免其他服務軟體進入無資源使用之狀態。
本發明還考慮高可用性網路虛擬化軟體服務鏈之叢集架構,篩選用戶所定義之軟體服務鏈規格,考慮整體軟體服務鏈之實體機與虛擬機損毀機率,利用相同的備援數量計算與分配之演算法達到軟體服務鏈之高可用性叢集架構。
請參照第3圖,其為本發明有關備援個數計算、分配與排程的流程圖。如圖所示,請一併參考第1圖,於流程3001中,用戶提供相關環境參數與軟體服務之配置,例如存在 Y 台實體機100,每一台實體機100之損毀率均為,在第 j 台之實體機100上,存在α j 顆CPU、擁有β j GB記憶體,總磁碟容量為γ j GB,以及軟體服務之配備要求,假設每一台虛擬機200之損毀率均為,系統架構存在 W 個軟體服務,其第 i 個叢集軟體服務中有Z i 個服務軟體需要運作,其需求為p i 顆CPU、q i GB記憶體與r i GB磁碟容量,再輸入可信度P r 與提供軟體服務之使用資源取向等,上述資料可被輸入至系統中。
於流程3002中,判斷用戶是否須在該叢集系統架構中運行網路功能虛擬化軟體服務鏈300,若用戶欲啟動網路功能虛擬化軟體服務鏈300,則進入流程3003,即根據流程3001的資料重新計算網路功能虛擬化軟體服務鏈300之損毀率,流程3004進而計算出該網路功能虛擬化軟體服
務鏈300所需冷備援210和暖備援220的數量,其公式如下述(式一)和(式二)所示。
(式一)和(式二)分別代表該網路功能虛擬化軟體服務鏈300至少一台服務之實體機100或是虛擬機200無法啟動,即是將整個網路功能虛擬化軟體服務鏈300視為一個網路功能虛擬化軟體310。
在第i個軟體服務,會計算bci個冷備援210個數和bwi個暖備援220個數,備援數總合為X,如下述(式三)所示。
(式三)表示在整個叢集服務軟體中總備援數與自身運作之虛擬機200無法提供服務,而且叢集架構中的硬體設備也沒有辦法提供備援服務,所以是無法符合用戶所期望之系統架構可信度。
於流程3005中,分配網路功能虛擬化軟體服務鏈300之冷備援210和暖備援220對應至實體機100位置,以有效利用實體機100之資源,接著,於流程3006中,排程冷備援210和暖備援220之啟用順序。
如果用戶是使用單一軟體服務叢集,即網路功能虛擬化軟體310,則無須重新定任何環境參數,係直接進入流程3007,即冷備援210和暖備援220數量之計算,然後於
流程3008中,分配冷備援210和暖備援220至對應實體機100位置,於流程3009中,完成冷備援210和暖備援220之啟用順序,待冷備援210和暖備援220個數計算、分配與排程之初始行為完備後,最後,流程3010即叢集網路功能虛擬化軟體310或網路功能虛擬化軟體服務鏈300開始運作。
請參照第4圖,其為本發明啟用備援運作的流程圖。如圖所示,請一併參考第1圖,主要說明指叢集架構中軟體服務發生虛擬機200或實體機100損毀,其備援啟動流程。於流程4001,叢集系統持續運作中,於流程4002,監控系統判斷目前時間點是否發生損毀,若有軟體服務發生損毀,則前進流程4003,即將該軟體服務進入備援狀態,於流程4004,進入備援狀態後根據初始化所完成的備援啟動排程,查詢其備援屬性與其備援位置,接著,於流程4005,在指定實體機100啟動該軟體服務之備援。當完成備援之後,流程4006即表示進入下一個時間進程,於流程4007,依其備援總數產生的變化與按照浴缸曲線(如第8圖所示)時間推演出實體機100耗毀,重新計算備援狀態,最後,再回歸於流程4001叢集架構之穩定狀態。
另外,若於流程4002判斷目前時間點未發生任何異常,則進入流程4006,即下一個時間進程,接著於流程4007,根據浴缸曲線時間推演的實體機100耗損調整備援狀態。
請參照第5圖,其為本發明計算冷備援和暖備援數量之流程圖的流程圖。如圖所示,請一併參考第1圖,流程
5001在用戶期望的可信度下以及流程5002在不考慮計算冷備援210數量的狀況下,將整個系統架構資源都用來計算暖備援220的數量,其理由為本發明考量系統架構之可信度與相鄰兩次平均損毀時間(Mean-Time-Between-Failure,MTBF)內,備援可開始取代原服務之平均修復時間(Mean-Time-To-Repair,MTTR)有關,其公式如下述(式四)所示。
由於冷備援210之開機時間需歸納於MTTR之中,因此對於使用冷備援210而言,其系統計算之可信度會降低,即表示若皆使用暖備援220,較容易達到用戶所期望之系統可信度,但為了有效利用實體機100資源,系統架構會偏好使用冷備援210來因應備援機制,以確保實體機100資源不會被不需開機之暖備援220所占有。
接著,將備援虛擬機200其損毀率均為下,分化成冷備援210虛擬機200損毀率與暖備援220虛擬機200損毀率,流程5002根據用戶所期望之系統可信度與前述式三求得軟體服務 i 之暫時暖備援數bw i ,而後流程5003利用線性取代演算法或其他搜尋取代演算法,來確認現有的暖備援220可以被多少個冷備援210所取代,流程5004判斷是否整個系統架構是否皆被取代為冷備援210,若暖備援220皆被冷備援210所取代,則進入流程5007,停止搜尋取代之程序,若存在一個暖備援220沒有被冷備援210
所取代,則進入流程5005,將冷備援210取代暖備援220,流程5006進而判斷是否符合用戶所期望之服務系統可信度,直至目前冷備援210個數無法達到用戶之要求,完成冷備援210取代暖備援220程序後,則進入流程5007,停止搜尋取代之程序,確認系統服務 i 需要bc i 個冷備援210數量與bw i 個暖備援220數量。
請參照第6圖,其為本發明分配暖備援的流程圖。如圖所示,請一併參考第1圖,其設計演算法概念在於避免備援被指派到同一台資源性能甚好之實體機100,因而於流程6001,在分配暖備援220之前先將用戶所開啟服務虛擬機200之資源扣除,接著流程6002,排序整理可用實體機100之資源,而後流程6003,即分配暖備援220之程序,將指標指向排序實體機100之陣列首項,流程6004判斷是否存在一暖備援220待分配,其中,第一輪分配需利用指標輔助,流程6005判斷是否為第一輪分配,即是判斷是否每一台實體皆存在至少一台暖備援220,第一輪分配暖備援機制採用循環制(Round-Robin),於流程6006,若為第一輪分配暖備援220,則將暖備援220分配於指標所指定之實體機100中,於流程6007,接著判斷指標位置、移動指標,倘若指標存在於實體機100排序中的最後項位,代表第一輪分配結束,即每一台實體機100皆存在至少一台暖備援220,就進入第二種分配演算法,回到流程6002,選擇實體機100之資源剩餘最多者,並給予分配,因此第一輪結束分配後,需重新排序目前實體機100可用資源之順
位,接著流程6003指標回歸首項,第二輪分配與之後分配法,在進入流程6004、6005之後會進入流程6009,只需將暖備援220分配給實體機100排序之首項,因為每次分配皆會重新排序實體機100之資源剩餘量,故實體機100排序首項必為實體機100資源剩餘最多者,接著流程6010再將可用實體機100資源排序,回到流程6004判斷是否存在一暖備援220待分配,若沒有,則所有暖備援220皆分配完畢,進入流程6011結束暖備援220之分配。
另外,於流程6007中,指標若不是指在實體機100排序中的最後項位,那表示第一輪分配尚未結束,就會進入流程6008,將指標指向下一台實體機100,之後再進入流程6004,判斷是否存在一暖備援220待分配,依序進行至流程6011結束暖備援220之分配。
請參照第7圖,其為本發明分配冷備援的流程圖。如圖所示,請一併參考第1圖,其原理為先分配冷備援210之實體機100位置,其分配演算法為選取目前實體機100資源剩餘最多者,再統計每台實體機100所擁有之冷備援210數量,而後進行扣除冷備援210之資源預留部分。
首先,流程7001依據第5圖流程,即計算冷備援210和暖備援220數量之演算法得知冷備援210之數量,流程7002判斷是否存在冷備援210待分配,若有存在一冷備援210待分配,則進入流程7003,尋找實體機100剩餘資源最多者,流程7004將此冷備援210分配至該實體機100,再回到流程7002,直至沒有冷備援210待分配,則進入流
程7005,冷備援210皆已被分配完畢,接著流程7006開始扣除每一台實體機100所預留的冷備援210之資源。
用戶啟動服務之網路功能虛擬化軟體310與其暖備援220是已開啟於實體機100之中,因此可先扣除上述兩者占用實體機100之資源,假設軟體服務i分配於冷備援210於第j台實體機100之數量為a(i,j),其CPU、隨機存取記憶體與磁碟空間之冷備援210預留空間權重變量分別為△c、△m、△d,假設分配完冷備援210之實體機100 CPU剩餘量為、實體機100隨機存取記憶體剩餘量為與實體機100磁碟剩餘量為,其公式表示如下述(式五)、(式六)、(式七)所示。
求得實體機100最佳資源使用量如下述(式八)、(式九)、(式十)所示,分別代表分配冷備援完成後,其CPU、隨機存取記憶體與磁碟之資源剩餘量需最多。
權重變量之數值與目前用戶所啟用之軟體服務數量
與軟體服務之特性有密切關聯,藉由扣除適當之權重變量取作優化實體機100之資源使用量。
最後,其排程方式為暖備援220為首要啟動備援之動作,而當所有暖備援220同時被啟用才使用冷備援210作為備援,其冷備援210和暖備援220之排程是根據目前實體機100之剩餘量多寡而決定,由實體機資源剩餘最多者當作啟用備援之最優先順同。
對於網路功能虛擬化軟體服務鏈300而言,是視整個網路功能虛擬化軟體服務鏈300為一個網路功能虛擬化軟體310,即便該網路功能虛擬化軟體服務鏈300由數個網路功能虛擬化軟體310所構成,根據本發明所述方法,其資源耗損為數個網路功能虛擬化軟體310彼此加成,故於冷備援210和暖備援220之分配會同時被配置於同一個實體機100上。
相較於現有技術,本發明所提出之應用網路功能虛擬化叢集技術之備援系統及其方法,係應用於高可用性網路功能虛擬化軟體與軟體服務鏈之叢集架構中,用於計算備援個數、分配與排程備援之演算法,於系統啟動之前,藉由已知硬體環境參數、用戶定義之軟體環境參數與所信賴之系統可信度,並且考慮虛擬機與實體機之損毀率,其中,實體機之損毀率為依據時間推演之浴缸曲線(Bathtub Curve),推算當下之實體機損毀率,而後透過伺服器代理程序計算該叢集架構之資料機器所需之備援個數,包含冷備援個數與暖備援個數,進而根據實體機本身之資源多寡
分配備援之位置,以達到節省實體機可使用資源,同時決定啟動備援之排程順序,此外,在相同叢集系統環境下,亦可以實作於軟體服務鏈之架構,利用相同備援數量計算演算法與備援分配演算法,在確認軟體服務鏈之用戶要求下,重新計算其軟體服務鏈之虛擬機與實體機之損毀率,進而推算出軟體服務鏈所需之備援個數,最後依據相同方法分配與排程其備援。
上述實施形態僅例示性說明本發明之原理及其功效,而非用於限制本發明。任何熟習此項技藝之人士均可在不違背本發明之精神及範疇下,對上述實施形態進行修飾與改變。因此,本發明之權利保護範圍,應如後述之申請專利範圍所列。
Claims (10)
- 一種應用網路功能虛擬化叢集技術之備援系統,係執行於伺服器中,用於依據所輸入之環境參數及軟硬體時間損毀曲線以執行軟體或軟體服務鏈之備援設定,該備援系統包括:網路功能虛擬化軟體備援個數計算單元,係依據該環境參數及該軟硬體時間損毀曲線,決定該軟體中可提供之暖備援與冷備援的數量,其中,該冷備援係於該暖備援損毀時用以取代該暖備援;網路功能虛擬化軟體備援分配單元,係利用循環機制分配該軟體中可提供之該暖備援與該冷備援之實體機位置;網路功能虛擬化軟體備援排程規劃單元,係透過實體機資源排序,依據實體機資源最多者為排序依據,以產生用於目前實體機之可用資源排序的該軟體之備援啟動排序;網路功能虛擬化軟體服務鏈個數計算單元,係依據軟體服務鏈損毀率、該環境參數及該軟硬體時間損毀曲線,決定該軟體服務鏈中可提供之暖備援與冷備援的數量;網路功能虛擬化軟體服務鏈備援分配單元,係利用該循環機制分配該軟體服務鏈中可提供之該暖備援與該冷備援之實體機位置;以及網路功能虛擬化軟體服務鏈備援排程規劃單元, 係透過該實體機資源排序,依據該實體機資源最多者為排序依據,以產生用於目前實體機之可用資源排序的該軟體服務鏈之備援啟動排序,其中,該備援系統係利用前述單元計算出該軟體或該軟體服務鏈內使用中資料機器所需要之該暖備援與該冷備援的備援數量、分配位置以及啟用順序。
- 如申請專利範圍第1項所述之應用網路功能虛擬化叢集技術之備援系統,其中,該網路功能虛擬化軟體備援個數計算單元或該網路功能虛擬化軟體服務鏈個數計算單元,係利用取代搜尋演算法計算出可被該冷備援取代之該暖備援之數量,進而判斷該冷備援之數量是否符合使用者所期望之系統可信度。
- 如申請專利範圍第1項所述之應用網路功能虛擬化叢集技術之備援系統,其中,該網路功能虛擬化軟體備援分配單元或該網路功能虛擬化軟體服務鏈備援分配單元中該暖備援之分配,更包括利用資源排程程序對可用資源排序,以將該實體機資源排序記錄於指標陣列,且於每次分配後重新排序剩餘實體機之資源剩餘量的順位。
- 如申請專利範圍第1項所述之應用網路功能虛擬化叢集技術之備援系統,其中,該網路功能虛擬化軟體備援分配單元或該網路功能虛擬化軟體服務鏈備援分配單元中該冷備援之分配,更包括利用資源排程程序對可用資源排序,以將該實體機資源排序記錄於指標陣列,且 利用權重數值表示該冷備援之預留扣除資源部分,藉此避免不同軟體服務之間的資源競爭。
- 一種應用網路功能虛擬化叢集技術之備援方法,其包括:依據使用者輸入之環境參數、系統可信度、使用者取向及軟體服務鏈定義,計算出軟體和軟體服務鏈中暖備援之數量;利用取代搜尋演算法,計算出該軟體和該軟體服務鏈中可被冷備援取代之該暖備援的數量,藉此確定該冷備援與該暖備援之數量;根據指標陣列排序目前實體機之可用資源,以依據可用資源之序位分配該暖備援於該目前實體機之其中一者的位址;於完成該暖備援之分配後,再次重新排序剩餘實體機之可用資源,依據該使用者取向調整分配權重值,俾依據可用資源之序位與該分配權重值分配該冷備援於該剩餘實體機之其中一者的位址;以及於完成該冷備援之分配後,排程備援啟動之順序。
- 如申請專利範圍第5項所述之應用網路功能虛擬化叢集技術之備援方法,其中,計算出該暖備援之數量更包括依據軟硬體對時間損毀率之曲線取得目前軟體與硬體之損毀率的數值,俾透過暖備援計算程序以計算出該軟體和該軟體服務鏈中可支援之暖備援總數。
- 如申請專利範圍第6項所述之應用網路功能虛擬化叢集技術之備援方法,其中,確定該冷備援與該暖備援之數量更包括依據該軟硬體對時間損毀率之曲線、該環境參數、該系統可信度及該使用者取向,以判斷是否符合用戶之可信度要求。
- 如申請專利範圍第5項所述之應用網路功能虛擬化叢集技術之備援方法,其中,分配該暖備援之步驟更包括利用指標於該指標陣列之位置,判斷該分配是否為分配該暖備援之第一輪,俾令各實體機皆被配置至少一暖備援。
- 如申請專利範圍第5項所述之應用網路功能虛擬化叢集技術之備援方法,其中,分配該冷備援之步驟更包括於該冷備援分配到資源最多之實體機時,利用該分配權重值作為該冷備援分配之預留扣除資源,藉此避免不同軟體服務之間的資源競爭。
- 如申請專利範圍第5項所述之應用網路功能虛擬化叢集技術之備援方法,其中,排程備援啟動之順序更包括透過該指標陣列排序目前剩餘實體機之資源,以令剩餘資源最多之實體機中暖備援作為優先啟用順位,且於所有暖備援分配完畢後採用相同方式,令剩餘資源最多之實體機中冷備援作為優先啟用順位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107100062A TWI635722B (zh) | 2018-01-02 | 2018-01-02 | 應用網路功能虛擬化叢集技術之備援系統及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107100062A TWI635722B (zh) | 2018-01-02 | 2018-01-02 | 應用網路功能虛擬化叢集技術之備援系統及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI635722B true TWI635722B (zh) | 2018-09-11 |
TW201931819A TW201931819A (zh) | 2019-08-01 |
Family
ID=64452869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107100062A TWI635722B (zh) | 2018-01-02 | 2018-01-02 | 應用網路功能虛擬化叢集技術之備援系統及其方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI635722B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266781B1 (en) * | 1998-07-20 | 2001-07-24 | Academia Sinica | Method and apparatus for providing failure detection and recovery with predetermined replication style for distributed applications in a network |
CN101907888A (zh) * | 2010-07-29 | 2010-12-08 | 航天东方红卫星有限公司 | 小卫星星务系统双机冷备无扰切换方法 |
CN102394807A (zh) * | 2011-08-23 | 2012-03-28 | 北京京北方信息技术有限公司 | 一种分散调度自治的流程引擎负载均衡集群系统及方法 |
US8640238B2 (en) * | 2011-09-14 | 2014-01-28 | Architecture Technology Corporation | Fight-through nodes for survivable computer network |
US8769049B2 (en) * | 2009-04-24 | 2014-07-01 | Microsoft Corporation | Intelligent tiers of backup data |
TW201720184A (zh) * | 2015-08-31 | 2017-06-01 | 英特爾智財公司 | 雙連結可靠度 |
-
2018
- 2018-01-02 TW TW107100062A patent/TWI635722B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266781B1 (en) * | 1998-07-20 | 2001-07-24 | Academia Sinica | Method and apparatus for providing failure detection and recovery with predetermined replication style for distributed applications in a network |
US8769049B2 (en) * | 2009-04-24 | 2014-07-01 | Microsoft Corporation | Intelligent tiers of backup data |
CN101907888A (zh) * | 2010-07-29 | 2010-12-08 | 航天东方红卫星有限公司 | 小卫星星务系统双机冷备无扰切换方法 |
CN102394807A (zh) * | 2011-08-23 | 2012-03-28 | 北京京北方信息技术有限公司 | 一种分散调度自治的流程引擎负载均衡集群系统及方法 |
US8640238B2 (en) * | 2011-09-14 | 2014-01-28 | Architecture Technology Corporation | Fight-through nodes for survivable computer network |
TW201720184A (zh) * | 2015-08-31 | 2017-06-01 | 英特爾智財公司 | 雙連結可靠度 |
Also Published As
Publication number | Publication date |
---|---|
TW201931819A (zh) | 2019-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733026B2 (en) | Automated workflow selection | |
CN109885389B (zh) | 一种基于容器的并行深度学习调度训练方法及系统 | |
US10387202B2 (en) | Quality of service implementation in a networked storage system with hierarchical schedulers | |
CN104508634B (zh) | 虚拟机的动态资源分配 | |
JP6219512B2 (ja) | 仮想ハドゥープマネジャ | |
CN111344688B (zh) | 云计算中资源提供的方法及系统 | |
US10623481B2 (en) | Balancing resources in distributed computing environments | |
US10534542B2 (en) | Dynamic core allocation for consistent performance in a non-preemptive scheduling environment | |
US10394606B2 (en) | Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy | |
Yu et al. | Dynamic scaling of virtual clusters with bandwidth guarantee in cloud datacenters | |
CN104102548B (zh) | 任务资源调度处理方法和系统 | |
JP2002269023A5 (zh) | ||
CN107851039A (zh) | 用于资源管理的系统和方法 | |
CN109684074A (zh) | 物理机资源分配方法及终端设备 | |
CN110221920B (zh) | 部署方法、装置、存储介质及系统 | |
CN106681839B (zh) | 弹性计算动态分配方法 | |
CN106775493B (zh) | 一种存储控制器及io请求处理方法 | |
CN106528288A (zh) | 一种资源管理方法、装置和系统 | |
US10496282B1 (en) | Adaptive port management to meet service level objectives using reinforcement learning | |
CN108228482A (zh) | 用于管理存储系统中的缓存设备的方法和系统 | |
CN111177984B (zh) | 电子设计自动化中异构计算单元的资源利用 | |
WO2019056771A1 (zh) | 分布式存储系统升级管理的方法、装置及分布式存储系统 | |
JP6010975B2 (ja) | ジョブ管理装置、ジョブ管理方法、及びプログラム | |
CN105830029B (zh) | 用于在计算环境中支持自适应忙等待的系统和方法 | |
TWI635722B (zh) | 應用網路功能虛擬化叢集技術之備援系統及其方法 |