由與物理機(jī)器相關(guān)地分析虛擬機(jī)器性能問題原因的方法和系統(tǒng)的制作方法
【專利摘要】根據(jù)一個(gè)示范性實(shí)施例,一種用于分析根本原因的方法施加應(yīng)用級(jí)依賴發(fā)現(xiàn)和異常檢測(cè),以找到一個(gè)或多個(gè)虛擬機(jī)器(VM)中的應(yīng)用級(jí)依賴,并生成帶有異常的應(yīng)用級(jí)拓?fù)?;并且然后將該帶有異常的?yīng)用級(jí)拓?fù)滢D(zhuǎn)換為VM級(jí)依賴,并且經(jīng)由物理和虛擬資源映射將該VM級(jí)依賴轉(zhuǎn)換到物理機(jī)器級(jí)(PM級(jí))依賴,并且最終生成一組事件集。通過對(duì)該組事件集區(qū)分優(yōu)先次序來生成優(yōu)先次序化的事件列表。
【專利說明】由與物理機(jī)器相關(guān)地分析虛擬機(jī)器性能問題原因的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本公開一般涉及一種用于由與物理機(jī)器相關(guān)地分析虛擬機(jī)器當(dāng)中的性能問題的根本原因的方法和系統(tǒng)。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)通信和硬件/軟件技術(shù)中的快速發(fā)展帶來大量的電子服務(wù)以豐富人類的日常生活。隨著虛擬技術(shù)的發(fā)展和進(jìn)步,可以將這些服務(wù)移動(dòng)到虛擬機(jī)器上運(yùn)行。一些技術(shù)可以提供新的經(jīng)濟(jì)模型,新的經(jīng)濟(jì)模型提供諸如計(jì)算能力、數(shù)據(jù)存取和網(wǎng)絡(luò)變換作為效用。例如,一種模型亦稱為可以計(jì)算領(lǐng)域中的基礎(chǔ)設(shè)施即服務(wù)(IAAS)。作為擁有物理數(shù)據(jù)中心的IAAS提供商,絕對(duì)需要監(jiān)視整個(gè)物理數(shù)據(jù)中心以知曉所述設(shè)備的條件,例如冷卻系統(tǒng)和供電/UPS系統(tǒng)或者所述物理設(shè)備的使用,并且很多現(xiàn)有的監(jiān)視系統(tǒng),例如Zenoss和WhatsUp可以支持這些要求。
[0003]現(xiàn)有技術(shù)之一公開了集成在小規(guī)模數(shù)據(jù)中心上運(yùn)行的Xen管理程序中以識(shí)別VM間的依賴的LWT方法。另一技術(shù)引入了使用虛擬化的服務(wù)器合并(consolidate)的概念。為了滿足服務(wù)級(jí)別協(xié)議(SLA),該技術(shù)基于用于當(dāng)檢測(cè)到性能問題時(shí)在一組物理機(jī)器內(nèi)遷移虛擬機(jī)器的算法。又另一種技術(shù)提供了一種虛擬環(huán)境中用于應(yīng)用性能控制和動(dòng)態(tài)資源分配的系統(tǒng)。此技術(shù)預(yù)測(cè)滿足應(yīng)用級(jí)性能要求的資源需求。又另一種技術(shù)公開了一種基于TCP/IP模式的警報(bào)關(guān)聯(lián)算法,并且所述警報(bào)關(guān)聯(lián)(或事件關(guān)聯(lián))是網(wǎng)絡(luò)管理系統(tǒng)中的關(guān)鍵功能。此技術(shù)根據(jù)每一種TCP/IP協(xié)議類型的標(biāo)識(shí)符,例如TCP中的端口號(hào)對(duì)所述警報(bào)分類,并且然后聚集所述警報(bào)以找到根本原因警報(bào)(rootcause alarm)。
[0004]存在一些關(guān)于應(yīng)用性能問題的根本原因分析的工作。這些技術(shù)之一提到監(jiān)視與多個(gè)組件的事務(wù)可以收集組件級(jí)信息。并且,對(duì)于超過門限的事務(wù),可以分析從獨(dú)立組件收集的數(shù)據(jù)以找到性能問題的可能的根本原因。另一種技術(shù)公開了一種包括代理組件的監(jiān)視系統(tǒng),該監(jiān)視系統(tǒng)監(jiān)視并報(bào)告性能參數(shù),例如響應(yīng)時(shí)間,并且可以使用基于網(wǎng)絡(luò)的服務(wù)器來顯示所收集的數(shù)據(jù)。此外,根本原因分析系統(tǒng)應(yīng)用統(tǒng)計(jì)算法來檢測(cè)特定參數(shù)中的性能下降,并且使用一些預(yù)定義的參數(shù)依賴規(guī)則來使該性能下降與問題的根本原因相關(guān)。又在另一種技術(shù)中,從用于事務(wù)的代理處聚集的性能度量用于與基線度量比較以自動(dòng)檢測(cè)異常,并且監(jiān)視系統(tǒng)報(bào)告可接受范圍之外的事務(wù)的組件作為根本原因。
[0005]一種技術(shù)公開了一種名為應(yīng)用級(jí)依賴發(fā)現(xiàn)和維護(hù)的中心服務(wù)器,并且使用在管理程序之內(nèi)集成的系統(tǒng)模塊來收集線程粒度中的應(yīng)用軌跡和用于特定應(yīng)用的應(yīng)用級(jí)依賴圖。在圖1中示出帶有瀏覽器的根節(jié)點(diǎn)、開始時(shí)間和結(jié)束時(shí)間的應(yīng)用軌跡的例子。其中圖1中的應(yīng)用軌跡100從瀏覽器I開始,并且如果應(yīng)用A與另一應(yīng)用B具有數(shù)據(jù)交換并且應(yīng)用A是A到B連接的客戶端側(cè),那么應(yīng)用A依賴于應(yīng)用B。例如,如果負(fù)載均衡器(應(yīng)用A)與應(yīng)用服務(wù)器2 (應(yīng)用B)具有數(shù)據(jù)交換,那么負(fù)載均衡器依賴于應(yīng)用服務(wù)器2。換言之,應(yīng)用軌跡可以相當(dāng)于軌跡的靜態(tài)視圖??梢詫⑻摂M機(jī)器或物理機(jī)器的信息添加在應(yīng)用軌跡上以幫助理解應(yīng)用部署。
[0006]以上工作或技術(shù)要么僅關(guān)心物理機(jī)器的使用和工作負(fù)載而忽略對(duì)于虛擬機(jī)器資源分配的硬件問題,要么僅關(guān)心物理機(jī)器上的硬件問題或性能問題而沒有結(jié)合虛擬化的概念。然而,現(xiàn)在的監(jiān)視系統(tǒng)或網(wǎng)絡(luò)監(jiān)視系統(tǒng)(NMS)可能不診斷在物理數(shù)據(jù)中心上運(yùn)行的虛擬機(jī)器當(dāng)中的性能問題,并且這些性能問題的根本原因可能來自物理數(shù)據(jù)中心的硬件問題,例如錯(cuò)誤很多(buggy)的磁盤或者交換機(jī)過載等等。因此,解決虛擬機(jī)器當(dāng)中的性能問題很重要。
【發(fā)明內(nèi)容】
[0007]本公開的示范性實(shí)施例可以提供一種由與物理機(jī)器相關(guān)地分析虛擬機(jī)器中的性能問題的根本原因的方法和系統(tǒng)。
[0008]一個(gè)示范性實(shí)施例涉及一種適應(yīng)于物理數(shù)據(jù)中心的方法,用于由與物理機(jī)器(PM)相關(guān)地分析虛擬機(jī)器(VM)當(dāng)中的性能問題的根本原因。該方法包括:施加應(yīng)用級(jí)依賴發(fā)現(xiàn)和異常檢測(cè)以找到在物理數(shù)據(jù)中心中的多個(gè)PM上運(yùn)行的一個(gè)或多個(gè)VM中的應(yīng)用級(jí)依賴,并生成帶有異常的應(yīng)用級(jí)拓?fù)?;將該帶有異常的?yīng)用級(jí)拓?fù)滢D(zhuǎn)換到VM級(jí)依賴;經(jīng)由物理和虛擬資源映射將該VM級(jí)依賴轉(zhuǎn)換PM級(jí)依賴,并生成一組事件集;并且通過優(yōu)先次序化該組事件集來生成優(yōu)先次序化的事件列表。
[0009]另一示范性實(shí)施例涉及一種用于由與物理機(jī)器(PM)相關(guān)地分析虛擬機(jī)器(VM)當(dāng)中的性能問題、的根本原因的系統(tǒng)。該系統(tǒng)可以適應(yīng)于物理數(shù)據(jù)中心,并且可以包括應(yīng)用級(jí)異常檢測(cè)模塊、提取模塊以及事件生成和優(yōu)先次序化模塊。應(yīng)用級(jí)異常檢測(cè)模塊被配置為找出在物理數(shù)據(jù)中心中的多個(gè)PM上運(yùn)行的一個(gè)或多個(gè)VM中的應(yīng)用級(jí)依賴,并且生成帶有異常的應(yīng)用級(jí)拓?fù)?。提取模塊被配置為從帶有異常的應(yīng)用級(jí)拓?fù)涮崛M級(jí)依賴,然后將VM級(jí)依賴轉(zhuǎn)換到PM級(jí)依賴。事件生成和優(yōu)先次序化模塊被配置為獲得PM通信拓?fù)?,通過使用該P(yáng)M通信拓?fù)渖梢唤M事件集,并且通過對(duì)該組事件集區(qū)分優(yōu)先次序而生成優(yōu)先次序化的事件列表。
【專利附圖】
【附圖說明】
[0010]圖1示出應(yīng)用軌跡的例子;
[0011]圖2示出根據(jù)示范性實(shí)施例的、用于由與物理機(jī)器相關(guān)地分析虛擬機(jī)器當(dāng)中的性能問題的根本原因的方法的操作流;
[0012]圖3示出根據(jù)示范性實(shí)施例,用于接收/響應(yīng)I3DCM請(qǐng)求的、在物理設(shè)備中安裝的代理的不意圖;
[0013]圖4示出根據(jù)示范性實(shí)施例的虛擬數(shù)據(jù)中心中的示范性應(yīng)用依賴拓?fù)涞氖疽鈭D;
[0014]圖5示出圖解根據(jù)示范性實(shí)施例的所述應(yīng)用在其上運(yùn)行的虛擬機(jī)器和在圖4的應(yīng)用級(jí)依賴圖中檢測(cè)的異常的示意圖;
[0015]圖6示出圖解根據(jù)示范性實(shí)施例的用于圖5的虛擬機(jī)器和虛擬卷當(dāng)中的通信的示意圖;
[0016]圖7示出圖解根據(jù)示范性實(shí)施例的從圖6的虛擬機(jī)器級(jí)到物理機(jī)器級(jí)的提取的示意圖;[0017]圖8示出圖解根據(jù)示范性實(shí)施例的物理數(shù)據(jù)中心中的物理機(jī)器和物理網(wǎng)絡(luò)存儲(chǔ)器當(dāng)中的通信的示意圖;
[0018]圖9示出根據(jù)示范性實(shí)施例的彼此進(jìn)行通信的兩個(gè)示范性物理機(jī)器之間的示范性路由路徑,以及所得到的對(duì)應(yīng)事件;
[0019]圖10示出根據(jù)示范性實(shí)施例的、用于圖8的物理機(jī)器通信拓?fù)涞氖录氖痉缎越M;
[0020]圖11示出根據(jù)示范性實(shí)施例的、來自圖10的事件集組的示范性優(yōu)先次序化事件列表;
[0021]圖12示出根據(jù)示范性實(shí)施例的用于根本原因分析的事件優(yōu)先次序化的操作流;
[0022]圖13示出根據(jù)示范性實(shí)施例的、用于由與物理機(jī)器相關(guān)地分析虛擬機(jī)器當(dāng)中的性能問題的根本原因的系統(tǒng)。
【具體實(shí)施方式】
[0023]下面,將參照附圖詳細(xì)描述示范性實(shí)施例,以便由本領(lǐng)域普通技術(shù)人員容易地實(shí)現(xiàn)該示范性實(shí)施例??梢栽诟鞣N形式中具體化本發(fā)明構(gòu)思,而不限于此處闡述的示范性實(shí)施例。為了清楚省略公知部分的描述,并且通篇相似的參考標(biāo)號(hào)指代相似的元素。
[0024]示范性實(shí)施例公開了 一種用于由與物理機(jī)器相關(guān)地分析虛擬機(jī)器當(dāng)中的性能問題的根本原因的技術(shù)。在本公開中,使用基礎(chǔ)設(shè)施即服務(wù)(IAAS),其中一個(gè)或多個(gè)虛擬機(jī)器可以在裝備有諸如物理機(jī)器、網(wǎng)絡(luò)存儲(chǔ)器和交換機(jī)的物理設(shè)備的至少一個(gè)數(shù)據(jù)中心上運(yùn)行,并且該數(shù)據(jù)中心可以指物理數(shù)據(jù)中心??紤]如下示范性情形。作為從該物理數(shù)據(jù)中心操作員租借資源以創(chuàng)建他/她自己的虛擬數(shù)據(jù)中心的用戶的虛擬數(shù)據(jù)中心操作員,發(fā)現(xiàn)他/她的虛擬數(shù)據(jù)中心中的應(yīng)用性能問題。應(yīng)用性能問題可以是,但不限于,從網(wǎng)站的響應(yīng)時(shí)間非常長(zhǎng)。在該情形中,示范性實(shí)施例可以監(jiān)視其中運(yùn)行了大量虛擬機(jī)器的物理數(shù)據(jù)中心中的物理設(shè)備,并且通過使性能問題與硬件問題相關(guān)來弄清同一虛擬數(shù)據(jù)中心中的虛擬機(jī)器當(dāng)中的性能問題的根本原因。
[0025]根據(jù)示范性實(shí)施例,使在一個(gè)或多個(gè)物理機(jī)器上運(yùn)行的虛擬機(jī)器當(dāng)中的性能問題與所述物理機(jī)器的硬件問題相關(guān),可以包含諸如應(yīng)用級(jí)依賴發(fā)現(xiàn)和異常檢測(cè)、物理和虛擬資源映射、用于事件產(chǎn)生和合并的硬件監(jiān)視、用于根本原因分析的事件優(yōu)先次序化流程圖等等的分步驟(component)。換言之,所述示范性實(shí)施例將虛擬機(jī)器上的性能問題轉(zhuǎn)換為物理機(jī)器的硬件問題,用于幫助弄清并解決根本原因,并且通過使用應(yīng)用級(jí)依賴、物理/虛擬資源映射和網(wǎng)絡(luò)路由信息可以實(shí)現(xiàn)根本原因分析技術(shù)。
[0026]圖2示出根據(jù)一示范性實(shí)施例的、用于由與物理機(jī)器相關(guān)地分析虛擬機(jī)器當(dāng)中的性能問題的根本原因的方法的操作流。參照?qǐng)D2,該方法可以施加應(yīng)用級(jí)依賴發(fā)現(xiàn)和異常檢測(cè)來找出一個(gè)或多個(gè)虛擬機(jī)器(VM)中的應(yīng)用級(jí)依賴(步驟210),并生成帶有異常的應(yīng)用級(jí)拓?fù)?,并向VM級(jí)依賴轉(zhuǎn)換該帶有異常的應(yīng)用級(jí)拓?fù)?步驟220)。該方法然后執(zhí)行物理和虛擬資源映射以將VM級(jí)依賴轉(zhuǎn)換為物理機(jī)器級(jí)依賴,并最終生成一組事件集(步驟230)。該方法還可以通過對(duì)該組事件集區(qū)分優(yōu)先次序來進(jìn)一步生成優(yōu)先次序化的事件列表(步驟240)。圖2中所示方法的操作流可以向物理數(shù)據(jù)中心的管理員推薦客戶的虛擬機(jī)器當(dāng)中的性能問題的根本原因。以下進(jìn)一步描述了用于所包含的每一步驟的細(xì)節(jié)。[0027]在步驟210中,可以使用稱為ADDM (應(yīng)用級(jí)依賴發(fā)現(xiàn)和維護(hù))的中心服務(wù)器和在管理程序中集成的系統(tǒng)模塊,來收集用于特定應(yīng)用的線程粒度中的應(yīng)用軌跡和應(yīng)用級(jí)依賴地圖??梢栽趫D1中示出具有瀏覽器的根節(jié)點(diǎn)、等于0:00的開始時(shí)間和等于4:00的結(jié)束時(shí)間的應(yīng)用軌跡的例子??梢詫⑻摂M機(jī)器或物理機(jī)器的信息添加在應(yīng)用軌跡上以幫助理解應(yīng)用部署。例如在所公開的實(shí)施例中,可以獲得施加后向蹤跡、延遲時(shí)間或與每一跳相關(guān)的延遲。在正常的環(huán)境下,它可以多次收集用于整個(gè)應(yīng)用的開始和結(jié)束時(shí)間間隔,以找出與每一跳相關(guān)的平均延遲——這指的是訓(xùn)練階段。換言之,在訓(xùn)練階段可以找出應(yīng)用軌跡上與每一跳相關(guān)的平均延遲。通過添加作為容差的相應(yīng)的S時(shí)間段到與每一跳相關(guān)的平均延遲(或者就使用與每一跳相關(guān)的平均延遲),可以產(chǎn)生每一跳的基線延遲。當(dāng)請(qǐng)求ADDM服務(wù)器來收集用于整個(gè)特定應(yīng)用的當(dāng)前響應(yīng)時(shí)間時(shí),該ADDM服務(wù)器還可以檢查以確定與每一跳相關(guān)的平均延遲是否超過它的對(duì)應(yīng)基線延遲。將延遲超過它們對(duì)應(yīng)的基線延遲的這些跳檢測(cè)作為異常。
[0028]在步驟220中,虛擬機(jī)器的物理資源使用可以包括計(jì)算能力、數(shù)據(jù)存取和網(wǎng)絡(luò)傳輸。在計(jì)算能力方面,所公開的實(shí)施例可以使用儲(chǔ)存庫(repository)來保存關(guān)于特定的虛擬機(jī)器在哪個(gè)物理機(jī)器上運(yùn)行的信息。當(dāng)創(chuàng)建虛擬機(jī)器時(shí)或者遷移虛擬機(jī)器之后,無論使用何種虛擬機(jī)器創(chuàng)建/遷移算法(諸如資源分配算法),都可以知道該虛擬機(jī)器在哪個(gè)物理機(jī)器上運(yùn)行。在數(shù)據(jù)存取方面,所公開的實(shí)施例可以使用儲(chǔ)存庫來保存關(guān)于虛擬卷附屬于哪個(gè)虛擬機(jī)器的信息,并且使用儲(chǔ)存庫來保存關(guān)于虛擬卷涉及哪些網(wǎng)絡(luò)存儲(chǔ)設(shè)備的信息。換言之,當(dāng)創(chuàng)建虛擬卷并且然后將它們附屬于特定的虛擬機(jī)器時(shí),還可以在所述儲(chǔ)存庫中保存關(guān)于特定的虛擬機(jī)器使用哪些虛擬卷以及這些卷位于哪些網(wǎng)絡(luò)存儲(chǔ)器的信息。此外,保存此信息在所述儲(chǔ)存庫中可以與任何虛擬化算法結(jié)合。
[0029]另一方面,在網(wǎng)絡(luò)傳輸方面,所公開的實(shí)施例可以使用至少一個(gè)儲(chǔ)存庫來保存關(guān)于如何向因特網(wǎng)傳送虛擬機(jī)器的數(shù)據(jù)或者如何在同一虛擬數(shù)據(jù)中心中的兩臺(tái)虛擬機(jī)器之間傳送數(shù)據(jù)的信息。為了知道答案,所公開的實(shí)施例保存多個(gè)物理機(jī)器的每一對(duì)之間的路由路徑的信息,和所述多個(gè)物理機(jī)器的每一個(gè)和一個(gè)或多個(gè)物理設(shè)備的每一個(gè)之間的至少一條路由路徑的信息。可以在至少一個(gè)儲(chǔ)存庫中保存該信息。物理設(shè)備可以是,但不限于網(wǎng)關(guān)或諸如交換機(jī)、物理存儲(chǔ)器等的網(wǎng)絡(luò)設(shè)備。一對(duì)物理機(jī)器之間的路由路徑意思是物理機(jī)器沿著該路徑向另一物理設(shè)備發(fā)送分組/幀。因?yàn)橐阎撎摂M機(jī)器在哪些物理機(jī)器上運(yùn)行,所以可以知道兩臺(tái)虛擬機(jī)器之間如何傳送數(shù)據(jù)。
[0030]如圖3中所示,根據(jù)示范性實(shí)施例,可以在每一個(gè)被監(jiān)視的物理設(shè)備中安裝代理用于接收/響應(yīng)物理數(shù)據(jù)中心管理(PDCM)請(qǐng)求。該代理可以收集物理設(shè)備信息,并在對(duì)應(yīng)的儲(chǔ)存庫中保存該信息。該物理設(shè)備信息可以是,但不限于制造商、CPU/存儲(chǔ)利用、空閑分區(qū)空間、接口的比特率/誤比特率和其它信息。該代理可以通過IPM1、SMART或者甚至分析系統(tǒng)記錄和諸如“top”或“xentop”的系統(tǒng)命令的結(jié)果來得到物理信息。當(dāng)該代理從諸如PDCM服務(wù)器300的服務(wù)器的監(jiān)視模塊310接收請(qǐng)求時(shí),它可以向該I3DCM服務(wù)器300發(fā)回對(duì)應(yīng)的值以得到在該I3DCM服務(wù)器的物理設(shè)備信息。物理數(shù)據(jù)中心(PDC)的管理員可以設(shè)置探測(cè)時(shí)段,例如350秒,來向該P(yáng)DC中的每一物理設(shè)備發(fā)送請(qǐng)求,并且每個(gè)探測(cè)時(shí)段(例如350秒)得到與每一物理設(shè)備對(duì)應(yīng)的最后的值(例如在物理機(jī)器PM1, CPU溫度50° C)。
[0031]在步驟230中,它也可以設(shè)置不同的門限,用于與不同物理設(shè)備對(duì)應(yīng)的不同的最后值。當(dāng)所獲得的值超過它們對(duì)應(yīng)的給定門限時(shí),諸如rocM服務(wù)器的服務(wù)器可以生成用于對(duì)應(yīng)物理設(shè)備的對(duì)應(yīng)事件以通知物理數(shù)據(jù)中心。此外,可以使用PING請(qǐng)求以檢查物理設(shè)備是否可達(dá)到。已經(jīng)使所述監(jiān)視模塊商業(yè)化,例如Zenoss或者WhatsUp。所產(chǎn)生的一些事件可以具有關(guān)聯(lián),其中一組事件可以具有同一根本原因。產(chǎn)生相關(guān)聯(lián)的事件之后,所公開的示范性實(shí)施例可以施加現(xiàn)有的算法來合并該組事件。
[0032]在步驟240中,根據(jù)事件優(yōu)先次序化算法可以對(duì)該組事件集區(qū)分優(yōu)先次序,稍后將描述如下。在優(yōu)先次序化的事件列表中,具有更靠前的順序的事件可能具有較高的可能性成為該性能問題的根本原因,并且應(yīng)該比具有更靠后順序的事件更快地解決它們。合并步驟210-240中包含的以上分步驟,以下示出用于示范性應(yīng)用的整體操作流,以通過使性能問題與硬件問題關(guān)聯(lián)來分析同一虛擬數(shù)據(jù)中心中的虛擬機(jī)器當(dāng)中的性能問題的根本原因。
[0033]根據(jù)步驟210,ADDM服務(wù)器可以用于被請(qǐng)求以得到虛擬數(shù)據(jù)中心中的應(yīng)用的當(dāng)前延遲并檢測(cè)異常。所述虛擬數(shù)據(jù)中心中的示范性應(yīng)用的應(yīng)用依賴拓?fù)淙鐖D4中所示。從圖4的應(yīng)用依賴拓?fù)?,該ADDM服務(wù)器還弄清所述應(yīng)用在哪些虛擬機(jī)器上運(yùn)行,并且進(jìn)行檢查以確定所獲得的針對(duì)所述應(yīng)用當(dāng)中的每一跳的當(dāng)前延遲是否超過它的對(duì)應(yīng)基線。圖5示出根據(jù)示范性實(shí)施例圖解所述應(yīng)用在其上運(yùn)行的虛擬機(jī)器和在應(yīng)用級(jí)依賴圖中檢測(cè)的異常的示意圖。例如,針對(duì)從虛擬機(jī)器VM1中的瀏覽器到虛擬機(jī)器VM2中的DNS服務(wù)器的跳躍,檢測(cè)到用虛線箭頭表示的異常,并且在該應(yīng)用級(jí)依賴圖中檢測(cè)到四個(gè)異常??梢韵騂)CM服務(wù)器發(fā)送用于所述四個(gè)異常的關(guān)于用VMp VM2、VM3和VM4表示的對(duì)應(yīng)虛擬機(jī)器的信息。
[0034]根據(jù)步驟220,從所述儲(chǔ)存庫可以獲得針對(duì)VM的所使用的虛擬卷,并且從應(yīng)用級(jí)提取VM級(jí)。因此,如圖6中所示,找出每一虛擬機(jī)器VMp VM2, VM3和VM4的附屬虛擬卷,并且在該H)CM服務(wù)器中從應(yīng)用級(jí)的視點(diǎn)提取虛假機(jī)級(jí)的視點(diǎn)。此外,任何兩個(gè)虛擬機(jī)器,比如VMa和VMb彼此進(jìn)行通信,意味著在它們上面運(yùn)行的應(yīng)用彼此進(jìn)行通信。例如,圖6中的VM2和VM3彼此進(jìn)行通 信。原因是VM2上的網(wǎng)絡(luò)服務(wù)器對(duì)VM3上的負(fù)載均衡器進(jìn)行通信。此外,認(rèn)為這兩個(gè)虛擬機(jī)器彼此進(jìn)行通信,因此如圖6中所示在¥112和¥113之間存在鏈接。虛擬機(jī)器和卷之間的鏈接指示該卷附屬于該虛擬機(jī)器。例如,卷2附屬于虛擬機(jī)器VM2。
[0035]根據(jù)步驟230,可以從所述儲(chǔ)存庫獲得關(guān)于物理機(jī)器和諸如存儲(chǔ)器設(shè)備的物理設(shè)備的信息,并且從虛假機(jī)級(jí)提取物理機(jī)級(jí)。因此,進(jìn)一步從圖6中的虛擬機(jī)器級(jí)的視點(diǎn)提取物理機(jī)器級(jí)的視點(diǎn)。換言之,可以從至少一個(gè)儲(chǔ)存庫找到所述虛擬機(jī)器或虛擬卷運(yùn)行在或保存在哪些物理機(jī)器或物理存儲(chǔ)器上。圖7示出圖解根據(jù)示范性實(shí)施例從圖6的虛擬機(jī)器級(jí)到物理機(jī)器級(jí)的提取的示意圖。任何兩個(gè)物理機(jī)器,比如PMa和PMb彼此進(jìn)行通信,意味著在它們上面運(yùn)行的虛擬機(jī)器彼此進(jìn)行通信。例如,圖7中的PM1和PM3彼此進(jìn)行通信,因?yàn)镻M1中的VM2和PM3中的VM3彼此進(jìn)行通信。物理機(jī)器和物理存儲(chǔ)器彼此進(jìn)行通信,意味著在該物理機(jī)器上運(yùn)行的虛擬機(jī)器和附屬于該物理存儲(chǔ)器的卷彼此進(jìn)行通信。例如,PM3中的VM3和物理存儲(chǔ)器2中的卷3彼此進(jìn)行通信。
[0036]圖7的提取過程之后,如圖5中的虛擬數(shù)據(jù)中心中的初始的應(yīng)用級(jí)依賴被轉(zhuǎn)換成物理數(shù)據(jù)中心中的物理機(jī)器級(jí)依賴。圖8示出圖解根據(jù)示范性實(shí)施例的物理數(shù)據(jù)中心中的物理機(jī)器和物理網(wǎng)絡(luò)存儲(chǔ)器當(dāng)中的通信的示意圖。其中,在該P(yáng)M通信拓?fù)?00中,兩個(gè)物理機(jī)器之間的鏈接意味著該兩個(gè)物理機(jī)器彼此進(jìn)行通信,并且一個(gè)物理機(jī)器和一個(gè)物理存儲(chǔ)器之間的鏈接意味著該物理機(jī)器和該物理存儲(chǔ)器彼此進(jìn)行通信。
[0037]如前所述,所公開的實(shí)施例可以使用至少一個(gè)儲(chǔ)存庫來保存多個(gè)物理機(jī)器的每一對(duì)之間的路由路徑的信息,和所述多個(gè)物理機(jī)器的每一個(gè)和一個(gè)或多個(gè)物理設(shè)備的每一個(gè)之間的至少一條路由路徑的信息。因此,對(duì)于被認(rèn)為彼此進(jìn)行通信的任何兩個(gè)物理機(jī)器,所公開的示范性實(shí)施例可以從所述儲(chǔ)存庫得到該兩個(gè)物理機(jī)器之間的路由路徑(即數(shù)據(jù)傳輸路徑),并且得到相應(yīng)的事件。例如,圖9示出根據(jù)示范性實(shí)施例的彼此進(jìn)行通信的兩個(gè)示范性物理機(jī)器(比如PMa和PMb)之間的示范性路由路徑910,以及所得到的對(duì)應(yīng)事件920。如圖9中所示,從PMa到PMb的路由路徑910經(jīng)過交換機(jī)A、交換機(jī)B以及然后的交換機(jī)C。收集與該數(shù)據(jù)傳輸路徑中包含的物理設(shè)備相關(guān)的(已經(jīng)合并了的)所有當(dāng)前事件之后,形成PMa PMb對(duì)的事件集。該P(yáng)Ma PMb對(duì)的事件集包括PMa的事件、交換機(jī)A的事件、交換機(jī)B的事件、交換機(jī)C的事件和PMb的事件。
[0038]因此,對(duì)于被認(rèn)為彼此進(jìn)行通信的任何兩個(gè)物理機(jī)器,所公開的示范性實(shí)施例可以得到對(duì)應(yīng)的事件集。因此,通過使用物理機(jī)器通信拓?fù)淇梢孕纬梢唤M事件集。圖10示出根據(jù)示范性實(shí)施例的、用于圖8的物理機(jī)器通信拓?fù)?00的事件集的示范性組1000。在圖10中,該事件集組1000可以包括PM1 PS1對(duì)的事件集、PM1 PM3對(duì)的事件集、PM2 PM3對(duì)的事件集、PM3 PS2對(duì)的事件集和PM2 PS3對(duì)的事件集,其中PM表示物理機(jī)器而PS表示物理存儲(chǔ)器。正如可以看出的,該組事件集中的事件集數(shù)目等于物理機(jī)器通信拓?fù)渲墟溄拥臄?shù)目。換言之,PM級(jí)依賴是PM通信拓?fù)?,并且通過使用PM通信拓?fù)淇梢援a(chǎn)生該組事件集。
[0039]根據(jù)步驟240,可以進(jìn)一步根據(jù)事件優(yōu)先次序化算法對(duì)一組事件集區(qū)分優(yōu)先次序。根據(jù)事件優(yōu)先次序化算法的一個(gè)示范性實(shí)施例,對(duì)于該組事件集中的事件,當(dāng)它包含在兩個(gè)事件集中時(shí),定義針對(duì)此事件的支持計(jì)數(shù)(supportcount)??梢杂迷撌录谄渲谐霈F(xiàn)的事件集的數(shù)目來定義用于事件的支持計(jì)數(shù)。因此,可以計(jì)算該組事件集中每個(gè)事件的支持計(jì)數(shù),然后按支持計(jì)數(shù)的遞減順序?qū)λ袑?duì)應(yīng)事件排好序。當(dāng)存在具有相同的支持計(jì)數(shù)的兩事件時(shí),它可以根據(jù)事件嚴(yán)重性對(duì)它們排序。如圖11中示出示范性優(yōu)先次序化事件列表1100,可以進(jìn)一步將其發(fā)送到物理數(shù)據(jù)中心。
[0040]如圖11中所示,該優(yōu)先次序化的事件列表1100中的每個(gè)事件可以關(guān)聯(lián)諸如物理機(jī)器或物理設(shè)備的設(shè)備,并且具有與到該設(shè)備的硬件問題對(duì)應(yīng)的關(guān)聯(lián)消息。如前所述,在該列表中具有更靠前順序的事件可以具有更高的可能性成為特定的性能問題的根本原因。并且最好是早于具有更靠后順序的事件的特定性能問題,解決該事件的特定性能問題。例如,與稱為交換機(jī)A的設(shè)備關(guān)聯(lián)的事件A具有CPU利用率超過85%的消息,并且CPU利用率超過85%的性能問題具有最高的可能性成為根本原因。
[0041]以上用于對(duì)該組事件集1000區(qū)分優(yōu)先次序的原理是:通常的硬件問題,例如交換機(jī)的過載可能是同一虛擬數(shù)據(jù)中心中的虛擬機(jī)器當(dāng)中對(duì)應(yīng)性能問題的瓶頸,并且最高優(yōu)先地解決它們可以加速提高性能。對(duì)該組事件集中事件的超過次數(shù)計(jì)數(shù)是優(yōu)先次序化的基本思想。用于優(yōu)先次序化一組事件集的算法可以變化。例如,它可以將事件嚴(yán)重性和設(shè)備類型考慮到用于每一類事件的特定權(quán)重(而不是I)上,并且通過使用加權(quán)的支持計(jì)數(shù)來對(duì)所述事件進(jìn)行優(yōu)先次序化。
[0042]因此,根據(jù)示范性實(shí)施例,可以如圖12中總結(jié)用于根本原因分析的事件優(yōu)先次序化的操作流,其可以包括:得到帶有異常的應(yīng)用級(jí)拓?fù)涞膽?yīng)用級(jí)異常檢測(cè)(步驟1210);得到VM級(jí)依賴的從應(yīng)用級(jí)到虛擬機(jī)器級(jí)(VM級(jí))的第一提取過程(步驟1220);得到PM級(jí)依賴的從VM級(jí)到PM級(jí)的第二提取過程(步驟1230);從該P(yáng)M級(jí)依賴生成一組事件集(步驟1240);以及以產(chǎn)生優(yōu)先次序化的事件列表的事件優(yōu)先次序化(步驟1250)。其中,至少一個(gè)儲(chǔ)存庫可以用于保存所述兩個(gè)提取過程期間PM/VM映射信息并產(chǎn)生所述事件集組。監(jiān)視模塊可以用于生成該組事件集的每個(gè)事件。
[0043]用于根本原因分析的公開的示范性實(shí)施例可以適應(yīng)于具有物理機(jī)器、一個(gè)或多個(gè)網(wǎng)絡(luò)存儲(chǔ)器以及一個(gè)或多個(gè)網(wǎng)絡(luò)設(shè)備的物理數(shù)據(jù)中心(PDC)??梢允褂梦锢頂?shù)據(jù)中心管理模塊以連續(xù)地監(jiān)視該物理機(jī)器、網(wǎng)絡(luò)存儲(chǔ)器以及網(wǎng)絡(luò)設(shè)備,并生成針對(duì)硬件組件的事件以分析與所述硬件組件對(duì)應(yīng)的性能問題。可以使用至少一個(gè)儲(chǔ)存庫以保存虛擬機(jī)器在哪個(gè)物理機(jī)器上運(yùn)行、虛擬卷附屬于哪個(gè)虛擬機(jī)器、虛擬卷與哪個(gè)(些)網(wǎng)絡(luò)存儲(chǔ)器有關(guān)以及任何兩個(gè)物理設(shè)備之間的路由路徑的信息。
[0044]因此,可以如圖13中示出用于由與物理機(jī)器關(guān)聯(lián)地分析虛擬機(jī)器當(dāng)中的性能問題的根本原因的系統(tǒng)的一個(gè)示范性實(shí)施例。參照?qǐng)D13,該系統(tǒng)1300可以適應(yīng)于物理數(shù)據(jù)中心,并且可以包括應(yīng)用級(jí)異常檢測(cè)模塊1310、提取模塊1320以及事件生成和優(yōu)先次序化模塊1330。應(yīng)用級(jí)異常檢測(cè)模塊1310被配置為找出在物理數(shù)據(jù)中心中的多個(gè)物理機(jī)器(PM)上運(yùn)行的一個(gè)或多個(gè)虛擬機(jī)器(VM)中的應(yīng)用級(jí)依賴,并且生成帶有異常的應(yīng)用級(jí)拓?fù)洹L崛∧K1320被配置為從帶有異常的應(yīng)用級(jí)拓?fù)涮崛M級(jí)依賴,然后將VM級(jí)依賴轉(zhuǎn)換到PM級(jí)依賴。事件生成和優(yōu)先次序化模塊1330被配置為得到PM通信拓?fù)?,通過使用該P(yáng)M通信拓?fù)渖梢唤M事件集,并且通過對(duì)該組事件集區(qū)分優(yōu)先次序而生成優(yōu)先次序化的事件列表。
[0045]可以將該系統(tǒng)1300集成到物理數(shù)據(jù)中心管理系統(tǒng)模塊中,以連續(xù)地監(jiān)視該物理數(shù)據(jù)中心中的多個(gè)PM和一個(gè)或多個(gè)物理設(shè)備。物理設(shè)備可以是,但不限于網(wǎng)關(guān)或諸如交換機(jī)、物理存儲(chǔ)器等的網(wǎng)絡(luò)設(shè)備。該系統(tǒng)1300可以進(jìn)一步包括至少一個(gè)儲(chǔ)存庫來保存所述多個(gè)物理機(jī)器的每一對(duì)之間的路由路徑的信息,和所述多個(gè)物理機(jī)器的每一個(gè)和一個(gè)或多個(gè)物理設(shè)備的每一個(gè)之間的至少一條路由路徑的信息。提取模塊1320可以從該儲(chǔ)存庫得到用于VM的使用的虛擬卷的信息,用于從應(yīng)用級(jí)提取VM級(jí),并且可以從該儲(chǔ)存庫得到所述多個(gè)PM和一個(gè)或多個(gè)物理存儲(chǔ)器的信息,用于從所述VM級(jí)依賴提取PM級(jí)依賴。事件生成和優(yōu)先次序化模塊可以從該儲(chǔ)存庫得到所述多個(gè)PM的每對(duì)PM之間的路由路徑的信息,用于生成對(duì)應(yīng)于該路由路徑上多個(gè)物理設(shè)備的多個(gè)事件。之前已經(jīng)描述了用于對(duì)該組事件集區(qū)分優(yōu)先次序的示范性算法,并且在這里省略。
[0046]總之,所述示范性實(shí)施例提供了用于分析根本原因的技術(shù),通過使用應(yīng)用級(jí)依賴、物理/虛擬資源映射和網(wǎng)絡(luò)路由信息實(shí)現(xiàn)該技術(shù)。該技術(shù)施加應(yīng)用級(jí)異常檢測(cè)以得到帶有異常的應(yīng)用級(jí)拓?fù)洌瑘?zhí)行(從應(yīng)用級(jí)到VM級(jí)的)提取過程以得到VM級(jí)依賴,和執(zhí)行(從VM級(jí)到PM級(jí)的)提取過程以得到PM通信拓?fù)洌缓髲脑揚(yáng)M通信拓?fù)渖梢唤M事件集。并且,通過執(zhí)行優(yōu)先次序化算法形成優(yōu)先次序化的事件列表。
[0047]對(duì)本領(lǐng)域技術(shù)人員來說,顯然可以對(duì)所公開的實(shí)施例進(jìn)行各種修改和變化。旨在認(rèn)為本說明書和例子僅是示范性的,本公開的真實(shí)范圍由下面的權(quán)利要求及其等價(jià)內(nèi)容指
/Jn ο
【權(quán)利要求】
1.一種適應(yīng)于物理數(shù)據(jù)中心的、用于由與物理機(jī)器(PM)相關(guān)地分析虛擬機(jī)器(VM)當(dāng)中的性能問題的根本原因的方法,該方法包括: 施加應(yīng)用級(jí)依賴發(fā)現(xiàn)和異常檢測(cè),以找出在該物理數(shù)據(jù)中心中多個(gè)PM上運(yùn)行的一個(gè)或多個(gè)VM中的應(yīng)用級(jí)依賴,并且生成帶有異常的應(yīng)用級(jí)拓?fù)洌? 將該帶有異常的應(yīng)用級(jí)拓?fù)滢D(zhuǎn)換到VM級(jí)依賴; 經(jīng)由物理和虛擬資源映射將該VM級(jí)依賴轉(zhuǎn)換到PM級(jí)依賴,并且生成一組事件集;以及 通過對(duì)該組事件集區(qū)分優(yōu)先次序來生成優(yōu)先次序化的事件列表。
2.如權(quán)利要求1所述的方法,其中應(yīng)用級(jí)依賴發(fā)現(xiàn)和異常檢測(cè)進(jìn)一步包括: 在訓(xùn)練階段找到與應(yīng)用軌跡上的多跳的每一跳相關(guān)的平均延遲;并且 添加作為容差的相應(yīng)S時(shí)間段到所述與每一跳相關(guān)的平均延遲,并且生成所述每一跳的對(duì)應(yīng)基線延遲。
3.如權(quán)利要求2所述的方法,其中進(jìn)一步確定與所述多跳的每一跳相關(guān)的平均延遲是否超過它的對(duì)應(yīng)基線延遲,并且將其延遲超過它們的對(duì)應(yīng)基線延遲的這些跳檢測(cè)為異常。
4.如權(quán)利要求1所述的方法,其中使用儲(chǔ)存庫以保存關(guān)于一個(gè)或多個(gè)虛擬機(jī)器的物理資源使用的至少一信息。
5.如權(quán)利要求 1所述的方法,其中所述方法進(jìn)一步使用至少一個(gè)儲(chǔ)存庫以保存:多個(gè)物理機(jī)器的每對(duì)之間的路由路徑的第一信息,和所述多個(gè)物理機(jī)器的每個(gè)和至少一個(gè)物理設(shè)備的每個(gè)之間的至少一條路由路徑的第二信息。
6.如權(quán)利要求1所述的方法,其中所述優(yōu)先次序化的事件列表中的每個(gè)事件與設(shè)備關(guān)聯(lián),并且具有與該設(shè)備的硬件問題對(duì)應(yīng)的關(guān)聯(lián)消息。
7.如權(quán)利要求6所述的方法,其中所述每個(gè)事件所關(guān)聯(lián)的設(shè)備是物理機(jī)器和物理設(shè)備之一,并且所述物理設(shè)備是物理機(jī)器、網(wǎng)絡(luò)存儲(chǔ)器和網(wǎng)絡(luò)設(shè)備之一。
8.如權(quán)利要求1所述的方法,其中所述物理和虛擬資源映射進(jìn)一步包括: 從至少一個(gè)儲(chǔ)存庫獲得關(guān)于至少一個(gè)物理機(jī)器和至少一個(gè)物理設(shè)備的信息,并且從VM級(jí)依賴提取PM級(jí)依賴。
9.如權(quán)利要求1所述的方法,其中生成所述組事件集的步驟進(jìn)一步包括: 對(duì)于多個(gè)PM的每對(duì)PM,得到該P(yáng)M對(duì)和該P(yáng)M對(duì)的第一對(duì)應(yīng)事件集之間的路由路徑;以及 對(duì)于所述多個(gè)PM的一個(gè)PM和至少一個(gè)物理存儲(chǔ)器的一個(gè)物理存儲(chǔ)器(PS)的每一對(duì),得到該P(yáng)M和該P(yáng)S的第二對(duì)應(yīng)事件集。
10.如權(quán)利要求1所述的方法,其中所述PM級(jí)依賴是PM通信拓?fù)洌⑶彝ㄟ^使用該P(yáng)M通信拓?fù)渖伤鼋M事件集。
11.一種適應(yīng)于物理數(shù)據(jù)中心的、用于由與物理機(jī)器(PM)相關(guān)地分析虛擬機(jī)器(VM)當(dāng)中的性能問題的根本原因的系統(tǒng),該系統(tǒng)包括: 應(yīng)用級(jí)異常檢測(cè)模塊,被配置為找出在該物理數(shù)據(jù)中心中的多個(gè)PM上運(yùn)行的一個(gè)或多個(gè)VM中的應(yīng)用級(jí)依賴,并且生成帶有異常的應(yīng)用級(jí)拓?fù)洌? 提取模塊,被配置為從該帶有異常的應(yīng)用級(jí)拓?fù)涮崛M級(jí)依賴,然后將該VM級(jí)依賴轉(zhuǎn)換到PM級(jí)依賴;以及 事件生成和優(yōu)先次序化模塊,被配置為得到PM通信拓?fù)?,通過使用該P(yáng)M通信拓?fù)渖梢唤M事件集,并且通過對(duì)該組事件集區(qū)分優(yōu)先次序而生成優(yōu)先次序化的事件列表。
12.如權(quán)利要求11所述的系統(tǒng),其中在物理數(shù)據(jù)中心管理系統(tǒng)模塊中集成所述系統(tǒng),以連續(xù)地監(jiān)視該物理數(shù)據(jù)中心中的所述多個(gè)PM和一個(gè)或多個(gè)物理設(shè)備。
13.如權(quán)利要求11所述的系統(tǒng),其中該系統(tǒng)進(jìn)一步包括至少一個(gè)儲(chǔ)存庫以保存:所述多個(gè)PM的每對(duì)之間的路由路徑的第一信息,和所述多個(gè)PM的每個(gè)和一個(gè)或多個(gè)物理設(shè)備的每個(gè)之間的至少一條路由路徑的第二信息。
14.如權(quán)利要求12所述的系統(tǒng),其中所述優(yōu)先次序化的事件列表中的每個(gè)事件與該物理數(shù)據(jù)中心中的一個(gè)或多個(gè)物理設(shè)備的一個(gè)物理設(shè)備關(guān)聯(lián),并且具有與該物理設(shè)備的硬件問題對(duì)應(yīng)的關(guān)聯(lián)消息。
15.如權(quán)利要求11所述的系統(tǒng),其中提取模塊從至少一個(gè)儲(chǔ)存庫得到對(duì)于所述一個(gè)或多個(gè)VM所使用的一個(gè)或多個(gè)虛擬卷的信息,用于從所述帶有異常的應(yīng)用級(jí)拓?fù)涮崛M級(jí)依賴。
16.如權(quán)利要求11所述的系統(tǒng),其中提取模塊從至少一個(gè)儲(chǔ)存庫得到所述多個(gè)PM和一個(gè)或多個(gè)物理存儲(chǔ)器的信息,用于從所述VM級(jí)依賴提取PM級(jí)依賴。
17.如權(quán)利要求11所述的系統(tǒng),其中事件生成和優(yōu)先次序化模塊得到所述多個(gè)PM的每對(duì)PM之間的路由路徑,用于生成與該路由路徑上的多個(gè)物理設(shè)備對(duì)應(yīng)的多個(gè)事件。
18.如權(quán)利要 求11所述的系統(tǒng),其中提取模塊將該VM級(jí)依賴轉(zhuǎn)換到PM通信拓?fù)洹?br>
【文檔編號(hào)】G06F11/00GK103853627SQ201210551601
【公開日】2014年6月11日 申請(qǐng)日期:2012年12月18日 優(yōu)先權(quán)日:2012年12月6日
【發(fā)明者】王恩慈, 闕志克, 柯積忠, 葉書峻 申請(qǐng)人:財(cái)團(tuán)法人工業(yè)技術(shù)研究院