新四季網

一種ha預警方法及虛擬資源管理器的製造方法

2023-10-05 16:19:09

一種ha預警方法及虛擬資源管理器的製造方法
【專利摘要】本發明實施例提供的HA預警方法及虛擬資源管理器,涉及通信領域,可以在產生HA預警時減少誤差,提高HA預警準確度。所述方法包括:將伺服器集群中同一規格個數最多的虛擬機的CPU資源和內存資源作為虛擬機標準規格;選擇N個CPU資源最大的伺服器為預設故障伺服器,剩餘伺服器為預設正常伺服器;針對每一臺預設正常伺服器,計算預設正常伺服器的狀態值並將各個預設正常伺服器的狀態值相加,獲得伺服器狀態值總和;針對伺服器集群中的每一臺虛擬機,計算虛擬機的狀態值,並將各個虛擬機的狀態值相加,獲得虛擬機狀態值總和;比較虛擬機狀態值總和是否大於伺服器狀態值總和;若大於,則發出HA預警,若小於等於,則不發出HA預警。
【專利說明】—種HA預警方法及虛擬資源管理器
【技術領域】
[0001]本發明涉及通信領域,尤其涉及一種HA (high availability,高可用性)預警方法及虛擬資源管理器。
【背景技術】
[0002]在雲計算中採用虛擬化技術,可以允許一個伺服器可以同時為多個虛擬機提供服務,並且每一個虛擬機都可以獨立運行而互不影響,從而顯著提高工作效率。針對某一個有多臺伺服器的集群,管理員可以提前假定該集群中會有任意N臺伺服器(N為大於零的正整數)出現故障,系統會進行HA預警計算,即計算剩餘的正常伺服器的資源,並檢測剩餘的正常伺服器的資源是否可以承載集群下所有虛擬機的正常運行,如果不能承載集群下所有虛擬機的正常運行則產生HA預警。這樣管理員就可以據HA預警對集群進行擴容或者減容操作。
[0003]現有技術中的一種HA預警方法是,假定資源最多的N臺伺服器出現故障,統計剩餘的預設正常伺服器的CPU資源總和及內存資源總和,統計集群中的虛擬機的CPU資源總和及內存資源總和。如果剩餘的預設正常伺服器的CPU資源總和小於虛擬機CPU資源總和,或剩餘的預設正常伺服器的內存總和小於虛擬機的內存總和,就會產生HA預警。示例的,可以用aUbG的形式表不伺服器和虛擬機的規格,其中U代表CPU, G代表內存,假設一個集群中有三臺規格都為IUlG伺服器和一個規格為2U2G的虛擬機,預設N等於I,這時剩餘的預設正常伺服器的CPU資源總和及內存資源總和為2U2G,根據上述算法是可以承載該集群下規格為2U2G的虛擬機的正常運行,不應產生HA預警;但事實上一個規格為2U2G的虛擬機是不能被兩個規格為IUlG的伺服器承載的,即此時集群中正常伺服器是不能夠承載集群下所有虛擬機的正常運行的,應該產生HA預警。故按照上述的HA預警方法存在誤差。
[0004]還存在一種HA預警方法,檢測集群下虛擬機CPU資源和內存資源的最大值,將這兩個最大值預設為虛擬機標準規格,假定資源最多的N臺伺服器出現故障,然後統計剩餘的預設正常伺服器中CPU資源、內存資源均大於或等於虛擬機標準規格中的CPU資源和內存資源的伺服器數量X,統計集群中虛擬機的總數量Y。當X小於Y時產生HA預警。示例的,假設集群中有三臺伺服器且規格分別為3U3G,各伺服器下的虛擬機規格分別為2U1G、1U2GUU1G,預設N等於I ;根據上述算法確定出的虛擬機標準規格為2U2G,這時剩餘的2臺伺服器均有3U大於2U、3G大於2G,所以X等於2,而Y等於3,由於2小於3所以產生HA預警。事實上剩餘的2臺規格為3U3G的伺服器可以承載上述三種規格的虛擬機的正常運行,不需要產生HA預警,所以這種HA預警方法也存在誤差。

【發明內容】

[0005]本發明的實施例提供的一種HA預警方法及虛擬資源管理器,可以在產生HA預警時減少誤差,提高HA預警準確度。
[0006]第一方面,公開了一種HA預警方法,包括:[0007]確定虛擬機標準規格,其中,所述虛擬機標準規格為所述伺服器集群中同一規格個數最多的虛擬機的CPU資源和內存資源;
[0008]選擇所述伺服器集群中的N個CPU資源最大的伺服器為預設故障伺服器,剩餘伺服器為預設正常伺服器,所述N為大於O的整數,所述資源包括CPU資源和內存資源;
[0009]針對每一臺所述預設正常伺服器,計算所述預設正常伺服器的狀態值,所述預設正常伺服器的狀態值為所述預設正常伺服器的資源與所述虛擬機標準規格中的資源的比值中的最小值;
[0010]將各個所述預設正常伺服器的所述狀態值相加,獲得伺服器狀態值總和;
[0011]針對所述伺服器集群中的每一臺虛擬機,計算所述虛擬機的狀態值,所述虛擬機的狀態值為所述虛擬機的資源與所述虛擬機標準規格中的資源的比值中的最大值;
[0012]將各個所述虛擬機的狀態值相加,獲得虛擬機狀態值總和;
[0013]比較所述虛擬機狀態值總和是否大於所述伺服器狀態值總和;
[0014]若大於,則發出HA預警,若小於等於,則不發出HA預警。
[0015]結合第一方面,在第一種可能的實現方式中,所述選擇所述伺服器集群中的N個CPU資源最大的伺服器為預設故障伺服器,包括:
[0016]將所有所述伺服器按照CPU資源從大到小的順序排序,若所述伺服器的CPU資源相同,則按照內存資源從大到小的順序排序,獲得伺服器資源順序表;
[0017]選擇所述伺服器資源順序表中的前N臺伺服器為預設故障伺服器。
[0018]結合第一方面的第一種可能的實現方式,在第二種可能的實現方式中,在獲得所述伺服器資源順序表時,若所述伺服器的CPU資源和內存資源均相同,則按照伺服器的索引號從小到大排序。
[0019]結合第一方面、第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式,在第三種可能的實現方式中,若所述伺服器集群承載的業務為普通業務,則所述N為I或2 ;若所述伺服器集群承載的業務為重要業務,則所述N為所述伺服器集群中伺服器的個數的50%。
[0020]結合第一方面、第一方面的第一種可能的實現方式、第一方面的第二種可能的實現方式和第一方面的第三種可能的實現方式,在第四種可能的實現方式中,所述預設正常伺服器的狀態值為:所述預設正常伺服器的CPU資源除以所述虛擬機標準規格中的CPU資源後向下取整得到的值,以及所述預設正常伺服器的內存資源除以所述虛擬機標準規格中的內存資源後向下取整得到的值,中的最小值。
[0021]結合第一方面、第一方面的第一種可能的實現方式、第一方面的第二種可能的實現方式和第一方面的第三種可能的實現方式,在第四種可能的實現方式中,在所述虛擬機的CPU資源和內存資源均小於等於所述虛擬機標準規格中的CPU資源和內存資源時,所述虛擬機的狀態值為I ;在所述虛擬機的CPU資源大於所述虛擬機標準規格中的CPU資源,或所述虛擬機的內存資源大於所述虛擬機標準規格中的內存資源時,所述虛擬機的狀態值為:所述虛擬機的CPU資源除以所述虛擬機標準規格中的CPU資源後向上取整得到的值,以及所述虛擬機的內存資源除以所述虛擬機標準規格中的內存資源後向上取整得到的值,中的最大值。
[0022]結合第一方面,在第六種可能的實現方式中,所述針對每一臺所述預設正常伺服器,計算所述預設正常伺服器的狀態值,還包括:
[0023]若所述預設正常伺服器出現異常,則將出現異常的預設正常伺服器的狀態值設置為O。
[0024]結合第一方面,在第七種可能的實現方式中,所述針對每一臺所述虛擬機,計算所述虛擬機的狀態值,還包括:
[0025]若所述虛擬機出現異常,則將出現異常的虛擬機的狀態值設置為O。
[0026]第二方面,公開了一種虛擬資源管理器,包括:
[0027]確定單元,用於確定虛擬機標準規格,其中,所述虛擬機標準規格為所述伺服器集群中同一規格個數最多的虛擬機的CPU資源和內存資源;
[0028]選擇單元,用於選擇所述伺服器集群中的N個CPU資源最大的伺服器為預設故障伺服器,剩餘伺服器為預設正常伺服器,所述N為大於O的整數,所述資源包括CPU資源和內存資源;
[0029]計算單元,用於針對每一臺所述預設正常伺服器,計算所述預設正常伺服器的狀態值,所述預設正常伺服器的狀態值為所述預設正常伺服器的資源與所述虛擬機標準規格中的資源的比值中的最小值;
[0030]所述計算單元還用於,將各個所述預設正常伺服器的所述狀態值相加,獲得伺服器狀態值總和;
[0031]所述計算單元還用於,針對所述伺服器集群中的每一臺虛擬機,計算所述虛擬機的狀態值,所述虛擬機的狀態值為所述虛擬機的資源與所述虛擬機標準規格中的資源的比值中的最大值;
[0032]所述計算單元還用於,將各個所述虛擬機的狀態值相加,獲得虛擬機狀態值總和;
[0033]比較單元,用於比較所述計算單元獲得的所述虛擬機狀態值總和是否大於所述計算單元獲得的所述伺服器狀態值總和;
[0034]預警單元,用於在所述比較單元比較出所述虛擬機狀態值總和大於所述伺服器狀態值總和時發出HA預警;在所述比較單元比較出所述虛擬機狀態值總和小於等於所述伺服器狀態值總和時不發出HA預警。
[0035]結合第二方面,在第一種可能的實現方式中,所述選擇單元具體用於,將所有所述伺服器按照CPU資源從大到小的順序排序,若所述伺服器的CPU資源相同,則按照內存資源從大到小的順序排序,獲得伺服器資源順序表;並選擇所述伺服器資源順序表中的前N臺伺服器為預設故障伺服器。
[0036]結合第二方面的第一種可能的實現方式,在第二種可能的實現方式中,所述選擇單元還用於,在獲得所述伺服器資源順序表時,若所述伺服器的CPU資源和內存資源均相同,則按照伺服器的索引號從小到大排序。
[0037]結合第二方面、第二方面的第一種可能的實現方式或第二方面的第二種可能的實現方式,在第三種可能的實現方式中,若所述伺服器集群承載的業務為普通業務,則所述N為I或2 ;若所述伺服器集群承載的業務為重要業務,則所述N為所述伺服器集群中伺服器的個數的50%。
[0038]結合第二方面、第二方的第一種可能的實現方式、第二方面的第二種可能的實現方式和第二方的第三種可能的實現方式,在第四種可能的實現方式中,所述預設正常伺服器的狀態值為:所述預設正常伺服器的CPU資源除以所述虛擬機標準規格中的CPU資源後向下取整得到的值,以及所述預設正常伺服器的內存資源除以所述虛擬機標準規格中的內存資源後向下取整得到的值,中的最小值。
[0039]結合第二方面、第二方面的第一種可能的實現方式、第二方面的第二種可能的實現方式和第二方面的第三種可能的實現方式,在第五種可能的實現方式中,在所述虛擬機的CPU資源和內存資源均小於等於所述虛擬機標準規格中的CPU資源和內存資源時,所述虛擬機的狀態值為I ;在所述虛擬機的CPU資源大於所述虛擬機標準規格中的CPU資源,或所述虛擬機的內存資源大於所述虛擬機標準規格中的內存資源時,所述虛擬機的狀態值為:所述虛擬機的CPU資源除以所述虛擬機標準規格中的CPU資源後向上取整得到的值,以及所述虛擬機的內存資源除以所述虛擬機標準規格中的內存資源後向上取整得到的值,中的最大值。
[0040]結合第二方面,在第六種可能的實現方式中,所述計算單元還用於,在所述預設正常伺服器出現異常時,將出現異常的預設正常伺服器的狀態值設置為O。
[0041]結合第二方面,在第七種可能的實現方式中,所述計算單元還用於,在所述虛擬機出現異常時,將出現異常的虛擬機的狀態值設置為O。
[0042]本發明實施例提供的HA預警方法及虛擬資源管理器,將伺服器集群中同一規格個數最多的虛擬機的CPU資源和內存資源,作為虛擬機標準規格,計算集群中各個預設正常伺服器的狀態值和各個虛擬機的狀態值,然後將各個預設正常伺服器的狀態值相加獲得預設正常伺服器狀態值總和,將各個虛擬機的狀態值相加獲得,比較所述虛擬機狀態值總和是否大於所述預設正常伺服器狀態值總和,若大於,則產生HA預警。與現有技術中僅比較預設正常伺服器總資源和虛擬機總資源,或將所有虛擬機中CPU資源和內存資源的最大值作為虛擬機標準規格的CPU資源和內存資源,導致HA預警出現誤差相比,本發明提供的HA預警方法,將虛擬機的標準規格修訂為眾數,代表了數據的一般水平,故可以在產生HA預警時減少誤差,提高HA預警準確度。
【專利附圖】

【附圖說明】
[0043]圖1為本發明實施例1提供的一種HA預警方法的流程示意圖;
[0044]圖2為本發明實施例2提供的一種虛擬資源管理器的結構框圖;
[0045]圖3為本發明實施例3提供的一種虛擬資源管理器的結構框圖。
【具體實施方式】
[0046]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0047]實施例1:
[0048]本發明實施例提供了 一種HA預警方法,應用於一個伺服器集群,如圖1所示,所述方法包括以下步驟:[0049]101、確定虛擬機標準規格。
[0050]其中,所述虛擬機標準規格為所述伺服器集群中同一規格個數最多的虛擬機的規格,所述虛擬機的規格包括CPU資源和內存資源。
[0051 ] 眾數是一組數據中出現次數最多的數值,代表數據的一般水平。將所述伺服器集群中同一規格個數最多的虛擬機的CPU資源和內存資源作為虛擬機標準規格中的CPU資源和內存資源,可以表示集群中虛擬機規格的普遍情況,進而提高HA預警的準確性。
[0052]示例的,若集群A中有I臺2U1G虛擬機、I臺1U2G虛擬機、2臺IUlG虛擬機,其中IUlG虛擬機是個數最多的虛擬機,所以在該集群中,確定的虛擬機標準規格為1U1G。
[0053]102、選擇所述伺服器集群中的N個CPU資源最大的伺服器為預設故障伺服器,剩餘伺服器為預設正常伺服器,所述N為大於O的整數。
[0054]針對某一個有多臺伺服器的集群,管理員可以提前假定該集群中會有任意N臺伺服器(N為大於零的正整數)出現故障,系統會進行HA預警計算,即計算剩餘的正常伺服器的資源,並檢測剩餘的正常伺服器的資源是否可以承載集群下所有虛擬機的正常運行,如果不能承載集群下所有虛擬機的正常運行則產生HA預警。這樣管理員就可以據HA預警對集群進行擴容或者減容操作。
[0055]這裡,選擇所述伺服器集群中的N個資源最大的伺服器為預設故障伺服器的方法主要包括:將所有所述伺服器按照CPU資源從大到小的順序排序,,若所述伺服器的CPU資源相同,則按照內存資源從大到小的順序排序,獲得伺服器資源順序表,其中若所述伺服器的CPU資源和內存資源均相同,則按照伺服器的索引號從小到大排序。選擇所述伺服器資源順序表中的前N臺伺服器為預設故障伺服器。
[0056]若伺服器集群當前承載的業務為普通業務,在進行HA預警時,首先將所述N設置為1-2臺。若伺服器集群當前承載的業務為重要業務,則將N設置為集群中伺服器個數50%。示例的,在集群A中有2臺2U1G伺服器、I臺3U3G伺服器、I臺4U2G。若當前業務為普通業務,則將N設置為I (或2),這時在集群A中,獲得的伺服器資源順序表中的前I臺為規格為4U2G的伺服器,故將這臺伺服器設置為預設故障伺服器,則剩餘的2臺2U1G伺服器、I臺3U3G伺服器均為預設正常伺服器。
[0057]103、針對每一臺所述預設正常伺服器,計算所述預設正常伺服器的狀態值。
[0058]其中,所述預設正常伺服器的狀態值為所述預設正常伺服器的資源與所述虛擬機標準規格中的資源的比值中的最小值。所述預設正常伺服器的狀態值的具體為:所述預設正常伺服器的CPU資源除以所述虛擬機標準規格中的CPU資源後向下取整得到的值,以及所述預設正常伺服器的內存資源除以所述虛擬機標準規格中的內存資源後向下取整得到的值,中的最小值。
[0059]計算所述預設正常伺服器的狀態值,在所述預設正常伺服器出現異常時,針對該預設正常伺服器進行上述計算步驟,可以獲得準確的HA預警結果。
[0060]或者,在所述預設正常伺服器出現異常時,將該預設正常伺服器的狀態值設置為0,可以得到更為準確的HA預警結果。這裡所述預設正常伺服器出現異常包括:如果某一臺伺服器下電後,該伺服器的管理節點會將該伺服器屬性設置為False,進而在計算所述預設正常伺服器的狀態值時,若該伺服器屬性為False,則不計算該伺服器的狀態值。在進行HA預警之前,會將集群下的伺服器的屬性設置為Ture,並將所述伺服器資源順序表中的前N臺伺服器的屬性設置為False,通常剩餘的伺服器的屬性應均為Ture,但如果某伺服器出現異常,例如某一臺伺服器下電,則剩餘的伺服器中就會出現屬性為False的預設正常伺服器。
[0061]示例的,有步驟101可知,集群A中虛擬機標準規格為1U1G。針對集群A中的所有預設正常伺服器,計算所述預設正常伺服器的狀態值。對於2臺2U1G伺服器均有rounddown (2U/lU)=2,round down (1G/1G)=1,即CPU資源2U除以虛擬機標準規格中的CPU資源1U,得到2向下取整得到2。內存資源IG除以虛擬機標準規格中的CPU資源1G,得到I向下取整得到I。由於I小於2,所以2臺2U1G伺服器的狀態值均為I。這裡round down在數學公式中表示向下取整,在計算過程中,如果得到的結果不是整數,如1.6,向下取整得到的結果就是I。
[0062]同理,對於I 臺 3U3G 伺服器均有,round down (3U/1U) =3, round down (3G/1G)=3,所以3臺3U3G伺服器的狀態值為3。
[0063]104、將各個所述預設正常伺服器的所述狀態值相加,獲得伺服器狀態值總和。
[0064]示例的,在集群A中計算獲得2U1G伺服器和3U3G伺服器的所述預設正常伺服器的狀態值分別為1、3,由於集群A所述預設正常伺服器有2臺2U1G伺服器和I臺3U3G伺服器和,I X 2+3 X 1=5,得到所述伺服器狀態值總和為5。
[0065]105、針對所述伺服器集群中的每一臺虛擬機,計算所述虛擬機的狀態值。
[0066]其中,所述虛擬機的狀態值為所述虛擬機的資源與所述虛擬機標準規格中的資源的比值中的最大值。所述虛擬機的狀態值具體包括:在所述虛擬機的CPU資源和內存資源均小於等於所述虛擬機標準規格中的CPU資源和內存資源時,所述虛擬機的狀態值為I ;在所述虛擬機的CPU資源大於所述虛擬機標準規格中的CPU資源,或所述虛擬機的內存資源大於所述虛擬機標準規格中的內存資源時,所述虛擬機的狀態值為:所述虛擬機的CPU資源除以所述虛擬機標準規格中的CPU資源後向上取整得到的值,以及所述虛擬機的內存資源除以所述虛擬機標準規格中的內存資源後向上取整得到的值,中的最大值。
[0067]計算所述虛擬機的狀態值,在所述虛擬機出現異常時,針對該虛擬機進行上述計算步驟,可以獲得準確的HA預警結果。
[0068]或者,在所述虛擬機出現異常時,將該虛擬機的狀態值設置為0,可以得到更為準確的HA預警結果。這裡,所述虛擬機出現異常包括:虛擬機時HA屬性為False,進而在計算所述虛擬機的狀態值時,不計算該虛擬機的狀態值。在進行HA預警之前,會將集群下虛擬機的HA屬性設置為True或False,不設置的虛擬機HA屬性默認為False。
[0069]示例的,有步驟101可知,集群A中虛擬機標準規格為1U1G。針對集群A中的所有虛擬機,計算所述虛擬機的狀態值。對於I臺2U1G虛擬機有round up (2U/1U) =2, roundup(lG/lG)=l,即CPU資源2U除以虛擬機標準規格中的CPU資源1U,得到2向上取整得到
2。內存資源IG除以虛擬機標準規格中的CPU資源1G,得到I向上取整得到I。由於2大於1,所以這臺2U1G虛擬機的狀態值為2。round up,在數學公式中表示向上取整,在計算過程中,如果得到的結果不是整數,如1.4,向上取整得到的結果就是2。
[0070]同理,對於I 臺 1U2G 虛擬機均有 round up (1U/1U) =1, round up (2G/1G) =2, 2大於1,所以這臺1U2G虛擬機的狀態值為2。對於2臺IUlG虛擬機均有round up(lU/lU)=1, round up (1G/1G) =1,所以這3臺IUlG虛擬機的狀態值均為I。[0071]106、將各個所述虛擬機的狀態值相加,獲得虛擬機狀態值總和。
[0072]示例的,在集群A中計算獲得2U1G虛擬機、1U2G虛擬機和IUlG虛擬機的所述虛擬機的狀態值分別為2、2、1,由於集群A中有I臺2U1G虛擬機、I臺1U2G虛擬機和2臺IUlG虛擬機,2 X 1+2 X 1+1 X 2=6得到所述伺服器狀態值總和為6。
[0073]107、比較所述虛擬機狀態值總和是否大於所述伺服器狀態值總和。
[0074]若大於,則進行步驟108。
[0075]示例的,集群A中,所述虛擬機狀態值總和為6,所述伺服器狀態值總和為5,5小於6,所以進行步驟108。這裡,若步驟106獲得的所述虛擬機狀態值總和不大於步驟104獲得的所述伺服器狀態值總和,則不會進行步驟108。
[0076]108、發出 HA 預警。
[0077]發出所述HA預警後,管理員就可以根據所述HA預警對集群進行擴容或減容的操作。
[0078]若一個集群中有3臺IUlG伺服器和I臺2U2G虛擬機,預設N等於1,則應用現有技術中的第一種方法,最終的結果是不產生HA預警,但事實上此時集群中正常伺服器是不能夠承載集群下所有虛擬機的正常運行的,應該產生HA預警。而應用本發明提供的方法,首先將2U2G確定為所述虛擬機標準規格。對於2臺預設正常伺服器,均有ixnmd down(1U/2U)=0, round down (1G/2G)=0,所以2臺IUlG伺服器的狀態值為0,因此所述正常伺服器狀態值總和為O。對於I臺2U2G虛擬機有round up (2U/2U) =1,round up (2G/2G)=1,所以這臺2U2G虛擬機的狀態值均為1,所以所述虛擬機狀態值總和為I。又因為,I大於0,最終產生HA預警,故,本發明提供的方法與現有技術的第一種方法相比更加準確。
[0079]若集群中有3臺3U3G伺服器,各伺服器下的虛擬機規格分別為2U1G、1U2G、1U1G,預設N等於I,則應用現有技術中的第二種方法,最終的結果是產生HA預警,但事實上此時集群中正常伺服器是能夠承載集群下所有虛擬機的正常運行的,不應該產生HA預警。而應用本發明提供的方法,這三種規格的虛擬機均有一臺,將任意一臺的規格作為虛擬機的標準規格,可確定所述虛擬機標準規格為1U1G。排除I臺3U3G伺服器,對於剩餘的2臺3U3G 伺服器均有 round down (3U/1U) =3, round down (3G/1G) =3,所以 2 臺 3U3G 月艮務器的狀態值均為3,所述正常伺服器狀態總值為6。對於2U1G虛擬機,round up (2U/1U) =2,round up (1G/1G) =1,2大於1,所以2U1G虛擬機的狀態值為2。對於1U2G虛擬機,roundup (1U/1U)=1,round up (2G/1G)=2,2大於1,所以1U2G虛擬機的狀態值為2。對於IUlG虛擬機,round up (1U/1U) =1, round up (1G/1G) =1,所以IUlG虛擬機的狀態值為I。故所述虛擬機狀態值總和為2+2+1=5。又因為5不大於6,最終不產生HA預警,故,本發明提供的方法與現有技術的第二種方法相比更加準確。
[0080]本發明實施例提供的HA預警方法,將伺服器集群中同一規格個數最多的虛擬機的CPU資源和內存資源,作為虛擬機標準規格,計算集群中各個預設正常伺服器的狀態值和各個虛擬機的狀態值,然後將各個預設正常伺服器的狀態值相加獲得預設正常伺服器狀態值總和,將各個虛擬機的狀態值相加獲得,比較所述虛擬機狀態值總和是否大於所述預設正常伺服器狀態值總和,若大於,則產生HA預警。與現有技術中僅比較預設正常伺服器總資源和虛擬機總資源,或將所有虛擬機中CPU資源和內存資源的最大值作為虛擬機標準規格的CPU資源和內存資源,導致HA預警出現誤差相比,本發明提供的HA預警方法,將虛擬機的標準規格修訂為眾數,代表了數據的一般水平,故可以在產生HA預警時減少誤差,提高HA預警準確度。
[0081]實施例2:
[0082]本發明實施例提供了一種虛擬資源管理器,如圖2所示,包括:確定單元201、選擇單元202、計算單元203、比較單元204和預警單元205。
[0083]確定單元201,用於確定虛擬機標準規格,其中,所述虛擬機標準規格為所述伺服器集群中同一規格個數最多的虛擬機的CPU資源和內存資源。
[0084]選擇單元202,用於選擇所述伺服器集群中的N個CPU資源最大的伺服器為預設故障伺服器,剩餘伺服器為預設正常伺服器,所述N為大於O的整數,所述資源包括CPU資源和內存資源。
[0085]計算單元203,用於針對每一臺所述預設正常伺服器,計算所述預設正常伺服器的狀態值,所述預設正常伺服器的狀態值為所述預設正常伺服器的資源與所述虛擬機標準規格中的資源的比值中的最小值。所述計算單元203還用於,將各個所述預設正常伺服器的所述狀態值相加,獲得伺服器狀態值總和。
[0086]所述計算單元203還用於,針對所述伺服器集群中的每一臺虛擬機,計算所述虛擬機的狀態值,所述虛擬機的狀態值為所述虛擬機的資源與所述虛擬機標準規格中的資源的比值中的最大值。所述計算單元203還用於,將各個所述虛擬機的狀態值相加,獲得虛擬機狀態值總和。
[0087]比較單元204,用於比較所述計算單元獲得的所述虛擬機狀態值總和是否大於所述計算單元獲得的所述伺服器狀態值總和;
[0088]預警單元205,用於在所述比較單元204比較出所述虛擬機狀態值總和大於所述伺服器狀態值總和時發出HA預警;在所述比較單元204比較出所述虛擬機狀態值總和小於等於所述伺服器狀態值總和時不發出HA預警。
[0089]所述選擇單元202具體用於,將所有所述伺服器按照CPU資源從大到小的順序排序,若所述伺服器的CPU資源相同,則按照內存資源從大到小的順序排序,獲得伺服器資源順序表;選擇所述伺服器資源順序表中的前N臺伺服器為預設故障伺服器。
[0090]所述選擇單元202還用於,在獲得所述伺服器資源順序表時,若所述伺服器的CPU資源和內存資源均相同,則按照伺服器的索引號從小到大排序。
[0091]所述選擇單元202具體用於,在所述伺服器集群承載的業務為普通業務時,將所述N設置為I或2 ;在所述伺服器集群承載的業務為重要業務時,將所述N設置為所述伺服器集群中伺服器的個數的50%。
[0092]這裡,所述預設正常伺服器的狀態值為:所述預設正常伺服器的CPU資源除以所述確定單元201確定的所述虛擬機標準規格中的CPU資源後向下取整得到的值,以及所述預設正常伺服器的內存資源除以所述確定單元201確定的所述虛擬機標準規格中的內存資源後向下取整得到的值,中的最小值。
[0093]所述虛擬機的狀態值具體包括:在所述虛擬機的CPU資源和內存資源均小於等於所述確定單元201確定的所述虛擬機標準規格中的CPU資源和內存資源時,所述虛擬機的狀態值為I ;在所述虛擬機的CPU資源大於所述確定單元201確定的所述虛擬機標準規格中的CPU資源,或所述虛擬機的內存資源大於所述虛擬機標準規格中的內存資源時,所述虛擬機的狀態值為:所述虛擬機的CPU資源除以所述虛擬機標準規格中的CPU資源後向上取整得到的值,以及所述虛擬機的內存資源除以所述虛擬機標準規格中的內存資源後向上取整得到的值,中的最大值。
[0094]所述計算單元203還用於,在所述預設正常伺服器出現異常時,將出現異常的預設正常伺服器的狀態值設置為O。
[0095]所述計算單元203還用於,在所述虛擬機出現異常時,將出現異常的虛擬機的狀態值設置為O。
[0096]本發明實施例提供的虛擬資源管理器,將伺服器集群中同一規格個數最多的虛擬機的CPU資源和內存資源,作為虛擬機標準規格,計算集群中各個預設正常伺服器的狀態值和各個虛擬機的狀態值,然後將各個預設正常伺服器的狀態值相加獲得預設正常伺服器狀態值總和,將各個虛擬機的狀態值相加獲得,比較所述虛擬機狀態值總和是否大於所述預設正常伺服器狀態值總和,若大於,則產生HA預警。與現有技術中僅比較預設正常伺服器總資源和虛擬機總資源,或將所有虛擬機中CPU資源和內存資源的最大值作為虛擬機標準規格的CPU資源和內存資源,導致HA預警出現誤差相比,本發明提供的HA預警方法,將虛擬機的標準規格修訂為眾數,代表了數據的一般水平,故可以在產生HA預警時減少誤差,提高HA預警準確度。
[0097]實施例3:
[0098]本發明實施例提供了一種虛擬資源管理器,如圖3所示,所述NAS設備包括:存儲器301以及與存儲器301連接的處理器302。其中,存儲器303中存儲一組程序代碼,且處理器302用於調用存儲器301中存儲的程序代碼,用於執行以下操作:
[0099]處理器302,用於確定虛擬機標準規格,其中,所述虛擬機標準規格為所述伺服器集群中同一規格個數最多的虛擬機的CPU資源和內存資源。
[0100]所述處理器302,用於選擇所述伺服器集群中的N個資源最大的伺服器為預設故障伺服器,剩餘伺服器為預設正常伺服器,所述N為大於O的整數,所述資源包括CPU資源和內存資源。
[0101]所述處理器302,用於針對每一臺所述預設正常伺服器,計算所述預設正常伺服器的狀態值,所述預設正常伺服器的狀態值為所述預設正常伺服器的資源與所述虛擬機標準規格中的資源的比值中的最小值。所述處理器302,還用於,將各個所述預設正常伺服器的所述狀態值相加,獲得伺服器狀態值總和。
[0102]所述處理器302還用於,針對所述伺服器集群中的每一臺虛擬機,計算所述虛擬機的狀態值,所述虛擬機的狀態值為所述虛擬機的資源與所述虛擬機標準規格中的資源的比值中的最大值。所述處理器302還用於,將各個所述虛擬機的狀態值相加,獲得虛擬機狀態值總和。
[0103]所述處理器302,用於比較獲得的所述虛擬機狀態值總和是否大於獲得的所述伺服器狀態值總和。
[0104]所述處理器302,用於在比較出所述虛擬機狀態值總和大於所述伺服器狀態值總和時發出HA預警;在比較出所述虛擬機狀態值總和小於等於所述伺服器狀態值總和時不發出HA預警。
[0105]所述處理器302,具體用於將所有所述伺服器按照CPU資源從大到小的順序排序,若所述伺服器的CPU資源相同,則按照內存資源從大到小的順序排序,獲得伺服器資源順序表;選擇所述伺服器資源順序表中的前N臺伺服器為預設故障伺服器。
[0106]所述處理器302還用於,在獲得所述伺服器資源順序表時,若所述伺服器的CPU資源和內存資源均相同,則按照伺服器的索引號從小到大排序。
[0107]所述處理器302具體用於,在所述伺服器集群承載的業務為普通業務時,將所述N設置為I或2 ;在所述伺服器集群承載的業務為重要業務時,將所述N設置為所述伺服器集群中伺服器的個數的50%。
[0108]這裡,所述預設正常伺服器的狀態值為:所述預設正常伺服器的CPU資源除以所述虛擬機標準規格中的CPU資源後向下取整得到的值,以及所述預設正常伺服器的內存資源除以確定的所述虛擬機標準規格中的內存資源後向下取整得到的值,中的最小值。
[0109]所述虛擬機的狀態值具體包括:在所述虛擬機的CPU資源和內存資源均小於等於所述虛擬機標準規格中的CPU資源和內存資源時,所述虛擬機的狀態值為I ;在所述虛擬機的CPU資源大於所述虛擬機標準規格中的CPU資源,或所述虛擬機的內存資源大於所述虛擬機標準規格中的內存資源時,所述虛擬機的狀態值為:所述虛擬機的CPU資源除以所述虛擬機標準規格中的CPU資源後向上取整得到的值,以及所述虛擬機的內存資源除以所述虛擬機標準規格中的內存資源後向上取整得到的值,中的最大值。
[0110]所述處理器302還用於,在所述預設正常伺服器出現異常時,將出現異常的預設正常伺服器的狀態值設置為O。
[0111]所述處理器302還用於,在所述虛擬機出現異常時,將出現異常的虛擬機的狀態值設置為O。
[0112]本發明實施例提供的虛擬資源管理器,將伺服器集群中同一規格個數最多的虛擬機的CPU資源和內存資源,作為虛擬機標準規格,計算集群中各個預設正常伺服器的狀態值和各個虛擬機的狀態值,然後將各個預設正常伺服器的狀態值相加獲得預設正常伺服器狀態值總和,將各個虛擬機的狀態值相加獲得,比較所述虛擬機狀態值總和是否大於所述預設正常伺服器狀態值總和,若大於,則產生HA預警。與現有技術中僅比較預設正常伺服器總資源和虛擬機總資源,或將所有虛擬機中CPU資源和內存資源的最大值作為虛擬機標準規格的CPU資源和內存資源,導致HA預警出現誤差相比,本發明提供的HA預警方法,將虛擬機的標準規格修訂為眾數,代表了數據的一般水平,故可以在產生HA預警時減少誤差,提高HA預警準確度。
[0113]本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬體來完成,前述的程序可以存儲於一計算機可讀取存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:R0M、RAM、磁碟或者光碟等各種可以存儲程序代碼的介質。
[0114]以上所述,僅為本發明的【具體實施方式】,但本發明的保護範圍並不局限於此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應所述以權利要求的保護範圍為準。
【權利要求】
1.一種HA預警方法,應用於一個伺服器集群,其特徵在於,包括: 確定虛擬機標準規格,其中,所述虛擬機標準規格為所述伺服器集群中同一規格個數最多的虛擬機的CPU資源和內存資源; 選擇所述伺服器集群中的N個CPU資源最大的伺服器為預設故障伺服器,剩餘伺服器為預設正常伺服器,所述N為大於O的整數,所述資源包括CPU資源和內存資源; 針對每一臺所述預設正常伺服器,計算所述預設正常伺服器的狀態值,所述預設正常伺服器的狀態值為所述預設正常伺服器的資源與所述虛擬機標準規格中的資源的比值中的最小值; 將各個所述預設正常伺服器的所述狀態值相加,獲得伺服器狀態值總和; 針對所述伺服器集群中的每一臺虛擬機,計算所述虛擬機的狀態值,所述虛擬機的狀態值為所述虛擬機的資源與所述虛擬機標準規格中的資源的比值中的最大值; 將各個所述虛擬機的狀態值相加,獲得虛擬機狀態值總和; 比較所述虛擬機狀態值總和是否大於所述伺服器狀態值總和; 若大於,則發出HA預警,若小於等於,則不發出HA預警。
2.根據權利要求1所述的方法,其特徵在於,所述選擇所述伺服器集群中的N個CPU資源最大的伺服器為預設故障伺服器,包括: 將所有所述伺服器按照CPU資源從大到小的順序排序,若所述伺服器的CPU資源相同,則按照內存資源從大到小的順 序排序,獲得伺服器資源順序表; 選擇所述伺服器資源順序表中的前N臺伺服器為預設故障伺服器。
3.根據權利要求2所述的方法,其特徵在於,在獲得所述伺服器資源順序表時,若所述伺服器的CPU資源和內存資源均相同,則按照伺服器的索引號從小到大排序。
4.根據權利要求1-3任意一項所述的方法,其特徵在於, 若所述伺服器集群承載的業務為普通業務,則所述N為I或2 ;若所述伺服器集群承載的業務為重要業務,則所述N為所述伺服器集群中伺服器的個數的50%。
5.根據權利要求1-4任意一項所述的方法,其特徵在於,所述預設正常伺服器的狀態值為:所述預設正常伺服器的CPU資源除以所述虛擬機標準規格中的CPU資源後向下取整得到的值,以及所述預設正常伺服器的內存資源除以所述虛擬機標準規格中的內存資源後向下取整得到的值,中的最小值。
6.根據權利要求1-4任意一項所述的方法,其特徵在於,在所述虛擬機的CPU資源和內存資源均小於等於所述虛擬機標準規格中的CPU資源和內存資源時,所述虛擬機的狀態值為I ;在所述虛擬機的CPU資源大於所述虛擬機標準規格中的CPU資源,或所述虛擬機的內存資源大於所述虛擬機標準規格中的內存資源時,所述虛擬機的狀態值為:所述虛擬機的CPU資源除以所述虛擬機標準規格中的CPU資源後向上取整得到的值,以及所述虛擬機的內存資源除以所述虛擬機標準規格中的內存資源後向上取整得到的值,中的最大值。
7.根據權利要求1所述的方法,其特徵在於,所述針對每一臺所述預設正常伺服器,計算所述預設正常伺服器的狀態值,還包括: 若所述預設正常伺服器出現異常,則將出現異常的預設正常伺服器的狀態值設置為O。
8.根據權利要求1所述的方法,其特徵在於,所述針對每一臺所述虛擬機,計算所述虛擬機的狀態值,還包括:若所述虛擬機出現異常,則將出現異常的虛擬機的狀態值設置為O。
9.一種虛擬資源管理器,其特徵在於,包括: 確定單元,用於確定虛擬機標準規格,其中,所述虛擬機標準規格為所述伺服器集群中同一規格個數最多的虛擬機的CPU資源和內存資源; 選擇單元,用於選擇所述伺服器集群中的N個CPU資源最大的伺服器為預設故障伺服器,剩餘伺服器為預設正常伺服器,所述N為大於O的整數,所述資源包括CPU資源和內存資源; 計算單元,用於針對每一臺所述預設正常伺服器,計算所述預設正常伺服器的狀態值,所述預設正常伺服器的狀態值為所述預設正常伺服器的資源與所述虛擬機標準規格中的資源的比值中的最小值; 所述計算單元還用於,將各個所述預設正常伺服器的所述狀態值相加,獲得伺服器狀態值總和; 所述計算單元還用於,針對所述伺服器集群中的每一臺虛擬機,計算所述虛擬機的狀態值,所述虛擬機的狀 態值為所述虛擬機的資源與所述虛擬機標準規格中的資源的比值中的最大值; 所述計算單元還用於,將各個所述虛擬機的狀態值相加,獲得虛擬機狀態值總和; 比較單元,用於比較所述計算單元獲得的所述虛擬機狀態值總和是否大於所述計算單元獲得的所述伺服器狀態值總和; 預警單元,用於在所述比較單元比較出所述虛擬機狀態值總和大於所述伺服器狀態值總和時發出HA預警;在所述比較單元比較出所述虛擬機狀態值總和小於等於所述伺服器狀態值總和時不發出HA預警。
10.根據權利要求9所述的虛擬資源管理器,其特徵在於,所述選擇單元具體用於,將所有所述伺服器按照CPU資源從大到小的順序排序,若所述伺服器的CPU資源相同,則按照內存資源從大到小的順序排序,獲得伺服器資源順序表;並選擇所述伺服器資源順序表中的前N臺伺服器為預設故障伺服器。
11.根據權利要求10所述的虛擬資源管理器,其特徵在於,所述選擇單元還用於,在獲得所述伺服器資源順序表時,若所述伺服器的CPU資源和內存資源均相同,則按照伺服器的索引號從小到大排序。
12.根據權利要求9-11任意一項所述的虛擬資源管理器,其特徵在於,若所述伺服器集群承載的業務為普通業務,則所述N為I或2 ;若所述伺服器集群承載的業務為重要業務,則所述N為所述伺服器集群中伺服器的個數的50%。
13.根據權利要求9-12任意一項所述的虛擬資源管理器,其特徵在於,所述預設正常伺服器的CPU資源除以所述確定單元確定的所述虛擬機標準規格中的CPU資源後向下取整得到的值,以及所述預設正常伺服器的內存資源除以所述確定單元確定的所述虛擬機標準規格中的內存資源後向下取整得到的值,中的最小值。
14.根據權利要求9-12任意一項所述的虛擬資源管理器,其特徵在於,在所述虛擬機的CPU資源和內存資源均小於等於所述確定單元確定的所述虛擬機標準規格中的CPU資源和內存資源時,所述虛擬機的狀態值為I ;在所述虛擬機的CPU資源大於所述確定單元確定的所述虛擬機標準規格中的CPU資源,或所述虛擬機的內存資源大於所述虛擬機標準規格中的內存資源時,所述虛擬機的狀態值為:所述虛擬機的CPU資源除以所述虛擬機標準規格中的CPU資源後向上取整得到的值,以及所述虛擬機的內存資源除以所述虛擬機標準規格中的內存資源後向上取整得到的值,中的最大值。
15.根據權利要求9所述的虛擬資源管理器,其特徵在於,所述計算單元還用於,在所述預設正常伺服器出現異常時,將出現異常的預設正常伺服器的狀態值設置為O。
16.根據權利要求9所述的虛擬資源管理器,其特徵在於,所述計算單元還用於,在所述虛擬機出現異常時,將出現異常的虛擬機的狀態值設置為O。
【文檔編號】G06F9/455GK103593249SQ201310571736
【公開日】2014年2月19日 申請日期:2013年11月13日 優先權日:2013年11月13日
【發明者】劉寶起 申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀