TWI686696B - 計算節點及其失效偵測方法與雲端資料處理系統 - Google Patents

計算節點及其失效偵測方法與雲端資料處理系統 Download PDF

Info

Publication number
TWI686696B
TWI686696B TW107128364A TW107128364A TWI686696B TW I686696 B TWI686696 B TW I686696B TW 107128364 A TW107128364 A TW 107128364A TW 107128364 A TW107128364 A TW 107128364A TW I686696 B TWI686696 B TW I686696B
Authority
TW
Taiwan
Prior art keywords
computing node
node
computing
virtual machine
service
Prior art date
Application number
TW107128364A
Other languages
English (en)
Other versions
TW202009703A (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 TW107128364A priority Critical patent/TWI686696B/zh
Priority to CN201910023516.0A priority patent/CN110825544B/zh
Priority to US16/244,106 priority patent/US10802900B2/en
Application granted granted Critical
Publication of TW202009703A publication Critical patent/TW202009703A/zh
Publication of TWI686696B publication Critical patent/TWI686696B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一種計算節點及其失效偵測方法與雲端資料處理系統,此方法適用於包括多個計算節點及至少一個管理節點的雲端資料處理系統,其中包括以下步驟:各計算節點自我檢查所提供服務的運作狀態及資源使用狀態,並將檢查結果回報管理節點;計算節點根據檢查結果動態調整下次回報的間隔時間,並將間隔時間告知管理節點;以及管理節點根據間隔時間檢視檢查結果的回報狀況,以判斷計算節點是否失效。

Description

計算節點及其失效偵測方法與雲端資料處理系統
本發明是有關於一種雲端資料處理方法及系統,且特別是有關於一種計算節點及其失效偵測方法與雲端資料處理系統。
當雲端資料中心上的計算節點遭受無法預知的環境因素或不可抗拒的外力影響時,原本運行其上的虛擬機可能無法提供正常的應用服務,進而將損害虛擬機合法用戶的操作權利。為了使運行在失效計算節點上的虛擬機得以正常運作,須將受影響的虛擬機由失效計算節點上轉移至其他正常運作的計算節點上。
以高可用群組(High Availability(HA)cluster)為例,其由1個或多個工作節點(active nodes)搭配0個或多個備用節點(standby nodes)所組成,群組成員個數至少為2。高可用群組的運作可用於多個實體主機(Physical machines,PM)之中:當一具有運行虛擬機(Virtual machines,VM)工作任務的實體主 機失效時,高可用群組可支援虛擬機轉移,意即將失效實體主機中的虛擬機,轉移至其他實體主機中運作。
然而,在高可用群組的運作中,實體主機的錯誤偵測依賴於多個實體主機間定期傳遞的心跳封包(heartbeat packets),此封包主要是單一實體主機每隔一段固定時間,用以向其他實體主機發送一個自定義格式的封包,一般包含來源實體主機的網路位址或其他可表示來源實體主機身份之名稱,以確保來源實體主機與目標實體主機間網路連接的有效性。但在網路短暫壅塞的情況下,多個實體主機間可能會丟失彼此傳遞的心跳封包,此將造成實體主機失效誤判,而接續不應執行的虛擬機轉移操作。
本發明一例示性實施例提供一種計算節點失效偵測方法,適用於包括多個計算節點及至少一個管理節點的雲端資料處理系統,此方法包括以下步驟:各計算節點自我檢查所提供服務的運作狀態及資源使用狀態,並將檢查結果回報管理節點;計算節點根據檢查結果動態調整下次回報的間隔時間,並將間隔時間告知管理節點;以及管理節點根據間隔時間檢視檢查結果的回報狀況,以判斷計算節點是否失效。
本發明一例示性實施例提供一種雲端資料處理系統,其包括多個計算節點及至少一個管理節點。各計算節點包括自我檢查器,以自我檢查所提供服務的運作狀態及資源使用狀態以回報 檢查結果,並根據檢查結果動態調整回報檢查結果的間隔時間。管理節點包括接收由各計算節點回報的檢查結果以及告知的間隔時間,並根據間隔時間檢視對應計算節點回報檢查結果的回報狀況,以判斷對應計算節點是否失效。
本發明一例示性實施例提供一種計算節點,其包括自我檢查器,用以自我檢查計算節點所提供服務的運作狀態及資源使用狀態,並將檢查結果回報至少一個管理節點,以及根據檢查結果動態調整回報檢查結果的間隔時間,並將此間隔時間告知管理節點,其中管理節點根據間隔時間檢視檢查結果的回報狀況,以判斷計算節點是否失效。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉例示性實施例,並配合所附圖式作詳細說明如下。
1、2、3:雲端資料處理系統
10、10a、10b、10c:計算節點
11、11b:計算服務器
12:虛擬化服務器
13:心跳服務器
14、14a、14b:自我檢查器
20、20a、20b、20c:虛擬機管理節點
21、21c:虛擬機排程器
22、22a、22b:檢查接受器
23、23b、23c:計算節點健康檢查器
24、24c:計算應用程式介面(計算API)
25、25b:心跳服務器
26、26b:資料庫
30、30c:資料中心管理節點
31:實體主機(PM)管理器
32:檢查接受器
33:服務監視器
34、34c:計算節點電源控制器
1-1~1-3、2-1~2-2:檢查
CN2、CN3、CN4:計算節點
VM1、VM2、VM3、VM4、VM5、VM6:虛擬機
S302~S306、S502~S510:計算節點失效偵測方法的步驟
S702~S712:虛擬機轉移方法的步驟
圖1是依照本發明一例示性實施例所繪示之計算節點的方塊圖。
圖2是依照本發明一例示性實施例所繪示之雲端資料處理系統的示意圖。
圖3是依照本發明一例示性實施例所繪示之計算節點失效偵測方法的流程圖。
圖4是依照本發明一例示性實施例所繪示之計算節點的漸近 式失效偵測的示意圖。
圖5是依照本發明一例示性實施例所繪示之計算節點失效偵測方法的流程圖。
圖6是依照本發明一例示性實施例所繪示之雲端資料處理系統的流程圖。
圖7A是依照本發明一例示性實施例所繪示之虛擬機轉移機制的示意圖。
圖7B是依照本發明另一例示性實施例所繪示之虛擬機轉移方法的流程圖。
圖8A是依照本發明一例示性實施例所繪示之虛擬機轉移至計算節點的資源關係示意圖。
圖8B是依照本發明一例示性實施例所繪示之虛擬機的批次平行轉移策略的示意圖。
為了確保計算節點失效轉移功能的正確性,本發明在時間及空間維度上,設計實施例並施行多重檢查機制,以確認計算節點的真實狀態,並提供虛擬機轉移機制的例示性實施例。計算節點失效轉移的實現,請參見例示性實施例之說明。
為減少計算節點失效偵測之誤判,與誤判所導致的資源浪費與資源競爭的問題,可運行下列各方法實施例偵測計算節點是否失效: 時間維度上的漸進式偵測實施例:虛擬機管理節點(Virtual Machines Management node,VMM node)上的計算節點健康檢查器(例如圖2中的計算節點健康檢查器23)可根據雲端資源的使用狀態與資源容量,自行定義計算節點的失效偵測頻率及失效確認門檻,當判定失效的累計次數到達失效確認門檻時,即可判斷該計算節點已失效。此偵測機制具備調整彈性,較可減少暫時性網路壅塞所造成的失效誤判。
空間維度實施例:在計算節點之外,尋找任意兩個具備不同操作功能的系統或機器,對計算節點之失效偵測進行雙重確認,以提高計算節點失效偵測的準確性。在一實施例中,使用虛擬機管理節點偵測計算節點上計算服務之資料庫的更新頻率以及計算節點所定期發送的心跳封包,以確認虛擬機管理節點與計算節點間之連線狀態;以及使用資料中心管理節點(Data Center Management node,DCM node)透過獲取計算節點資源用量的管道(計算主機的自我檢查),確認連線是否正常;若可正常連線,則可進一步透過資料中心管理節點上的服務監視器(Service monitor),檢查計算服務的運作狀態或計算服務重啟後的狀態。
在確認計算節點已失效後,可選擇符合雲端管理需求(如具平行轉移考量或負載平衡考量)之虛擬機轉移策略,將運行在已失效計算節點上的至少一虛擬機器平行轉移至其他計算節點。
於一實施例中包括:控制與確認計算節點之關機狀態,以及虛擬機轉移之目標計算節點挑選策略:依平行轉移考量或依 負載平衡考量。目標計算節點挑選的考量可包括:各個計算節點上之資源容量(CPU/記憶體/網路);各個計算節點之已用資源(CPU/記憶體/網路);及/或各個虛擬機之資源需求(CPU/記憶體/網路)。
而於一實施例中,可再包括:維護虛擬機轉移黑名單:限制計算節點異常失效之範圍,較可減少有問題的虛擬機藉由虛擬機轉移策略的執行,逐一使其他雲端計算節點失效。
圖1是依據本發明一例示性實施例所繪示的計算節點架構的示意圖。請參照圖1,對於雲端資料處理系統中的複數個計算節點10(包括節點1~節點n,n為正整數),各計算節點10例如是具有運算能力的伺服器、工作站或個人電腦等電子裝置等,本發明不在此設限。各計算節點10中包括計算服務器11、虛擬化服務器12、心跳服務器13及自我檢查器14,其例如是電腦程式,而可由計算節點10的至少一處理器(未繪示)載入並執行,執行時並可輔以存儲元件(譬如記憶體、暫存緩衝器等等、未繪示)及/或資料庫(未繪示),以實現依據本發明的計算節點失效偵測方法。各計算節點10亦包括訊號資料傳送接收元件(未繪示)。
於一實施例中,計算節點10可以是由計算服務器11提供計算服務(Compute service),並由虛擬化服務器12透過對Libvirt、KVM(Kernel-based Virtual Machine)、QEMU(Quick Emulator)等各種虛擬機管理程序服務(Hypervisor service)的支持,提供虛擬機運行之相關操作。
於一實施例中,心跳服務器13可以是基於心跳服務(Heart-beat service),定期傳遞心跳封包至管理節點,以確認與管理節點之間的心跳連線的狀態。
於一實施例中,自我檢查器14可以是用以檢查計算節點10所提供服務的運作狀態及資源使用狀態。所述服務的運作狀態包括計算服務之運行狀態與虛擬化服務之運行狀態。所述的資源使用狀態則可包括節點等級(host-level)與虛擬機等級(VM-level)之資源使用狀態,包括運算(CPU)資源使用量/使用率、記憶體資源使用量/使用率、磁碟空間使用量/使用率、網路資源使用量/使用率,及/或其他可供錯誤計次/計量的資訊(例如封包丟棄數量/丟棄率)。此外,於一實施例中,自我檢查器14還可提供硬體錯誤(Hardware errors)之偵測。
於一實施例中,自我檢查器14在偵測到運算服務(計算服務、虛擬化服務)相關之錯誤時,可將主動修復錯誤並自動重啟服務。
於一實施例中,自我檢查器14在檢查資源使用狀態之後,可主動將檢查結果回報其他管理節點,並依據資源條件動態調整下次告知服務狀態與資源用量的時間。
本發明的一實施例可提供一種漸近式偵測機制,虛擬機管理節點上的計算節點健康檢查器可針對各計算節點的運算資源容量、記憶體資源容量、磁碟空間容量、網路資源容量,透過一事先定義的門檻制定機制,設定各計算節點的資源門檻值,針對 此門檻制定機制,本發明不在此設限。在所檢查的資源使用量/使用率,及/或封包丟棄數量/丟棄率等參數超過對應的門檻時,縮短回報檢查結果的間隔時間,從而提高與其他管理節點之間的互動頻率。
自我檢查器14在偵測到硬體錯誤時,若此硬體錯誤(例如CPU錯誤)導致自我檢查器14無法主動告知內部資訊時,其他管理節點亦未能在事先定義的時間點收到自我檢查器14回報的服務運作狀態與資源使用狀態,則計算節點10的錯誤次數將被累計。
圖2是依據本發明一例示性實施例所繪示的雲端資料處理系統的示意圖。請參照圖2,雲端資料處理系統1包括多個計算節點10及至少一個管理節點(本實施例以3個虛擬機管理節點20為例作說明,但本發明不限於此),其中3個虛擬機管理節點20例如採用高可用群組之運作,並組成一叢集以維持彼此間資料的同步,以備在其中任一個虛擬機管理節點20發生錯誤時,可由其他虛擬機管理節點20備援,以確保虛擬機管理功能的持續進行。
虛擬機管理節點20包括虛擬機排程器(VM scheduler)21、檢查接受器22、計算節點健康檢查器23、計算應用程式介面(Application programming interface,API)24及心跳服務器25,其例如是電腦程式,而可由虛擬機管理節點20的處理器(未繪示)載入並執行,以實現本發明的計算節點失效偵測方法。虛擬機管理節點20還包括儲存裝置(資料庫)及/或存儲元件(譬如記憶體、 暫存緩衝器等等、未繪示),用以儲存由各計算節點10運行的虛擬機資訊。虛擬機管理節點20亦包括訊號資料傳送接收元件(未繪示)。其中,虛擬機排程器21例如在需要建立或轉移虛擬機時,從多個計算節點10中挑選目標計算節點,以在其中啟用虛擬機或將虛擬機轉移至其中。
檢查接受器22用以從計算節點10的自我檢查器14接受檢查結果以及下次回報檢查結果的間隔時間。倘若在以間隔時間定義的回報時間未收到來自自我檢查器14回報的檢查結果,檢查接受器22將會累計計算節點10的錯誤次數,並將相關資訊儲存於資料庫26之中。
在一實施例中,計算節點10除了透過自我檢查器14回報檢查結果外,亦可由計算服務器11根據預先設定的一段時間,定期在虛擬機管理節點20的資料庫26中維護虛擬機相關的資訊以及當下的更新時間。相應地,虛擬機管理節點20的計算節點健康檢查器23即可藉由檢視計算服務器11維護資料庫26的時間及/或頻率,判定計算節點10的運作狀況。
計算應用程式介面24係提供使用者透過此介面啟用虛擬機,而由虛擬機排程器21從多個計算節點10中挑選目標計算節點,以在其中啟用虛擬機。需說明的是,多個計算節點10間具有共享儲存池(Shared Storage),當計算節點10被虛擬機排程器21挑選時,可透過計算服務器11連結此共享儲存池,以提供虛擬機啟用所需要的儲存資源。
心跳服務器25對應於計算節點10的心跳服務器13,用以與心跳服務器13定期傳遞心跳封包,以確認與計算節點10之間的心跳連線狀態。
在一實施例中,虛擬機管理節點20的檢查接受器22藉由資料庫26中預定義的虛擬機資源規格,比對由自我檢查器14偵測的虛擬機使用資源,確認資源使用超量的情況。若某個虛擬機之資源使用量/使用率超過計算節點健康檢查器23定義的預設值或預設比例,則該虛擬機將被檢查接受器22列入黑名單(Blacklist)。此黑名單可用於虛擬機失效轉移階段中,降低資源使用與管理上有問題的虛擬機造成其他計算節點失效的可能性,並且列入黑名單的虛擬機器被禁止轉移至其他計算節點。此外,若某個虛擬機之資源使用量/使用率未超過使用門檻,但仍超過預定值,則可暫列入觀察名單(Watch list),以持續觀察。
圖3是依照本案一例示性實施例所繪示之計算節點失效偵測方法的流程圖。請同時參照圖2及圖3,本實施例的方法適用於圖2的雲端資料處理系統1,以下即搭配雲端資料處理系統1中的各項裝置說明依據本發明一實施例之計算節點失效偵測方法的詳細步驟。
於本實施例中,由計算節點10的自我檢查器14自我檢查計算節點10所提供服務的運作狀態及資源使用狀態,並將檢查結果回報虛擬機管理節點20(步驟S302)。其中,所述服務的運作狀態例如包括計算服務之運行狀態與虛擬化服務之運行狀態。 所述的資源使用狀態例如包括運算資源使用量/使用率、記憶體資源使用量/使用率、磁碟空間使用量/使用率、網路資源使用量/使用率,以及其他可供錯誤計次/計量的資訊(例如封包丟棄數量/丟棄率),在此不設限。
由計算節點10的自我檢查器14根據檢查結果動態調整下次回報的間隔時間,並將此間隔時間告知虛擬機管理節點20(步驟S304)。
虛擬機管理節點20的計算節點健康檢查器23可透過自行設定的演算機制,根據計算節點10的資源使用狀態,定義自我檢查器14回報檢查結果的間隔時間與次數。在一實施例中,計算節點健康檢查器23可針對運算資源容量、記憶體資源容量、磁碟空間容量、網路資源容量及封包丟棄數量分別設定預設之門檻,並在上述資源中的任一個資源的使用量/使用率超過使用門檻時,將所定義的間隔時間縮短。在另一實施例中,計算節點健康檢查器23可針對運算資源容量、記憶體資源容量、磁碟空間容量、網路資源容量及封包丟棄數量分別設定預設之門檻,並在上述資源中的任一個資源的使用率/使用量超過設定的門檻時,將所定義的間隔時間縮短。
在又一實施例中,計算節點健康檢查器23可針對運算資源容量、記憶體資源容量、磁碟空間容量、網路資源容量及封包丟棄數量等資源設定多重門檻值,以縮短計算節點的失效偵測週期。舉例而言,可針對運算資源及網路資源的使用率分別設定雙 重門檻75%及85%。當計算節點之運算資源使用率超過運算資源門檻值75%時,可將計算節點的失效偵測間隔時間由t0縮短為t1;當計算節點之運算資源使用率超過運算資源門檻值85%時,可進一步將計算節點的失效偵測間隔時間縮短為t2;當計算節點之網路資源使用率超過網路資源門檻值75%時,可縮短計算節點的失效偵測間隔時間為t3;以及當計算節點之網路資源使用率超過網路資源門檻值85%時,可進一步將計算節點的失效偵測間隔時間縮短為t4。其中,t0>t1>t2>t3。意即,當一個計算節點擁有越多超過資源使用門檻的資源種類與門檻等級,則該計算節點的失效偵測週期也就越短。
虛擬機管理節點20的檢查接受器22將根據自我檢查器14告知的間隔時間,檢視檢查結果的回報狀況,以判斷計算節點10是否失效(步驟S306)。其中,檢查接受器22例如會在以上述間隔時間定義的回報時間檢視是否接收到檢查結果,而若未接收到檢查結果,則將累計錯誤次數,並將相關資訊儲存於資料庫。之後,檢查接受器22會繼續依照間隔時間定義的回報時間檢視檢查結果的回報狀況,並據以累計錯誤次數,而在所累計的錯誤次數大於錯誤門檻時,即判斷計算節點10失效。
舉例來說,圖4是依照本案一例示性實施例所繪示之計算節點的漸近式失效偵測的示意圖。請參照圖4,本實施例係對計算節點10a的自我檢查器14a定義執行偵測及回報檢查結果的間隔時間,並針對CPU使用率、記憶體使用率、磁碟空間使用率、 網路資源使用率及封包丟棄數量/丟棄率分別比較預設之門檻,使得當計算節點10a的資源使用率隨著時間的推移而增高時,縮短自我檢查器14a回報檢查結果的間隔時間。
其中,在10:00:00的時間點,自我檢查器14a檢查當時計算節點10a的資源使用狀態,獲得CPU使用率30%、記憶體使用率60%、磁碟空間使用率20%、網路資源使用率50%及封包丟棄數量0/丟棄率0%,據此判斷計算節點10a的資源使用狀態正常,而決定下次回報檢查結果的間隔時間為120秒。此時,自我檢查器14a除了會將上述資源使用狀態的資訊回報給虛擬化管理節點20a的檢查接受器22a,同時也會將下次回報檢查結果的間隔時間以及預先定義的錯誤門檻(3)告知檢查接受器22a。檢查接受器22a可依此間隔時間推算,自我檢查器14a將會在10:02:00、10:04:00、10:06:00回報檢查結果。然而,若在10:02:00的時間點,檢查接受器22a未收到自我檢查器14a回報的檢查結果或是檢查結果中的資訊有錯,檢查接受器22a將會累計錯誤次數並將相關資訊儲存於資料庫26a中。若在上述3個時間點均未收到自我檢查器14a回報的檢查結果或是檢查結果中的資訊有錯,檢查接受器22a累計的錯誤次數將達到錯誤門檻(3),從而判斷計算節點10a失效。
然而,當到了預定的回報時間(即10:02:00),自我檢查器14a檢查當時計算節點10a的資源使用狀態,獲得CPU使用率30%、記憶體使用率60%、磁碟空間使用率20%、網路資源使用 率50%及封包丟棄數量0(丟棄率0%),據此判斷計算節點10a的資源使用量/使用率增加,其中的CPU使用率、記憶體使用率及網路資源使用率都超過門檻。此時,自我檢查器14a會將原先設定的間隔時間動態調整為90秒,並告知虛擬化管理節點20a的檢查接受器22a。類似地,檢查接受器22可依此間隔時間推算,自我檢查器14a將改為在10:03:30、10:05:00、10:06:30回報檢查結果,而可根據在這3個時間點是否收到檢查結果來判斷計算節點10a是否失效。
藉由上述的漸近式失效偵測,管理節點可根據計算節點告知的間隔時間推算計算節點下次的回報時間,若未收到檢查結果,僅先累計錯誤次數而不會直接判斷計算節點失效,而是在連續偵測到錯誤且累計的錯誤次數到達錯誤門檻時,才判斷計算節點真實失效。藉此,較可減少暫時性網路壅塞所造成的誤判。
除了上述的回報偵測外,在一實施例中,管理節點更可結合資料庫更新偵測、心跳偵測等多重偵測方法,以增加失效判斷的正確性。
圖5是依照本案一例示性實施例所繪示之計算節點失效偵測方法的流程圖。請同時參照圖2及圖5,本實施例的方法適用於圖2的雲端資料處理系統1,以下即搭配雲端資料處理系統1中的各項裝置說明本發明之計算節點失效偵測方法的詳細步驟。
首先,由虛擬機管理節點20的檢查接受器22在以計算節點10的自我檢查器14告知的間隔時間定義的回報時間,檢視 是否接收到自我檢查器14回報的檢查結果,並在未接收到檢查結果時,累計錯誤次數(步驟S502)。其中,以間隔時間定義回報時間以檢視檢查結果的實施例與前述實施例的步驟S306相同或相似,故在此不再贅述。
此時,虛擬機管理節點20的計算節點健康檢查器23會檢視資料庫26中由計算節點10的計算服務器11對於計算節點10所提供服務的運作狀態的更新,並在資料庫26未更新的次數超過預設次數時,累計錯誤次數(步驟S504)。
計算節點10的計算服務器11可根據預定的時間周期t DB,定期在虛擬機管理節點20的資料庫26中維護計算節點10所提供服務的運作狀態(例如虛擬機相關資訊)以及當下的更新時間。據此,在一實施例中,計算節點健康檢查器23會檢查計算服務器11最後一次更新資料庫26的時間
Figure 107128364-A0305-02-0017-9
,並依據目前時間t current 計算未更新的時間長度,而根據下列條件判斷是否累計錯誤:
Figure 107128364-A0305-02-0017-8
其中,m×t DB 為預先設定的錯誤門檻,若滿足上述條件即代表計算服務器11已超過m個回合未維護資料庫26,此時計算節點健康檢查器23會將記錄在資料庫26中的錯誤次數累計一次。
此外,計算節點健康檢查器23藉由心跳服務器25所提供的心跳服務檢視與計算節點10的心跳連線的狀態,並在心跳連線中斷時,累計錯誤次數(步驟S506)。
計算節點健康檢查器23例如會檢視記錄在資料庫26中的累計的錯誤次數是否大於錯誤門檻(步驟S508)。其中,若累計錯誤次數未大於錯誤門檻,則流程將回到步驟S502,並重複步驟S502~S506的錯誤偵測。反之,若累計錯誤次數大於錯誤門檻,則計算節點健康檢查器23將判定計算節點10失效,而可進行虛擬機轉移。
需說明的是,考量單一節點的檢查結果不可盡信,為了避免失效偵測之局部誤判問題(Local failure problem),本發明的一實施例更將計算節點的自我檢查與虛擬機管理節點和資料中心管理節點的監測結合,以增加失效判斷的正確性。
圖6是依據本發明一例示性實施例所繪示的雲端資料處理系統的示意圖。請參照圖6,本實施例的雲端資料處理系統2包括多個計算節點10、3個虛擬機管理節點20(本實施例以計算節點10b、虛擬機管理節點20b為例作說明)以及資料中心管理節點30。其中,計算節點10b、虛擬機管理節點20b的架構與前述實施例中的計算節點10、虛擬機管理節點20的架構相同或相似,故其細節在此不再贅述。
本實施例的雲端資料處理系統2額外利用資料中心管理節點30監測計算節點10b,以協助判定計算節點10b是否失效。資料中心管理節點30的實體主機管理器(PM manager)31中包括檢查接受器32、服務監視器33及計算節點電源控制器34。其中,檢查接受器32類似於虛擬機管理節點20b的檢查接受器22b, 其用以從計算節點10b的自我檢查器14b接受檢查結果以及下次回報檢查結果的間隔時間。倘若在以間隔時間定義的回報時間未收到來自計算節點10b的自我檢查器14b回報的檢查結果,檢查接受器32將會累計計算節點10b的錯誤次數,並將相關資訊儲存於虛擬機管理節點20b的資料庫26b之中。
服務監視器33在資料中心管理節點30與計算節點10b的連線管道處於可正常連線的條件下,可檢查計算節點10b的計算服務器11b的運作狀態,或計算節點10b的自我檢查器14b重啟服務之操作是否成功。
計算節點電源控制器34具有將失效的計算節點關機的能力,藉由將失效的計算節點關機,較可避免在虛擬機轉移後,雲端資料處理系統2同時存在兩個相同虛擬機之可能性。
基於上述雲端資料處理系統2的架構,本實施例設置多重檢查機制(包括關於虛擬機管理節點20b的檢查1-1~1-3以及關於資料中心管理節點30的檢查2-1~2-2),並根據上述檢查的結果判斷計算節點10b是否發生錯誤,以累計錯誤次數。上述的檢查分述如下:
檢查1-1:計算節點10b的自我檢查器14b可修復計算服務之錯誤,將服務的運作狀態與資源使用狀態主動告知虛擬機管理節點20b的檢查接受器22b,並告知下次回報的間隔時間以約定下次回報時間。自我檢查器14b例如在以間隔時間定義的回報時間檢視檢查結果的接收是否正常,以獲得第一狀態。其中,若因 為計算節點10b發生硬體錯誤或其他原因,導致檢查接受器22b無法在約定時間內收到檢查結果,則代表計算節點10b可能失效。
檢查1-2:虛擬機管理節點20b的計算節點健康檢查器23b檢查計算節點10b的計算服務器11b最後一次更新資料庫26b的時間,以判斷計算服務器11b對於計算節點10b所提供服務的運作狀態的更新是否正常,以獲得第二狀態。其中,若計算服務器11b已超過m個回合未維護或更新資料庫26b,則代表計算節點10b可能失效。
檢查1-3:虛擬機管理節點20b的計算節點健康檢查器23b藉由心跳服務器25b所提供的心跳服務檢視與計算節點10b的心跳連線是否正常,以獲得第三狀態。其中,當心跳連線中斷時,則代表計算節點10b可能失效。
檢查2-1:資料中心管理節點30的實體主機管理器31藉由定期從檢查接受器32獲取實體主機資源的管道,檢查與計算節點10b的連線狀況。其中,檢查接受器32在以自我檢查器14b告知的間隔時間定義的回報時間檢視檢查結果的接收是否正常,以獲得第四狀態。若檢查接受器32未在特定時間收到來自自我檢查器14b回報的檢查結果,則代表計算節點10b可能失效。
檢查2-2:資料中心管理節點30的服務監視器32連線至計算節點10b檢視計算節點10b的服務運作狀態是否正常,以獲得第五狀態。其中,資料中心管理節點30在與計算節點10b的連線管道處於可正常連線的條件下,可透過服務監視器32檢查計算 節點10b上的計算服務的運作狀態,或計算節點10b的自我檢查器14b重啟計算服務之操作是否成功。若計算節點10b上的計服務非處於運作狀態,且無法成功重啟該服務,則代表計算節點10b可能失效。
針對上述檢查的結果,本實施例定義多種情境,以及對應各種情境的後續操作行為,如下表一所示。
Figure 107128364-A0305-02-0021-1
在情境A中,計算節點10b的連線正常,但計算服務器11b的計算服務異常,且重啟無效。因此,在資料中心管理節點30的服務監視器33確認計算服務器11b落入重啟迴圈時,即累計計算節點CN j 的錯誤次數(f j +1)。
在情境B中,計算節點10b的網路中斷,且計算節點10b失效或硬體錯誤,此代表整個計算節點10b恐出現問題,因此直接累計錯誤次數(f j +1)。
在情境C中,計算節點10b與虛擬機管理節點20b失去連線,但與資料中心管理節點30的連線正常。然而,由於計算服務器11b的計算服務發生錯誤,故需由資料中心管理節點30的服務監視器重啟計算服務。但若重啟無效,則會累計錯誤次數(f j +1)。
在情境D中,計算節點10b與資料中心管理節點30失去連線,但與虛擬機管理節點20b的連線正常。然而,由於計算服務器11b的計算服務發生錯誤,將由自我檢查器14b自動重啟計算服務,但若重啟無效,自我檢查器14b將計算服務運作狀態與資源使用現況,回報至虛擬機管理節點20b的檢查接收器22b時,將會累計錯誤次數(f j +1)。
基於時間維度上的考量,本實施例針對上述多重檢查機制設置可調整的錯誤偵測(Failure detection,FD)的間隔時間以及錯誤累計的次數門檻F。而當計算節點CN j 連續發生錯誤偵測的累計次數大於此錯誤門檻F(即f j
Figure 107128364-A0305-02-0022-10
F)時,則視為計算節點真實失效。
若符合上述錯誤條件,則將進入階段二的虛擬機轉移階段。
圖7A是依照本發明一例示性實施例所繪示之虛擬機轉 移機制的示意圖。圖7B是依照本發明另一例示性實施例所繪示之虛擬機轉移方法的流程圖。請先參照圖7A,本實施例的雲端資料處理系統3包括多個計算節點10、3個虛擬機管理節點20(本實施例以計算節點10c、虛擬機管理節點20c為例作說明)以及資料中心管理節點30c。其中,計算節點10c、虛擬機管理節點20c、資料中心管理節點30c的架構與前述實施例中的計算節點10、虛擬機管理節點20、資料中心管理節點30的架構相同或相似,故其細節在此不再贅述。
請參照圖7B,當虛擬機管理節點20c確認計算節點10c失效,而進入虛擬機轉移階段後,虛擬機管理節點20c的計算節點健康檢查器23c例如會透過資料中心管理節點30c的計算節點電源控制器34關閉已失效的計算節點10c(步驟S702)。之後,計算節點健康檢查器23c會通知虛擬機排程器21c執行虛擬機轉移策略,以決定故障的計算節點10c上的每個虛擬機應轉移至哪一個目標計算節點。
虛擬機排程器21c例如可先取得其他計算節點的可用資源以及已失效計算節點中待轉移的虛擬機的資源需求(步驟S704),以便從其他計算節點中選擇具有較多可用資源的多個計算節點來分配虛擬機。其中,虛擬機排程器21c例如會先依各計算節點CN j 的可用資源Priority j 的多寡(計算公式如下),對計算節點CN j 進行排序(步驟S706)。
Figure 107128364-A0305-02-0023-2
其中,α
Figure 107128364-A0305-02-0024-11
0,β
Figure 107128364-A0305-02-0024-12
0,γ
Figure 107128364-A0305-02-0024-13
0,α+β+γ=1。
有較高可用資源的計算節點,較有能力滿足資源需求大的虛擬機,可保障之利益成本較大,因此在本實施例中具有優先挑選虛擬機的權利。
然後,虛擬機排程器21c會依照各虛擬機的資源需求及利益成本,依序挑選可滿足其資源需求且具有較高利益成本的虛擬機以分配至計算節點(步驟S708)。其中,計算節點CN j 挑選虛擬機VM i 的利益成本
Figure 107128364-A0305-02-0024-14
為:
Figure 107128364-A0305-02-0024-3
其中,上述分子p i 計算節點滿足各虛擬機可保障的利益,而分母則為計算節點CN j 運行虛擬機VM i 所消耗的資源成本。在此實施例中,利益成本為計算節點滿足各所述虛擬機器可保障的利益與運行該虛擬機器所消耗的資源成本的比值。
舉例來說,當輪到計算節點CN j 進行虛擬機挑選時,若利益成本關係為:
Figure 107128364-A0305-02-0024-15
,將優先挑選VM1,意即VM1將被轉移至計算節點CN j 上運行。
需說明的是,在虛擬機排程器21c選擇目標計算節點時,將不考慮針對資源使用管理有問題的虛擬機(例如上述黑名單中的虛擬機)進行轉移。
最後,虛擬機排程器21c會判斷所有需要轉移的虛擬機皆分配計算節點,或是已沒有任何虛擬機可被挑選(步驟S710)。 若仍有虛擬機未分配,則回到步驟S708,繼續進行下一回合的分配;而若所有的虛擬機皆已分配好,虛擬機排程器21c即完成虛擬機轉移的排程,而可開始進行批次平行轉移(步驟S712)。其中,虛擬機排程器21c可通知計算應用程式介面24c顯示所完成的虛擬機轉移排程。
舉例來說,假設虛擬機VMi之資源需求與利益成本(Profits)如下表二所示,計算節點CNj的資源容量、使用量與可用量(剩餘資源)則如下表三所示,虛擬機排程器21c即根據上述資訊進行虛擬機轉移至可用計算節點之相關排程,以滿足計算節點健康檢查器23c之管理策略。
Figure 107128364-A0305-02-0025-6
Figure 107128364-A0305-02-0025-7
其中,虛擬機排程器21c例如會針對需要轉移的虛擬機VM i ,找出滿足其資源需求(即
Figure 107128364-A0305-02-0025-16
Figure 107128364-A0305-02-0025-17
Figure 107128364-A0305-02-0025-18
) 的計算節點CN j
舉例來說,圖8A是依照本發明一例示性實施例所繪示之虛擬機轉移至計算節點的資源關係示意圖。圖8B是依照本發明一例示性實施例所繪示之虛擬機的批次平行轉移策略的示意圖。請先參照圖8A,圖8A採用二分圖的方法,將可滿足虛擬機VMi資源需求的計算節點CNj,與虛擬機VMi之間繪製一連線;反之,則沒有連線。其中,若以a i,j =1表示計算節點CN j 可滿足虛擬機VM i 在CPU/記憶體/網路等方面的資源需求,則依圖8A所示,a 6,2=0;a 6,3=0;a 6,4=1。
接著請參照圖8B,虛擬機排程器依據計算節點CNj的資源容量、使用量與可用量的多寡,將計算節點CN j 排序為:CN2
Figure 107128364-A0305-02-0026-19
CN3
Figure 107128364-A0305-02-0026-20
CN4,並依據虛擬機VM i 的利益成本,將虛擬機VM i 排序為:VM2
Figure 107128364-A0305-02-0026-21
VM5
Figure 107128364-A0305-02-0026-22
VM6
Figure 107128364-A0305-02-0026-23
VM3
Figure 107128364-A0305-02-0026-24
VM4
Figure 107128364-A0305-02-0026-25
VM1。其中,虛擬機排程器在分配虛擬機時例如採回合制,在第一回合中,例如將具有較高利益成本的虛擬機VM2、VM5、VM6分別分配至計算節點CN2、CN3、CN4,如圖中的配置[1]、[2]、[3]。然後,在下一回合中,將具有次高利益成本的虛擬機VM3、VM4、VM1分別分配至計算節點CN2、CN3、CN4,如圖中的配置[4]、[5]、[6]。以依類推,待需要轉移的虛擬機皆分配好計算節點,或是已沒有任何虛擬機可被挑選,虛擬機排程器即完成虛擬機轉移的排程,而可開始進行批次平行轉移。
需說明的是,計算節點10在由自我檢查器14執行自我檢查的階段中,會維護一組虛擬機觀察名單(Watch list)與黑名 單(Blacklist),並存入資料庫26。虛擬機管理節點20上的計算節點健康檢查器23將持續維護有問題的虛擬機之觀察名單與黑名單。
計算節點健康檢查器23可根據不同虛擬機的應用服務,例如可針對各個虛擬機VM i 定義資源異常標準:CPU(
Figure 107128364-A0305-02-0027-26
)、記憶體(
Figure 107128364-A0305-02-0027-28
)、網路(
Figure 107128364-A0305-02-0027-29
),而在每次進行虛擬機轉移的操作之前,計算節點健康檢查器23將於資料庫26中,確認於觀察名單中的虛擬機之資源使用量/使用率。其中,若虛擬機資源使用量/使用率異常(即超過上述的資源異常標準),則記錄此虛擬機之可疑累計次數,而當虛擬機的可疑累計次數超過可容忍值之範圍時,將該虛擬機放入黑名單中。
綜上所述,本發明的計算節點及其失效偵測方法與雲端資料處理系統提供一種可運行在雲端管理系統上的計算節點失效管理機制,藉由在時間及空間維度上設計多重檢查機制,可確認計算節點的真實狀態,並提供完整的虛擬機轉移裝制,而可實現失效計算節點的虛擬機轉移。
雖然本發明已以例示性實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S302~S306:計算節點失效偵測方法的步驟

Claims (20)

  1. 一種計算節點失效偵測方法,適用於包括多個計算節點及至少一管理節點的雲端資料處理系統,該方法包括下列步驟:前述多個計算節點的各個計算節點自我檢查所提供服務的運作狀態及資源使用狀態,並將檢查結果回報所述管理節點;各個所述計算節點根據個別之所述檢查結果動態調整下次回報的間隔時間,並將所述間隔時間告知所述管理節點;以及所述管理節點根據各個所述計算節點之所述間隔時間檢視各個所述計算節點之所述檢查結果的回報狀況,以判斷各個所述計算節點是否失效。
  2. 如申請專利範圍第1項所述的方法,其中所述計算節點根據所述檢查結果動態調整下次回報的間隔時間的步驟包括:判斷所述計算節點的多個資源中的至少一個資源的使用量或使用率是否超過使用門檻;以及若所述資源的使用量或使用率超過所述使用門檻,縮短所述間隔時間。
  3. 如申請專利範圍第1項所述的方法,其中所述管理節點根據所述間隔時間檢視所述檢查結果的回報狀況,以判斷所述計算節點是否失效的步驟包括:在以所述間隔時間定義的回報時間,檢視是否接收到所述檢查結果;若未接收到所述檢查結果,累計錯誤次數;以及 重複上述檢視步驟,並在所累計的所述錯誤次數大於錯誤門檻時,判斷所述計算節點失效。
  4. 如申請專利範圍第1項所述的方法,其中所述管理節點包括虛擬機管理節點,而所述管理節點根據所述間隔時間檢視所述檢查結果的回報狀況,以判斷所述計算節點是否失效的步驟包括:所述虛擬機管理節點在以所述間隔時間定義的回報時間,檢視是否接收到所述檢查結果,並在未接收到所述檢查結果時,累計錯誤次數;所述虛擬機管理節點檢視資料庫中由所述計算節點對於其所提供的所述服務的運作狀態的更新,並在所述資料庫未更新的次數超過預設次數時,累計所述錯誤次數;所述虛擬機管理節點藉由心跳服務(Heart-beat service)檢視與所述計算節點的心跳連線的狀態,並在所述心跳連線中斷時,累計所述錯誤次數;以及重複上述檢視步驟,並在所累計的所述錯誤次數大於錯誤門檻時,判斷所述計算節點失效。
  5. 如申請專利範圍第1項所述的方法,其中所述管理節點包括虛擬機管理節點及資料中心管理節點,而所述管理節點根據所述間隔時間檢視所述檢查結果的回報狀況,以判斷所述計算節點是否失效的步驟包括: 所述虛擬機管理節點在以所述間隔時間定義的回報時間,檢視所述檢查結果的接收是否正常,以獲得第一狀態;所述虛擬機管理節點檢視資料庫中由所述計算節點對於其所提供的所述服務的運作狀態的更新是否正常,以獲得第二狀態;所述虛擬機管理節點藉由心跳服務檢視與所述計算節點的心跳連線是否正常,以獲得第三狀態;所述資料中心管理節點在以所述間隔時間定義的回報時間,檢視所述檢查結果的接收是否正常,以獲得第四狀態;所述資料中心管理節點連線至所述計算節點檢視所述計算節點的所述服務的運作狀態是否正常,以獲得第五狀態,其中當所述第一、第二、第四及第五狀態為異常、所述第三狀態為正常且確認所述服務落入重啟迴圈時,累計錯誤次數,當所述第一、第二、第三及第四狀態為異常時,累計所述錯誤次數,以及當所述第一、第二、第三及第五狀態為異常、所述第四狀態為正常且所述服務重啟不成功時,或當所述第一、第二及第四狀態為異常、所述第三狀態為正常且所述服務重啟不成功時,累計所述錯誤次數;以及重複上述檢視步驟,並在所累計的所述錯誤次數大於錯誤門檻時,判斷所述計算節點失效。
  6. 如申請專利範圍第1項所述的方法,更包括: 所述管理節點根據所述檢查結果中的所述資源使用狀態,將運行在所述計算節點上的至少一虛擬機的資源使用量或使用率與預先定義的虛擬機資源規格進行比對,以判斷所述資源使用量或使用率是否超過預設值或預設比例;以及若所述資源使用量或使用率超過所述預設值或預設比例,或是所述資源使用量或使用率超過所述預設值或預設比例的次數超過預設次數,將所述資源使用量或使用率對應的所述虛擬機列入黑名單,其中列入所述黑名單的所述虛擬機被禁止轉移至其他計算節點。
  7. 如申請專利範圍第1項所述的方法,其中在判斷所述計算節點是否失效的步驟之後,所述方法更包括:若判斷所述計算節點失效,將運行在所述計算節點上的至少一虛擬機平行轉移至其他計算節點。
  8. 如申請專利範圍第7項所述的方法,其中將運行在所述計算節點上的所述虛擬機平行轉移至其他計算節點的步驟包括:選擇所述其他計算節點中具有較多可用資源的多個計算節點,依序分配可滿足運行在所述計算節點上的所述虛擬機的資源需求且具有較高利益成本的多個虛擬機,其中所述利益成本為所述選擇的計算節點滿足各所述虛擬機可保障的利益與運行該虛擬機所消耗的資源成本的比值。
  9. 一種雲端資料處理系統,包括: 多個計算節點,各所述計算節點包括自我檢查器,自我檢查所提供服務的運作狀態及資源使用狀態以回報檢查結果,並根據所述檢查結果動態調整下次回報所述檢查結果的間隔時間;以及至少一管理節點,所述管理節點接收由各所述計算節點回報的所述檢查結果以及告知的所述間隔時間,並根據所述間隔時間檢視對應的所述計算節點回報所述檢查結果的回報狀況,以判斷對應的所述計算節點是否失效。
  10. 如申請專利範圍第9項所述的雲端資料處理系統,其中各所述計算節點的所述自我檢查器判斷多個資源中的至少一個資源的使用量或使用率是否超過使用門檻,並在所述資源的使用量或使用率超過所述使用門檻,縮短所述間隔時間。
  11. 如申請專利範圍第9項所述的雲端資料處理系統,其中所述管理節點在以所述間隔時間定義的回報時間,檢視是否接收到所述檢查結果,並在未接收到所述檢查結果時,累計錯誤次數,以及在所累計的所述錯誤次數大於錯誤門檻時,判斷對應的所述計算節點失效。
  12. 如申請專利範圍第9項所述的雲端資料處理系統,其中所述管理節點包括:虛擬機管理節點,包括:資料庫,儲存虛擬機資訊; 第一檢查接受器,在以所述間隔時間定義的回報時間,檢視是否接收到所述檢查結果,並在未接收到所述檢查結果時,累計錯誤次數;計算節點健康檢查器,檢視所述資料庫中由所述計算節點的計算服務器對於所述計算節點所提供的所述服務的運作狀態的更新,並在所述資料庫未更新的次數超過預設次數時,累計所述錯誤次數;以及心跳服務器,藉由心跳服務(Heart-beat service)檢視與所述計算節點的心跳連線的狀態,並在所述心跳連線中斷時,累計所述錯誤次數,其中所述第一檢查接受器在所累計的所述錯誤次數大於錯誤門檻時,判斷所述計算節點失效。
  13. 如申請專利範圍第9項所述的雲端資料處理系統,其中所述管理節點包括:虛擬機管理節點,包括:資料庫,儲存虛擬機資訊;第一檢查接受器,在以所述間隔時間定義的回報時間,檢視所述檢查結果的接收是否正常,以獲得第一狀態;計算節點健康檢查器,檢視該資料庫中由所述計算節點的計算服務器對於所述計算節點所提供的所述服務的運作狀態的更新是否正常,以獲得第二狀態;以及心跳服務器,藉由心跳服務檢視與所述計算節點的心跳連 線是否正常,以獲得第三狀態;以及資料中心管理節點,包括:第二檢查接受器,在以所述間隔時間定義的回報時間,檢視所述檢查結果的接收是否正常,以獲得第四狀態;以及服務監視器,連線至所述計算節點檢視所述計算節點的所述服務的運作狀態是否正常,以獲得第五狀態,其中當所述第一、第二、第四及第五狀態為異常、所述第三狀態為正常且所述服務監視器確認所述服務落入重啟迴圈時,所述服務監視器累計錯誤次數,當所述第一、第二、第三及第四狀態為異常時,所述服務監視器累計所述錯誤次數,以及當所述第一、第二、第三及第五狀態為異常、所述第四狀態為正常且所述服務監視器確認所述服務重啟不成功時,或當所述第一、第二及第四狀態為異常、所述第三狀態為正常且所述服務監視器確認所述服務重啟不成功時,所述服務監視器累計所述錯誤次數,並在所累計的所述錯誤次數大於錯誤門檻時,判斷所述計算節點失效。
  14. 如申請專利範圍第13項所述的雲端資料處理系統,其中所述第一檢查接受器更根據所述檢查結果中的所述資源使用狀態,將運行在所述計算節點上的至少一虛擬機的資源使用量或使用率與預先定義的虛擬機資源規格進行比對,以判斷所述資源使用量或使用率是否超過預設值或預設比例,其中 若所述資源使用量或使用率超過所述預設值或預設比例,或是所述資源使用量或使用率超過所述預設值或預設比例的次數超過預設次數,所述第一檢查接受器更將所述資源使用量或使用率對應的所述虛擬機列入黑名單,以禁止所述虛擬機轉移至其他計算節點。
  15. 如申請專利範圍第13項所述的雲端資料處理系統,其中所述虛擬機管理節點更包括:虛擬機排程器,在所述服務監視器判斷所述計算節點失效時,將運行在所述計算節點上的至少一虛擬機平行轉移至其他計算節點。
  16. 如申請專利範圍第15項所述的雲端資料處理系統,其中所述虛擬機排程器選擇所述其他計算節點中具有較多可用資源的多個計算節點,依序分配可滿足運行在所述計算節點上的所述虛擬機的資源需求且具有較高利益成本的多個虛擬機,其中所述利益成本為所述選擇的計算節點滿足各所述虛擬機可保障的利益與運行該虛擬機所消耗的資源成本的比值。
  17. 一種計算節點,包括:自我檢查器,自我檢查所提供服務的運作狀態及資源使用狀態,並將檢查結果回報至少一管理節點,以及根據所述檢查結果動態調整下次回報所述檢查結果的間隔時間,並將所述間隔時間告知所述管理節點,其中 所述管理節點根據所述間隔時間檢視所述檢查結果的回報狀況,以判斷所述計算節點是否失效。
  18. 如申請專利範圍第17項所述的計算節點,其中所述自我檢查器判斷所述計算節點的多個資源中的至少一個資源的使用量或使用率是否超過使用門檻,並在所述資源的使用量或使用率超過所述使用門檻時,縮短所述間隔時間。
  19. 如申請專利範圍第17項所述的計算節點,更包括:心跳服務器,藉由心跳服務與所述管理節點傳遞心跳封包,以供所述管理節點判斷心跳連線的狀態,並據以判斷所述計算節點是否失效。
  20. 如申請專利範圍第17項所述的計算節點,更包括:計算服務器,與所述管理節點的服務監視器連線,以供所述服務監視器判斷所述服務的運作狀態是否正常,並據以判斷所述計算節點是否失效。
TW107128364A 2018-08-14 2018-08-14 計算節點及其失效偵測方法與雲端資料處理系統 TWI686696B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW107128364A TWI686696B (zh) 2018-08-14 2018-08-14 計算節點及其失效偵測方法與雲端資料處理系統
CN201910023516.0A CN110825544B (zh) 2018-08-14 2019-01-10 计算节点及其失效检测方法与云端数据处理系统
US16/244,106 US10802900B2 (en) 2018-08-14 2019-01-10 Compute node, failure detection method thereof and cloud data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107128364A TWI686696B (zh) 2018-08-14 2018-08-14 計算節點及其失效偵測方法與雲端資料處理系統

Publications (2)

Publication Number Publication Date
TW202009703A TW202009703A (zh) 2020-03-01
TWI686696B true TWI686696B (zh) 2020-03-01

Family

ID=69524090

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107128364A TWI686696B (zh) 2018-08-14 2018-08-14 計算節點及其失效偵測方法與雲端資料處理系統

Country Status (3)

Country Link
US (1) US10802900B2 (zh)
CN (1) CN110825544B (zh)
TW (1) TWI686696B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11327854B2 (en) * 2018-11-15 2022-05-10 Walmart Apollo, Llc System and method for an adaptive election in semi-distributed environments
CN111651291B (zh) * 2020-04-23 2023-02-03 国网河南省电力公司电力科学研究院 一种共享存储集群防脑裂的方法、系统、计算机存储介质
CN113760610A (zh) * 2020-06-01 2021-12-07 富泰华工业(深圳)有限公司 基于OpenStack的裸机高可用性的实现方法、装置及电子设备
CN111651278B (zh) * 2020-06-29 2023-08-01 中国电子科技集团公司第十四研究所 一种基于软件化雷达的动态重构方法及平台
CN111953569B (zh) * 2020-08-27 2022-04-29 浪潮电子信息产业股份有限公司 状态信息上报方法、装置、设备及介质
CN112527544B (zh) * 2020-11-23 2022-04-29 聚好看科技股份有限公司 一种服务器、触发熔断的方法及装置
CN112910981B (zh) * 2021-01-27 2022-07-26 联想(北京)有限公司 一种控制方法及装置
CN112448858B (zh) * 2021-02-01 2021-04-23 腾讯科技(深圳)有限公司 网络通信控制方法及装置、电子设备和可读存储介质
CN113590024B (zh) * 2021-06-18 2023-12-22 济南浪潮数据技术有限公司 一种分布式存储系统的健康巡检方法、装置及终端
CN113626238B (zh) * 2021-07-23 2024-02-20 济南浪潮数据技术有限公司 ctdb服务健康状态监控方法、系统、装置及存储介质
CN113765709B (zh) * 2021-08-23 2022-09-20 中国人寿保险股份有限公司上海数据中心 基于Openstack云平台多维监控的虚拟机高可用实现系统及方法
US11880265B2 (en) * 2021-12-21 2024-01-23 Nvidia Corporation Error rate interrupts in hardware for high-speed signaling interconnect
CN114448843A (zh) * 2021-12-23 2022-05-06 天翼云科技有限公司 一种自适应的心跳检测方法及装置、电子设备
US11632315B1 (en) * 2022-01-19 2023-04-18 Dell Products L.P. System and method for dynamic reporting based management
CN115378945B (zh) * 2022-10-25 2023-03-10 北京创新乐知网络技术有限公司 基于云服务的管理方法及系统
CN116436768B (zh) * 2023-06-14 2023-08-15 北京理想信息科技有限公司 基于交叉心跳监测的自动备援方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389243A (zh) * 2015-10-26 2016-03-09 华为技术有限公司 一种容器监控方法和装置
CN106796540A (zh) * 2014-07-29 2017-05-31 沙特阿拉伯石油公司 用于分布式计算的主动故障恢复模型
TW201738747A (zh) * 2016-03-10 2017-11-01 Alibaba Group Services Ltd 實體機器故障分類處理方法、裝置和虛擬機器恢復方法、系統
US9990220B2 (en) * 2013-06-18 2018-06-05 Vmware, Inc. Hypervisor remedial action for a virtual machine in response to an error message from the virtual machine

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5894583A (en) * 1996-04-09 1999-04-13 International Business Machines Corporation Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems
US6370656B1 (en) * 1998-11-19 2002-04-09 Compaq Information Technologies, Group L. P. Computer system with adaptive heartbeat
US7353269B2 (en) * 2000-12-21 2008-04-01 Fujitsu Limited Network monitoring system
US7254601B2 (en) * 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7233989B2 (en) * 2002-02-22 2007-06-19 Bea Systems, Inc. Method for automatic monitoring of managed server health
US20060294221A1 (en) * 2005-06-22 2006-12-28 Sven Graupner System for programmatically controlling measurements in monitoring sources
GB0516554D0 (en) * 2005-08-11 2005-09-21 Ibm Method, apparatus and computer program for enabling monitoring of a resource
US20070112954A1 (en) * 2005-11-15 2007-05-17 Yahoo! Inc. Efficiently detecting abnormal client termination
US7395187B2 (en) * 2006-02-06 2008-07-01 International Business Machines Corporation System and method for recording behavior history for abnormality detection
US9026575B2 (en) * 2006-09-28 2015-05-05 Alcatel Lucent Technique for automatically configuring a communication network element
CN101281486A (zh) * 2007-04-04 2008-10-08 英业达股份有限公司 系统环境的监控方法
US7644254B2 (en) 2007-04-18 2010-01-05 International Business Machines Corporation Routing data packets with hint bit for each six orthogonal directions in three dimensional torus computer system set to avoid nodes in problem list
US8248252B2 (en) * 2008-11-21 2012-08-21 Schechter Tech, Llc Remote monitoring system
US9280380B2 (en) 2012-02-29 2016-03-08 Red Hat Israel, Ltd. Management of I/O reqeusts in virtual machine migration
JPWO2014054274A1 (ja) * 2012-10-02 2016-08-25 パナソニックIpマネジメント株式会社 監視装置及び監視方法
CN103873516B (zh) 2012-12-14 2018-02-16 中兴通讯股份有限公司 提高云计算资源池中物理服务器使用率的ha方法和系统
US9491067B2 (en) * 2013-04-09 2016-11-08 Cisco Technology, Inc. Timeout for identifying network device presence
US9465704B2 (en) 2014-03-26 2016-10-11 Vmware, Inc. VM availability during management and VM network failures in host computing systems
US9558082B2 (en) 2014-03-28 2017-01-31 Vmware, Inc. VM availability during migration and VM network failures in host computing systems
CN104333465B (zh) * 2014-10-31 2019-06-11 北京奇安信科技有限公司 一种心跳间隔设置的方法、装置及系统
CN106155812A (zh) * 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 一种对虚拟主机的资源管理的方法、装置、系统及电子设备
CN105897499A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 分布式存储系统节点状态监控方法、中心节点及系统
US10243780B2 (en) * 2016-06-22 2019-03-26 Vmware, Inc. Dynamic heartbeating mechanism
CN106230986A (zh) 2016-09-21 2016-12-14 南方电网科学研究院有限责任公司 一种基于电力PaaS云平台的资源适配调度系统及方法
US20190036772A1 (en) * 2017-12-28 2019-01-31 Intel Corporation Intelligent wireless configuration for iot devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9990220B2 (en) * 2013-06-18 2018-06-05 Vmware, Inc. Hypervisor remedial action for a virtual machine in response to an error message from the virtual machine
CN106796540A (zh) * 2014-07-29 2017-05-31 沙特阿拉伯石油公司 用于分布式计算的主动故障恢复模型
CN105389243A (zh) * 2015-10-26 2016-03-09 华为技术有限公司 一种容器监控方法和装置
TW201738747A (zh) * 2016-03-10 2017-11-01 Alibaba Group Services Ltd 實體機器故障分類處理方法、裝置和虛擬機器恢復方法、系統

Also Published As

Publication number Publication date
CN110825544B (zh) 2023-07-07
US20200057686A1 (en) 2020-02-20
US10802900B2 (en) 2020-10-13
TW202009703A (zh) 2020-03-01
CN110825544A (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
TWI686696B (zh) 計算節點及其失效偵測方法與雲端資料處理系統
US9755990B2 (en) Automated reconfiguration of shared network resources
US7797572B2 (en) Computer system management method, management server, computer system, and program
US8875142B2 (en) Job scheduling on a multiprocessing system based on reliability and performance rankings of processors and weighted effect of detected errors
US20170155560A1 (en) Management systems for managing resources of servers and management methods thereof
CN103455368B (zh) 一种死锁检测方法、节点及系统
US9329937B1 (en) High availability architecture
US10924538B2 (en) Systems and methods of monitoring software application processes
TW201535266A (zh) 虛擬機器之資源調整方法及系統
EP2518627B1 (en) Partial fault processing method in computer system
WO2017120106A1 (en) Deferred server recovery in computing systems
US20160036654A1 (en) Cluster system
US20180081776A1 (en) Automated System-Level Failure and Recovery
JPWO2018003031A1 (ja) 仮想化管理プログラム、仮想化管理装置および仮想化管理方法
CN114461335A (zh) 云计算环境虚拟机和容器弹性伸缩方法、装置及设备
US9529656B2 (en) Computer recovery method, computer system, and storage medium
Stack et al. Self-healing in a decentralised cloud management system
Kirti et al. Fault‐tolerance approaches for distributed and cloud computing environments: A systematic review, taxonomy and future directions
US20230362103A1 (en) Reducing placement conflicts between concurrent virtual machine allocations
Sinha et al. A failure detector for crash recovery systems in cloud
JP6112205B2 (ja) 情報処理システム、装置、方法及びプログラム
US20230292171A1 (en) Mesh network reconfiguration for service reinforcement
CN112291288B (zh) 一种容器集群伸缩方法、装置、电子设备及可读存储介质
WO2008015730A1 (fr) Procédé et programme pour éviter un échec d'exécution d'une tâche dans un système de calcul de grille et système de calcul de grille
Fu et al. Enhancing MapReduce Fault Recovery Through Binocular Speculation