集群故障監(jiān)測方法及裝置的制造方法
【專利摘要】本發(fā)明實施例提供一種集群故障監(jiān)測方法及裝置。根據(jù)服務器集群的結構獲取集群中每一服務器的接入路徑;在同一接入交換機下,按照預設策略選取第一服務器和第二服務器組成測試對;根據(jù)所述第一服務器以及所述第二服務器的所述接入路徑對所述測試對進行數(shù)據(jù)收發(fā)測試;獲取所述數(shù)據(jù)收發(fā)測試的結果并根據(jù)所述數(shù)據(jù)收發(fā)測試結果獲取第一服務器和第二服務器之間的收發(fā)帶寬;當判斷所述收發(fā)帶寬大于預設的帶寬閾值,判定所述第一服務器和所述第二服務器無故障。實現(xiàn)了服務器集群故障的實時監(jiān)測以及故障快速發(fā)現(xiàn)。
【專利說明】
集群故障監(jiān)測方法及裝置
技術領域
[0001]本發(fā)明實施例涉及大數(shù)據(jù)處理技術領域,尤其涉及一種集群故障監(jiān)測方法及裝置。
【背景技術】
[0002]服務器集群就是指將很多服務器集中起來一起進行同一種服務,在客戶端看來服務器集群就像是只有一個服務器。集群可以利用多個計算機進行并行計算從而獲得很高的計算速度,也可以用多個計算機做備份,從而使得任何一個機器壞了整個系統(tǒng)還是能正常運行。一旦在服務器上安裝并運行了群集服務,該服務器即可加入群集。群集化操作可以減少單點故障數(shù)量,并且實現(xiàn)了群集化資源的高可用性。
[0003]通常在分布式服務器集群中,一個大的作業(yè)被拆分為多個任務,并將這多個任務分發(fā)給集群中的多個服務器并行處理的,從而能夠實現(xiàn)高效率的數(shù)據(jù)處理。但是,若這個服務器集群中,某一服務器出現(xiàn)運行緩慢的狀況,則其對整個服務器集群的影響是相當大的,它會拖慢整個集群對作業(yè)的處理速度。集群中某一服務器的掛機是很容易檢測出來的,然而運行緩慢這種故障不同于服務器掛機,很難直觀地檢測到這種故障。
[0004]因此,如何找到出現(xiàn)故障的服務器是一個很關鍵的步驟,這一步驟關系著整個服務器集群是否能夠正常運行。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種集群故障監(jiān)測方法及裝置,用以解決現(xiàn)有技術中的集群中服務器出現(xiàn)故障從而拖慢整個集群運行狀態(tài)的缺陷,實現(xiàn)集群故障的高效監(jiān)測。
[0006]本發(fā)明實施例提供一種集群故障監(jiān)測方法,包括:
[0007]根據(jù)服務器集群的結構獲取集群中每一服務器的接入路徑;
[0008]在同一接入交換機下,按照預設策略選取第一服務器和第二服務器組成測試對;
[0009]根據(jù)所述第一服務器以及所述第二服務器的所述接入路徑對所述測試對進行數(shù)據(jù)收發(fā)測試;
[0010]獲取所述數(shù)據(jù)收發(fā)測試的結果并根據(jù)所述數(shù)據(jù)收發(fā)測試結果獲取第一服務器和第二服務器之間的收發(fā)帶寬;
[0011]當判斷所述收發(fā)帶寬大于預設的帶寬閾值,判定所述第一服務器和所述第二服務器無故障。
[0012]本發(fā)明實施例提供一種集群故障監(jiān)測裝置,包括:
[0013]信息獲取模塊,用于根據(jù)服務器集群的結構獲取集群中每一服務器的接入路徑;
[0014]測試模塊,用于在同一接入交換機下,按照預設策略選取第一服務器和第二服務器組成測試對;根據(jù)所述第一服務器以及所述第二服務器的所述接入路徑對所述測試對進行數(shù)據(jù)收發(fā)測試;
[0015]分析模塊,用于獲取所述數(shù)據(jù)收發(fā)測試的結果并根據(jù)所述數(shù)據(jù)收發(fā)測試結果獲取第一服務器和第二服務器之間的收發(fā)帶寬;當判斷所述收發(fā)帶寬大于預設的帶寬閾值,判定所述第一服務器和所述第二服務器無故障。
[0016]本發(fā)明實施例提供的集群故障監(jiān)測方法及裝置,根據(jù)服務器集群中每一服務器的接入路徑構建測試對并對所述測試對進行數(shù)據(jù)的收發(fā)測試,從而判斷兩臺服務器之間的帶寬是否出現(xiàn)異常,并以此進行服務器集群故障的判斷,實現(xiàn)了服務器集群故障的實時監(jiān)測以及故障快速發(fā)現(xiàn)。
【附圖說明】
[0017]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1為本申請實施例一的技術流程圖;
[0019]圖2為本申請實施例二的技術流程圖;
[0020]圖3為本申請實施例三的裝置實施例結構示意圖。
【具體實施方式】
[0021]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0022]圖1是本申請實施例一的技術流程圖,結合圖1,本申請實施例一種集群故障監(jiān)測方法,可由如下的步驟實現(xiàn):
[0023]步驟S110:根據(jù)服務器集群的結構獲取集群中每一服務器的接入路徑;
[0024]步驟S120:在同一接入交換機下,按照預設策略選取第一服務器和第二服務器組成測試對;
[0025]步驟S130:根據(jù)所述第一服務器以及所述第二服務器的所述接入路徑對所述測試對進行數(shù)據(jù)收發(fā)測試;
[0026]步驟S140:獲取所述數(shù)據(jù)收發(fā)測試的結果并根據(jù)所述數(shù)據(jù)收發(fā)測試結果獲取第一服務器和第二服務器之間的收發(fā)帶寬;
[0027]步驟S150:當判斷所述收發(fā)帶寬大于預設的帶寬閾值,判定所述第一服務器和所述第二服務器無故障。
[0028]具體的,在步驟SllO中,所述獲取集群中每一服務器的接入路徑,即獲取每一所述服務器接入的接入交換機以及核心交換機是哪一個。通常,基于大數(shù)據(jù)分布式集群結構如下:服務器連接接入交換機,接入交換機連接核心交換機。接入交換機有48個下行端口,最多可以連接48臺服務器,帶寬為lOGbits/s。接入交換機有2個上行端口,分別連接兩個核心交換機,以防止單個核心交換機故障導致整個集群不可用,每個上行端口帶寬為40Gbits/s,共80Gbits/s。核心交換機有48個下行口。這樣一套核心交換機下最多有48*48 = 2304臺服務器。這一套兩臺核心交換機的流量最大為3840Gbits/s。
[0029]根據(jù)上述集群的結構,連接在核心交換機I的接入交換機I下的服務器的接入路徑可能有一下的描述結果:
[0030]/機房/核心交換機I/接入交換機1/1[0031 ] /機房/核心交換機I/接入交換機1/2
[0032]/機房/核心交換機I/接入交換機1/3
[0033]..........
[0034]/機房/核心交換機I/接入交換機1/48
[0035]連接在核心交換機2的接入交換機2下的服務器可由如下的接入路徑:
[0036]/機房/核心交換機2/接入交換機2/1
[0037]/機房/核心交換機2/接入交換機2/2
[0038]/機房/核心交換機2/接入交換機2/3
[0039]..........
[0040]/機房/核心交換機2/接入交換機2/48
[0041]本步驟中,獲取到每一服務器的接入路徑后,需將每一服務器的IP地址與所述接入路徑進行匹配,所述IP地址用于后續(xù)步驟的數(shù)據(jù)收發(fā)測試。
[0042]例如,將服務器的IP寫入節(jié)點可得到如下的結果;
[0043]/機房/核心交換機I/接入交換機1/1/192.0.x.1
[0044]/機房/核心交換機I/接入交換機1/2/192.0.x.2
[0045]/機房/核心交換機I/接入交換機1/3/192.0.x.3
[0046]..........
[0047]/機房/核心交換機n/接入交換機I/服務器48/192.0.x.48
[0048]需要說明的是,本申請實施例中,采用zookeeper為每一服務器寫路徑。由于z ooke ep er是成熟的分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),本實施例中不再贅述。
[0049]具體的,在步驟S120中,所述預設策略是預先設定好的測試對選取策略,可以包括如下的方式:
[0050]其一:對所述同一交換機下的每一所述服務器進行編號,按所述編號依次選取兩個所述服務器組成所述測試對;
[0051]這一選取策略中,假設同一接入交換機下,有48臺按照順序編號的服務器,則可直接按照順序,編號為I的服務器和編號為2的服務器組成測試對,編號為3的服務器和編號為4的服務器組成測試對等等,直至編號為47的服務器與編號為48的服務器組成測試對。
[0052]其二:對所述編號為奇數(shù)的所述服務器進行列表得到奇數(shù)服務器列表,對所述編號為偶數(shù)的服務器進行列表得到偶數(shù)服務器列表;
[0053]按照所述奇數(shù)服務器列表以及所述偶數(shù)服務器列表的順序依次選擇一個所述編號為基數(shù)的服務器以及一個所述編號為偶數(shù)的服務器組成所述測試對。
[0054]具體的,步驟S130中,對所述測試對進行數(shù)據(jù)收發(fā)測試,所述數(shù)據(jù)收發(fā)測試具體包括如下的步驟:
[0055]S131:所述第二服務器通過預設協(xié)議向預設端口發(fā)送數(shù)據(jù)包并記錄當前發(fā)送時刻的第一時間戳,其中,所述預設端口由所述第一服務器監(jiān)聽;
[0056]S132:第一服務器通過所述預設端口接收所述數(shù)據(jù)包并向第二服務器發(fā)送回復數(shù)據(jù);
[0057]S133:第二服務器接收所述回復數(shù)據(jù)并記錄當前接收時刻的第二時間戳;
[0058]S134:根據(jù)所述第一時間戳和所述第二時間戳獲取所述第一服務器和所述第二服務器之間的帶寬。
[0059]上述步驟中,由于每一服務器的接入路徑以及IP地址都是已知的,因此在數(shù)據(jù)發(fā)送以及接收的過程中,直接讀取目標數(shù)據(jù)發(fā)送的目標服務器的IP地址即可快速實現(xiàn)數(shù)據(jù)發(fā)送。
[0060]還需說明的是,本申請實施例中,選擇數(shù)據(jù)測試對時,優(yōu)先選擇同一接入交換機下的服務器,若同一接入交換機下存在奇數(shù)個服務器,從而導致剩余一個服務器沒有其他服務器與之配對時,則按照所述接入交換機在核心交換機下的接入順序,將所述接入交換機下的剩余服務器注冊在所述核心交換機的剩余服務器列表中;
[0061 ]對于超大規(guī)模分布式集群,配對服務器的選取非常重要,不能是任意的。如一個交換機下的48臺服務器都和其它交換機下的服務器配對,那么他的交換機到核心交換機的帶寬會成為瓶頸。
[0062]例如,接入交換機I包含有47臺服務器,則組成所述測試對時,一定有一臺服務器是落單的,則將這臺落單的服務器注冊在接入交換機I所在的核心交換機的剩余服務器列表中。同理,若是接入交換機4中也有一臺服務器是落單的,則同樣可以將這臺落單的服務器注冊在所述核心交換機的剩余服務器列表中。
[0063]例如,注冊結果可以是:
[0064]/機房/核心交換機1/1 192.0.X.1
[0065]/機房/核心交換機1/4 192.0.y.1
[0066]待核心交換機I下所有接入交換機的落單服務器都列在所述核心交換機的剩余服務器列表之后,按照所述預設策略選取兩個服務器組成所述測試對。當所述核心交換機的剩余服務器列表中包含奇數(shù)個所述服務器時,一定有一個服務器是落單沒有配對的,此時,將剩余未配對的所述服務器按照所述核心交換機在機房下的接入順序注冊在所述機房的剩余服務器列表中;在所述機房的剩余服務器列表中,按照所述預設策略選取兩個服務器組成所述測試對。
[0067]當所述機房的剩余服務器列表中包含奇數(shù)個所述服務器時,將未配對的所述服務器與預留的粧服務器組成所述測試對。
[0068]具體的,在步驟S140中,所述第一服務器和所述第二服務器之間的收發(fā)帶寬是根據(jù)所述第一時間戳和所述第二時間戳之間的差值以及所述第一服務器和所述第二服務器之間的收發(fā)的數(shù)據(jù)量計算得到的,通常兩個服務器之間發(fā)送的數(shù)據(jù)都是預設的固定值,例如10G,從而計算出的帶寬與預設的帶寬閾值有可比性。收發(fā)數(shù)據(jù)量除以所述第一時間戳和所述第二時間戳之間的差值得到的就是兩個服務器之間的帶寬。
[0069]具體的,在步驟S150中,所述預設的帶寬閾值是數(shù)據(jù)在服務器之間收發(fā)的理論速度。對于一個大規(guī)模的集群而言,所述帶寬閾值應當至少有四個值,記為第一帶寬閾值、第二帶寬閾值、第三帶寬閾值與第四帶寬閾值。
[0070]其中,第一帶寬閾值針對于同一接入交換機下的服務器而言,在同一接入交換機下進行數(shù)據(jù)收發(fā)測試時,其數(shù)據(jù)傳輸是不跨接入交換機的,數(shù)據(jù)傳輸速度最快,相應的第一帶寬閾值也應當是四個帶寬閾值中最大的;第二帶寬閾值針對所述核心交換機的剩余服務器列表中的服務器,這些服務器是跨接入交換機的,其數(shù)據(jù)傳輸?shù)乃俣认鄬^慢一點,因此,理論上,第二帶寬閾值應當小于第一帶寬閾值。第三帶寬閾值針對所述機房的剩余服務器列表中的服務器,這些服務器是跨核心交換機的,理論上,第三帶寬閾值小于第二帶寬閾值。第四帶寬閾值是針對粧服務器與所述機房的剩余服務器列表中剩余的服務器而言的。
[0071]獲取第一服務器和第二服務器之間的收發(fā)帶寬之后,進一步讀取所述第一服務器和所述第二服務器的接入路徑,判斷二者是否跨接入交換機以及是否跨核心交換機,從而選擇合適的帶寬閾值進行服務器故障的判斷。通常情況下,若兩個服務器之間的收發(fā)帶寬大于理論值,即,傳輸速度大于理論速度,則可直接判定兩個服務器之間數(shù)據(jù)傳輸正常,無延遲,無故障。
[0072]另,本申請實施例中,當判斷所述收發(fā)帶寬小于或等于預設的帶寬閾值,則可判定兩個服務器之間一定是存在故障的,但是不知道具體是第一服務器有故障還是第二服務器有故障。因此,優(yōu)選的,本申請實施例在上述步驟之后,還可以包括如下步驟:
[0073]步驟S160:選取第三服務器以及第四服務器分別與所述第一服務器和所述第二服務器組成兩個所述測試對;其中,所述第三服務器和所述第四服務器為傳輸無故障的所述測試對。
[0074]本步驟中,首先保證選取的第三服務器和第四服務器是正常運行的服務器,可以將第一服務器和第三服務器組成測試對,將第二服務器和第四服務器組成測試對,也可以將第一服務器和第四服務器組成測試對,將第二服務器與第三服務器組成測試對。如此一來,組成的兩個新測試對中,分別包含一個運行正常的服務器。再進行數(shù)據(jù)收發(fā)測試時,收發(fā)帶寬小于或等于帶寬閾值的測試組中,除運行正常的服務器之外,另一服務器一定是故障服務器。
[0075]本實施例中,根據(jù)服務器集群中每一服務器的接入路徑構建測試對并對所述測試對進行數(shù)據(jù)的收發(fā)測試,從而判斷兩臺服務器之間的帶寬是否出現(xiàn)異常,并以此進行服務器集群故障的判斷,實現(xiàn)了服務器集群故障的實時監(jiān)測以及故障快速發(fā)現(xiàn)。
[0076]圖2是本申請實施例二的技術流程圖,結合圖2,本申請實施例一種集群故障監(jiān)測方法,還可以由如下的步驟實現(xiàn):
[0077]步驟S201:根據(jù)服務器集群的結構獲取集群中每一服務器的接入路徑;
[0078]步驟S202:在同一接入交換機下,按照預設策略選取第一服務器和第二服務器組成測試對;
[0079]步驟S203:根據(jù)所述第一服務器以及所述第二服務器的所述接入路徑對所述測試對進行數(shù)據(jù)收發(fā)測試;
[0080]步驟S204:所述第二服務器通過預設協(xié)議向預設端口發(fā)送數(shù)據(jù)包并記錄當前發(fā)送時刻的第一時間戳,其中,所述預設端口由所述第一服務器監(jiān)聽;
[0081 ]步驟S205:第一服務器通過所述預設端口接收所述數(shù)據(jù)包并向第二服務器發(fā)送回復數(shù)據(jù);
[0082]步驟S206:第二服務器接收所述回復數(shù)據(jù)并記錄當前接收時刻的第二時間戳;
[0083]步驟S207:根據(jù)所述第一時間戳和所述第二時間戳獲取所述第一服務器和所述第二服務器之間的帶寬;
[0084]步驟S208:當判斷所述收發(fā)帶寬小于或等于預設的帶寬閾值,判定所述第一服務器或所述第二服務器存在故障;
[0085]步驟S209:選取第三服務器以及第四服務器分別與所述第一服務器和所述第二服務器組成兩個所述測試對;其中,所述第三服務器和所述第四服務器為傳輸無故障的所述測試對。
[0086]步驟S210:當判定兩個所述測試對中所述第一服務器所在的所述測試對的所述收發(fā)帶寬小于所述預設的收發(fā)帶寬,則判定所述第一服務器存在故障;或,當判定兩個所述測試對中所述第二服務器所在的所述測試對的所述收發(fā)帶寬小于所述預設的收發(fā)帶寬,則判定所述第二服務器存在故障。
[0087]本實施例中,根據(jù)服務器集群中每一服務器的接入路徑構建測試對并對所述測試對進行數(shù)據(jù)的收發(fā)測試,從而判斷兩臺服務器之間的帶寬是否出現(xiàn)異常;當判定兩臺服務器之間存在收發(fā)異常時,利用收發(fā)無故障的服務器與收發(fā)異常的兩臺服務器組成測試對再進行數(shù)據(jù)的收發(fā)測試,從而判定故障服務器,實現(xiàn)了服務器集群故障的實時監(jiān)測以及故障快速發(fā)現(xiàn)。
[0088]圖3是本申請實施例三的裝置結構示意圖,結合圖3,本申請實施例一種集群故障監(jiān)測裝置,包括如下的模塊:
[0089]信息獲取模塊310,用于根據(jù)服務器集群的結構獲取集群中每一服務器的接入路徑;
[0090]測試模塊320,用于在同一接入交換機下,按照預設策略選取第一服務器和第二服務器組成測試對;根據(jù)所述第一服務器以及所述第二服務器的所述接入路徑對所述測試對進行數(shù)據(jù)收發(fā)測試;
[0091]分析模塊330,用于獲取所述數(shù)據(jù)收發(fā)測試的結果并根據(jù)所述數(shù)據(jù)收發(fā)測試結果獲取第一服務器和第二服務器之間的收發(fā)帶寬;當判斷所述收發(fā)帶寬大于預設的帶寬閾值,判定所述第一服務器和所述第二服務器無故障。
[0092]其中,所述預設的策略包括:對所述服務器集群中的每一所述服務器進行編號并按所述編號依次選取兩個所述服務器組成所述測試對;或,
[0093]獲取所述編號為奇數(shù)的所述服務器對應的奇數(shù)服務器列表,獲取所述編號為偶數(shù)的所述服務器對應的偶數(shù)服務器列表;;
[0094]按照所述奇數(shù)服務器列表以及所述偶數(shù)服務器列表的順序依次選擇一個所述編號為基數(shù)的服務器以及一個所述編號為偶數(shù)的服務器組成所述測試對。
[0095]其中,所述測試模塊320還用于:當所述接入交換機下存在奇數(shù)個所述服務器時,將所述接入交換機下的剩余服務器按照所述接入交換機在核心交換機下的接入順序注冊在所述核心交換機的剩余服務器列表中;其中,所述剩余服務器為奇數(shù)個所述服務器中沒有其他服務器與之組成測試對的服務器。
[0096]其中,所述測試模塊320還用于:在所述核心交換機的剩余服務器列表中,按照所述預設策略選取兩個服務器組成所述測試對。
[0097]其中,所述測試模塊320還用于:當所述核心交換機的剩余服務器列表中包含奇數(shù)個所述服務器時,將剩余未配對的所述服務器
[0098]按照所述核心交換機在機房下的接入順序注冊在所述機房的剩余服務器列表中;在所述機房的剩余服務器列表中,按照所述預設策略選取兩個服務器組成所述測試對。
[0099]所述測試模塊320還用于:當所述機房的剩余服務器列表中包含奇數(shù)個所述服務器時,將未配對的所述服務器與預留的粧服務器組成所述測試對。
[0100]其中,所述測試模塊320具體用于:所述第二服務器通過預設協(xié)議向預設端口發(fā)送數(shù)據(jù)包并記錄當前發(fā)送時刻的第一時間戳,其中,所述預設端口由所述第一服務器監(jiān)聽;第一服務器通過所述預設端口接收所述數(shù)據(jù)包并向第二服務器發(fā)送回復數(shù)據(jù);第二服務器接收所述回復數(shù)據(jù)并記錄當前接收時刻的第二時間戳;根據(jù)所述第一時間戳和所述第二時間戳獲取所述第一服務器和所述第二服務器之間的帶寬。
[0101]其中,所述測試模塊320還用于:當判斷所述收發(fā)帶寬小于或等于預設的帶寬閾值,選取第三服務器以及第四服務器分別與所述第一服務器和所述第二服務器組成兩個所述測試對;其中,所述第三服務器和所述第四服務器為傳輸無故障的所述測試對;
[0102]當判定兩個所述測試對中所述第一服務器所在的所述測試對的所述收發(fā)帶寬小于所述預設的收發(fā)帶寬,則判定所述第一服務器存在故障;或,
[0103]當判定兩個所述測試對中所述第二服務器所在的所述測試對的所述收發(fā)帶寬小于所述預設的收發(fā)帶寬,則判定所述第二服務器存在故障。
[0104]圖3所示裝置可以執(zhí)行圖1及圖2所示實施例的方法,實現(xiàn)原理和技術效果參考圖1及圖2所示實施例,不再贅述。
[0105]應用實例
[0106]以下部分將結合一個具體的應用場景,以一個實際的例子對本申請實施例的技術方案進行進一步闡述。
[0107]服務器集群系統(tǒng)先保留一臺服務器作為粧,它監(jiān)聽54321端口,用于和剩余服務器中找不到配對的服務器配對。
[0108]步驟一、利用zookeeper為每一服務器寫路徑,每一個接入交換機下的服務器的,注冊一個順序節(jié)點,路徑可以是這樣的:
[0109]/機房/核心交換機I/接入交換機1/1
[0110]/機房/核心交換機I/接入交換機1/2
[0111]/機房/核心交換機I/接入交換機1/3
[0112]..........
[0113]/機房/核心交換機I/接入交換機1/n
[0114]將服務器的IP寫入節(jié)點;
[0115]/機房/核心交換機I/接入交換機1/1/192.0.X.1
[0116]/機房/核心交換機I/接入交換機1/2/192.0.x.2
[0117]/機房/核心交換機I/接入交換機1/3/192.0.x.3
[0118]..........[0?19] /機房/核心交換機n/接入交換機m/服務器η/192.0.x.η
[0120]如果最后一個編號為奇數(shù),則執(zhí)行步驟二,否則比對編號為偶數(shù)的服務器路徑列表和編號為奇數(shù)的服務器的路徑列表,按照順序,將一個奇數(shù)服務器和一個偶數(shù)服務器配對,執(zhí)行測試步驟。
[0121]例如,注冊的名稱為I的服務器結點,往名稱為2的服務器結點中打數(shù)據(jù)。則名稱為“/機房/核心交換機I/接入交換機Ι/ι 192.0.Χ.Γ和名稱為“/機房/核心交換機I/接入交換機1/2192.0.X.2”是一對可以互相打數(shù)據(jù)的服務器對。
[0122]等同步服務發(fā)出服務器節(jié)點I的同步時,進行數(shù)據(jù)傳輸,然后把相關結點刪除。
[0123]兩臺服務器的測試步驟具體如下,假設兩臺測試服務器分別為A,B,測試的目的是計算AB服務器之間的帶寬。首先可以在其中的一臺服務器,例如服務器B監(jiān)聽一個端口(如54321),另一臺服務器A通過預定協(xié)議,往服務器B的監(jiān)聽端口發(fā)送一段數(shù)據(jù)如10GB,服務器B收到數(shù)據(jù)進行回復,服務器A在發(fā)送之前記錄當時系統(tǒng)時間tl,再收到服務器B的回復后再次記錄系統(tǒng)時間t2,這兩次時間相減,可以得到發(fā)送數(shù)據(jù)所花費的時間t,用發(fā)送的數(shù)據(jù)除以所花費的時間,就是兩臺服務器之間的帶寬。
[0124]步驟二、根據(jù)步驟一判斷得知每個接入交換機下最多有一臺服務器不能參加測試,因在同一個接入交換機下沒有與之配對的另一服務器。這將這些服務器順序注冊在核心交換機下,例如:
[0125]/ 機房 / 核心交換機 1/1192.168.1.87
[0126]/ 機房 / 核心交換機 1/2192.168.2.32
[0127].....
[0128]如果最后一個編號為奇數(shù),則執(zhí)行步驟三,否則比對編號為偶數(shù)的服務器路徑列表和編號為奇數(shù)的服務器的路徑列表,按照順序,即可將一個奇數(shù)服務器和一個偶數(shù)服務器配對,執(zhí)行測試步驟。如注冊的名稱為I的結點,往名稱為2的結點中打數(shù)據(jù)。
[0129]等同步服務發(fā)出階段2的同步時,進行數(shù)據(jù)傳輸,然后把相關結點刪除。
[0130]步驟三、從步驟二中判斷得知每個核心交換機下最多有一臺服務器不能參加測試,可將這些服務器注冊在/機房。
[0131]/ 機房/I 192.168.1.123
[0132]/ 機房/2 192.168.2.128
[0133]....
[0134]如果最后一個編號為奇數(shù),則和預留的粧結點配對。否則比對編號為偶數(shù)的服務器路徑列表和編號為奇數(shù)的服務器的路徑列表,按照順序,即可將一個一個奇數(shù)服務器和偶數(shù)服務器配對,執(zhí)行測試步驟。如注冊的名稱為I的結點,往名稱為2的結點中打數(shù)據(jù)。
[0135]每個步驟的測試,如果服務器A到服務器B的速度明顯慢于理論速度,則無法判斷是服務器A慢,服務器B慢,還是都慢。判斷方法如下,選取另外的速度正常的服務器對,服務器C、服務器D,已經(jīng)測試從服務器C到服務器D傳輸數(shù)據(jù)的帶寬正?!,F(xiàn)在服務器A和服務器D,服務器C和服務器B組成兩個新的配對,并進行數(shù)據(jù)傳輸測試,如果服務器A到服務器D的傳輸速度慢,則服務器A有問題。
[0136]以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
[0137]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件?;谶@樣的理解,上述技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機裝置(可以是個人計算機,服務器,或者網(wǎng)絡裝置等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
[0138]最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。
【主權項】
1.一種集群故障監(jiān)測方法,其特征在于,包括如下的步驟: 根據(jù)服務器集群的結構獲取集群中每一服務器的接入路徑; 在同一接入交換機下,按照預設策略選取第一服務器和第二服務器組成測試對; 根據(jù)所述第一服務器以及所述第二服務器的所述接入路徑對所述測試對進行數(shù)據(jù)收發(fā)測試; 獲取所述數(shù)據(jù)收發(fā)測試的結果并根據(jù)所述數(shù)據(jù)收發(fā)測試結果獲取第一服務器和第二服務器之間的收發(fā)帶寬; 當判斷所述收發(fā)帶寬大于預設的帶寬閾值,判定所述第一服務器和所述第二服務器無故障。2.根據(jù)權利要求1所述的方法,其特征在于,所述預設的策略包括: 對所述同一接入交換機下的每一所述服務器進行編號,按所述編號依次選取兩個所述服務器組成所述測試對;或, 獲取所述編號為奇數(shù)的所述服務器對應的奇數(shù)服務器列表,獲取所述編號為偶數(shù)的所述服務器對應的偶數(shù)服務器列表; 按照所述奇數(shù)服務器列表以及所述偶數(shù)服務器列表的順序依次選擇一個所述編號為基數(shù)的服務器以及一個所述編號為偶數(shù)的服務器組成所述測試對。3.根據(jù)權利要求2所述的方法,其特征在于,按照預設策略選取第一服務器和第二服務器組成測試對,還包括: 當所述接入交換機下存在奇數(shù)個所述服務器時,將所述接入交換機下的剩余服務器按照所述接入交換機在核心交換機下的接入順序注冊在所述核心交換機的剩余服務器列表中; 在所述核心交換機的剩余服務器列表中,按照所述預設策略選取兩個服務器組成所述測試對。4.根據(jù)權利要求3所述的方法,其特征在于,所述方法還包括:當所述核心交換機的剩余服務器列表中包含奇數(shù)個所述服務器時,將剩余未配對的所述服務器按照所述核心交換機在機房下的接入順序注冊在所述機房的剩余服務器列表中;在所述機房的剩余服務器列表中,按照所述預設策略選取兩個服務器組成所述測試對。5.根據(jù)權利要求4所述的方法,其特征在于,所述方法還包括: 當所述機房的剩余服務器列表中包含奇數(shù)個所述服務器時,將未配對的所述服務器與預留的粧服務器組成所述測試對。6.根據(jù)權利要求5所述的方法,其特征在于,對所述測試對進行數(shù)據(jù)收發(fā)測試,具體包括: 所述第二服務器通過預設協(xié)議向預設端口發(fā)送數(shù)據(jù)包并記錄當前發(fā)送時刻的第一時間戳,其中,所述預設端口由所述第一服務器監(jiān)聽; 第一服務器通過所述預設端口接收所述數(shù)據(jù)包并向第二服務器發(fā)送回復數(shù)據(jù); 第二服務器接收所述回復數(shù)據(jù)并記錄當前接收時刻的第二時間戳; 根據(jù)所述第一時間戳和所述第二時間戳,獲取所述第一服務器和所述第二服務器之間的帶寬。7.根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括: 當判斷所述收發(fā)帶寬小于或等于預設的帶寬閾值,選取第三服務器以及第四服務器分別與所述第一服務器和所述第二服務器組成兩個所述測試對;其中,所述第三服務器和所述第四服務器為傳輸無故障的所述測試對; 當判定兩個所述測試對中所述第一服務器所在的所述測試對的所述收發(fā)帶寬小于所述預設的收發(fā)帶寬,則判定所述第一服務器存在故障;或, 當判定兩個所述測試對中所述第二服務器所在的所述測試對的所述收發(fā)帶寬小于所述預設的收發(fā)帶寬,則判定所述第二服務器存在故障。8.一種集群故障監(jiān)測裝置,其特征在于,包括如下的模塊: 信息獲取模塊,用于根據(jù)服務器集群的結構獲取集群中每一服務器的接入路徑; 測試模塊,用于在同一接入交換機下,按照預設策略選取第一服務器和第二服務器組成測試對;根據(jù)所述第一服務器以及所述第二服務器的所述接入路徑對所述測試對進行數(shù)據(jù)收發(fā)測試; 分析模塊,用于獲取所述數(shù)據(jù)收發(fā)測試的結果并根據(jù)所述數(shù)據(jù)收發(fā)測試結果獲取第一服務器和第二服務器之間的收發(fā)帶寬;當判斷所述收發(fā)帶寬大于預設的帶寬閾值,判定所述第一服務器和所述第二服務器無故障。9.根據(jù)權利要求7所述的裝置,其特征在于,所述預設的策略包括: 對所述同一接入交換機下中的每一所述服務器進行編號,按所述編號依次選取兩個所述服務器組成所述測試對;或, 獲取所述編號為奇數(shù)的所述服務器對應的奇數(shù)服務器列表,獲取所述編號為偶數(shù)的所述服務器對應的偶數(shù)服務器列表; 按照所述奇數(shù)服務器列表以及所述偶數(shù)服務器列表的順序依次選擇一個所述編號為基數(shù)的服務器以及一個所述編號為偶數(shù)的服務器組成所述測試對。10.根據(jù)權利要求9所述的裝置,其特征在于,所述測試模塊還用于: 當所述接入交換機下存在奇數(shù)個所述服務器時,將所述接入交換機下的剩余服務器按照所述接入交換機在核心交換機下的接入順序注冊在所述核心交換機的剩余服務器列表中; 在所述核心交換機的剩余服務器列表中,按照所述預設策略選取兩個服務器組成所述測試對。11.根據(jù)權利要求10所述的裝置,其特征在于,所述測試模塊還用于: 當所述核心交換機的剩余服務器列表中包含奇數(shù)個所述服務器時,將剩余未配對的所述服務器按照所述核心交換機在機房下的接入順序注冊在所述機房的剩余服務器列表中; 在所述機房的剩余服務器列表中,按照所述預設策略選取兩個服務器組成所述測試對。12.根據(jù)權利要求11所述的裝置,其特征在于,所述測試模塊還用于: 當所述機房的剩余服務器列表中包含奇數(shù)個所述服務器時,將未配對的所述服務器與預留的粧服務器組成所述測試對。13.根據(jù)權利要求8所述的裝置,其特征在于,所述測試模塊具體用于: 所述第二服務器通過預設協(xié)議向預設端口發(fā)送數(shù)據(jù)包并記錄當前發(fā)送時刻的第一時間戳,其中,所述預設端口由所述第一服務器監(jiān)聽; 第一服務器通過所述預設端口接收所述數(shù)據(jù)包并向第二服務器發(fā)送回復數(shù)據(jù); 第二服務器接收所述回復數(shù)據(jù)并記錄當前接收時刻的第二時間戳; 根據(jù)所述第一時間戳和所述第二時間戳獲取所述第一服務器和所述第二服務器之間的帶寬。14.根據(jù)權利要求8所述的裝置,其特征在于,所述測試模塊還用于: 當判斷所述收發(fā)帶寬小于或等于預設的帶寬閾值,選取第三服務器以及第四服務器分別與所述第一服務器和所述第二服務器組成兩個所述測試對;其中,所述第三服務器和所述第四服務器為傳輸無故障的所述測試對; 當判定兩個所述測試對中所述第一服務器所在的所述測試對的所述收發(fā)帶寬小于所述預設的收發(fā)帶寬,則判定所述第一服務器存在故障;或, 當判定兩個所述測試對中所述第二服務器所在的所述測試對的所述收發(fā)帶寬小于所述預設的收發(fā)帶寬,則判定所述第二服務器存在故障。
【文檔編號】H04L12/24GK105933153SQ201610261291
【公開日】2016年9月7日
【申請日】2016年4月25日
【發(fā)明人】侯志貞
【申請人】樂視控股(北京)有限公司, 樂視網(wǎng)信息技術(北京)股份有限公司