欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于診斷網(wǎng)絡(luò)性能問題的方法和裝置的制作方法

文檔序號:7958453閱讀:155來源:國知局
專利名稱:用于診斷網(wǎng)絡(luò)性能問題的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及計算機(jī)系統(tǒng)和網(wǎng)絡(luò),具體地說,涉及診斷計算機(jī)網(wǎng)絡(luò)中的性能問題。
背景技術(shù)
存儲區(qū)域網(wǎng)絡(luò)(SAN)是一種將多個存儲服務(wù)器(主機(jī))連接到多個存儲設(shè)備的專用高速網(wǎng)絡(luò)。存儲區(qū)域網(wǎng)絡(luò)模型創(chuàng)建可以被多個客戶共享的存儲池,整合整個企業(yè)的不同種類的存儲資源。存儲區(qū)域網(wǎng)絡(luò)內(nèi)的通信通常被優(yōu)化以便承載存儲服務(wù)器與存儲設(shè)備之間以及可能在存儲設(shè)備自身之間(沒有服務(wù)器干預(yù))的輸入/輸出(I/O)業(yè)務(wù)。通常由單獨(dú)的消息網(wǎng)絡(luò)(如局域網(wǎng)或廣域網(wǎng))來處理應(yīng)用業(yè)務(wù)。
大型存儲區(qū)域網(wǎng)絡(luò)可以包括數(shù)千個不同的相關(guān)邏輯和物理實體。當(dāng)應(yīng)用用戶或自動監(jiān)視工具檢測并報告應(yīng)用性能問題時,此性能問題的根本原因可以位于系統(tǒng)中的任何位置,包括存儲區(qū)域網(wǎng)絡(luò)、局域網(wǎng)、存儲服務(wù)器、數(shù)據(jù)庫、應(yīng)用服務(wù)器、客戶機(jī)等。一些當(dāng)前可用的管理工具監(jiān)視存儲區(qū)域網(wǎng)絡(luò)中的各個組件的性能并向系統(tǒng)管理器報告與正常行為的偏差,該偏差通常按照與組件的性能度量的操作值有關(guān)的性能閾值來定義。例如,IBMTotalStorage Productivity Center for Fabric(以前被稱作IBM Tivoli SANManager)提供諸如自動資源和拓?fù)浒l(fā)現(xiàn)、監(jiān)視和報警、區(qū)域控制和鏈路級錯誤預(yù)測能力之類的功能。但是,希望系統(tǒng)管理員根據(jù)他或她對系統(tǒng)的了解來確定所報告的偏差(可能分散在整個系統(tǒng)中)與在應(yīng)用層檢測到的性能問題之間的關(guān)系。盡管此方法對于小型存儲區(qū)域網(wǎng)絡(luò)可能是可行的,但是隨著存儲區(qū)域網(wǎng)絡(luò)大小的增大,該方法變得難以實施。
在專利和技術(shù)文獻(xiàn)中已描述了開發(fā)自動工具以便找到網(wǎng)絡(luò)性能問題的根本原因的初步嘗試。例如,美國專利申請公告US 2002/0083371 A1(其公開在此引入作為參考)描述了一種用于使用標(biāo)識了網(wǎng)絡(luò)組件間的互連和互相依賴的拓?fù)湫畔肀O(jiān)視網(wǎng)絡(luò)性能的方法。根據(jù)所述拓?fù)湫畔⒑透鞣N形式的映射信息,用戶能夠通過基于Web的用戶界面進(jìn)行導(dǎo)航以確定網(wǎng)絡(luò)問題的根本原因。
美國專利申請公告US 2004/0103181 A1(其公開在此引入作為參考)描述了一種基于系統(tǒng)模型的性能管理器和方法,所述系統(tǒng)模型包括代表系統(tǒng)組件的運(yùn)行特性的測量實體和所述測量實體間的關(guān)系。所述性能管理器使用交互模型來確定系統(tǒng)模型中影響系統(tǒng)性能的最相關(guān)實體。操作員檢查所述相關(guān)實體并將控制應(yīng)用到選定實體以管理總體系統(tǒng)性能并解決影響系統(tǒng)中的組件的問題。
Kochut等人在“Management Issues in Storage Area NetworksDetection and Isolation of Performance Problems”(存儲區(qū)域網(wǎng)絡(luò)中的管理問題性能問題的檢測與隔離,IFIP/IEEE第九屆國際網(wǎng)絡(luò)運(yùn)行和管理討論會,NOMS’04,韓國首爾,2004年3月,593-604頁,其在此引入作為參考)中提出了一種三階段性能管理算法。作者將存儲區(qū)域網(wǎng)絡(luò)拓?fù)涞撵o態(tài)依賴映射擴(kuò)展到主機(jī)服務(wù)器中。所述算法的第一步是理解從主機(jī)的邏輯卷觀察到的存儲區(qū)域網(wǎng)絡(luò)的基線性能。然后,持續(xù)監(jiān)視所述系統(tǒng),并且為所述邏輯卷處的性能降低分析監(jiān)視數(shù)據(jù)。最終步驟將可疑卷的標(biāo)識與依賴映射合并以分離其中可能出現(xiàn)爭用的存儲區(qū)域網(wǎng)絡(luò)的子集。

發(fā)明內(nèi)容
本發(fā)明的實施例提供了用于診斷網(wǎng)絡(luò)性能問題,具體地說,I/O相關(guān)的網(wǎng)絡(luò)問題的根本原因的有效方法和系統(tǒng)。這些方法和系統(tǒng)特別適合于專用于提供特定資源(例如在存儲區(qū)域網(wǎng)絡(luò)中提供存儲資源)的網(wǎng)絡(luò),其中通信通道被專用于I/O業(yè)務(wù)。當(dāng)此類網(wǎng)絡(luò)中的資源的客戶(如在服務(wù)器上運(yùn)行的應(yīng)用)報告性能問題時,很可能在沿將客戶連接到向此客戶提供資源的提供方(如位于后端盤控制器上的存儲邏輯單元)的I/O路徑上的某些節(jié)點(diǎn)處找到問題的根本原因。因此,本發(fā)明的實施例首先在為可懷疑的客戶服務(wù)的網(wǎng)絡(luò)內(nèi)定位I/O路徑,然后沿這些路徑搜索問題節(jié)點(diǎn)。發(fā)明者發(fā)現(xiàn)這種“知情的搜索”方法與本領(lǐng)域中已知的搜索方法相比,顯著減少了找到網(wǎng)絡(luò)問題的根本原因的計算負(fù)擔(dān)。
在下文描述的本發(fā)明的實施例中,對問題節(jié)點(diǎn)的搜索利用了與可懷疑的網(wǎng)絡(luò)的物理和邏輯配置有關(guān)的可用信息。根據(jù)此信息,性能分析器構(gòu)建代表網(wǎng)絡(luò)的拓?fù)涞膱D。接收到給定客戶遇到的性能問題的報告后,所述性能分析器通過從此客戶發(fā)源的圖來跟蹤I/O路徑。這些I/O路徑通過中間節(jié)點(diǎn)(稱作“調(diào)停者”)將資源的一個或多個提供方連接到所述給定客戶。通常,所述性能分析器使用所述網(wǎng)絡(luò)的邏輯拓?fù)?,以便只集中于沿其所述客戶能夠?qū)嶋H地訪問所述提供方的那些物理路徑,并且因此除去圖中邏輯上不允許的路徑。
所述性能分析器在沿其已跟蹤的I/O路徑上的節(jié)點(diǎn)處檢查性能度量以便標(biāo)識可能對性能問題負(fù)責(zé)的問題節(jié)點(diǎn)。例如,如果一個或多個與其相關(guān)性能度量有關(guān)的運(yùn)行值超出了預(yù)設(shè)閾值,則節(jié)點(diǎn)被定義為有問題。(可以使用各種技術(shù)來設(shè)置閾值,但是這些技術(shù)都在本發(fā)明的范圍之外。)所述性能分析器標(biāo)識具有很高的概率是觀察到的性能問題的根本原因的一個或多個節(jié)點(diǎn)的集合(候選者集)。有關(guān)來自此集合的特定節(jié)點(diǎn)是否真正是根本原因節(jié)點(diǎn)的最終決策通常遺留給管理員。
在初始階段不考慮沒有沿發(fā)源自可懷疑的客戶的那些I/O路徑分布的節(jié)點(diǎn)。因此,必須由所述性能分析器檢查的搜索集的大小通常遠(yuǎn)小于本領(lǐng)域中公知的性能分析方法的搜索域??蛇x地,如果不認(rèn)為已在沿從提供方到客戶的I/O路徑的候選者集中找到了性能問題的根本原因,則所述性能分析器跟蹤在候選者集節(jié)點(diǎn)處與這些原始I/O路徑交叉的其他I/O路徑,并沿所述交叉路徑搜索其他問題節(jié)點(diǎn)。如果在此階段沒有標(biāo)識根本原因,則所述性能分析器可以對與所述客戶-提供方I/O路徑交叉的所有剩余交叉路徑執(zhí)行窮舉搜索。
因此,根據(jù)本發(fā)明的一個實施例,提供了一種用于診斷網(wǎng)絡(luò)性能問題的方法,所述方法包括提供代表網(wǎng)絡(luò)拓?fù)涞膱D,所述網(wǎng)絡(luò)包括被分類為資源提供方的第一節(jié)點(diǎn)、被分類為所述資源的客戶的第二節(jié)點(diǎn)以及被分類為在所述提供方與所述客戶間進(jìn)行干預(yù)的調(diào)停者的第三節(jié)點(diǎn);接收所述網(wǎng)絡(luò)中的給定客戶所遇到的性能問題的報告;響應(yīng)于所述報告,跟蹤至少一條穿過所述圖將所述給定客戶連接到一個或多個所述提供方的輸入/輸出(I/O)路徑;以及將沿所述至少一條I/O路徑的一個或多個問題節(jié)點(diǎn)標(biāo)識為所述性能問題的可能原因。
在本發(fā)明的一個方面中,提供所述圖包括標(biāo)識所述節(jié)點(diǎn)間的物理和邏輯鏈路,并且跟蹤所述至少一條I/O路徑包括根據(jù)所述邏輯鏈路來建立所述至少一條I/O路徑。通常,標(biāo)識所述邏輯鏈路包括提供所述節(jié)點(diǎn)間的邏輯映射,并且建立所述至少一條I/O路徑包括從所述路徑除去與所述邏輯映射不對應(yīng)的物理鏈路。
在一個實施例中,提供所述圖包括將多個所述節(jié)點(diǎn)一起分組成具有內(nèi)部節(jié)點(diǎn)結(jié)構(gòu)的超級節(jié)點(diǎn),并且跟蹤所述至少一條I/O路徑包括穿過所述超級節(jié)點(diǎn)跟蹤所述至少一條I/O路徑而不引用所述內(nèi)部節(jié)點(diǎn)結(jié)構(gòu)。
在所公開的實施例中,所述網(wǎng)絡(luò)包括存儲區(qū)域網(wǎng)絡(luò)(SAN),并且所述資源包括存儲容量和帶寬中的至少一個。通常,所述第一節(jié)點(diǎn)包括具有與之關(guān)聯(lián)的邏輯卷的存儲服務(wù)器,并且接收所述報告包括接收對所述邏輯卷之一中的容量問題和吞吐量問題中的至少一個問題的指示。附加地或可替代地,所述第一節(jié)點(diǎn)具有與之關(guān)聯(lián)的邏輯卷,并且所述第二節(jié)點(diǎn)包括具有與之關(guān)聯(lián)的邏輯單元的存儲設(shè)備,并且跟蹤所述至少一條I/O路徑包括將所述至少一條I/O路徑從所述邏輯卷中的一個邏輯卷延伸到一個或多個所述邏輯單元。
在某些實施例中,跟蹤所述至少一條I/O路徑包括在所述網(wǎng)絡(luò)的所述拓?fù)鋬?nèi)建立從所述給定客戶到由所述拓?fù)溥B接以便將所述資源提供給所述給定客戶的所述提供方的有向非循環(huán)圖(DAG)。
通常,標(biāo)識所述一個或多個問題節(jié)點(diǎn)包括監(jiān)視所述網(wǎng)絡(luò)中的所述節(jié)點(diǎn)的性能度量,并且當(dāng)給定節(jié)點(diǎn)的一個或多個所述性能度量在預(yù)定界限之外時,將所述給定節(jié)點(diǎn)標(biāo)識為有問題。
在一個公開的實施例中,所述方法包括跟蹤穿過所述圖將另一個客戶連接到所述提供方并且在所述問題節(jié)點(diǎn)中的一個節(jié)點(diǎn)處與所述至少一條I/O路徑交叉的其他I/O路徑,并且將沿所述其他I/O路徑的一個或多個其他問題節(jié)點(diǎn)標(biāo)識為所述性能問題的可能原因。通常,跟蹤所述其他I/O路徑包括在確定沿所述至少一條I/O路徑標(biāo)識的所述一個或多個問題節(jié)點(diǎn)不是所述性能問題的原因時,啟動跟蹤所述其他I/O路徑。
根據(jù)本發(fā)明的一個實施例,還提供了一種用于診斷網(wǎng)絡(luò)性能問題的裝置,所述裝置包括存儲器,所述存儲器被安排為存儲代表網(wǎng)絡(luò)拓?fù)涞膱D,所述網(wǎng)絡(luò)包括被分類為資源提供方的第一節(jié)點(diǎn)、被分類為所述資源的客戶的第二節(jié)點(diǎn)以及被分類為在所述提供方與所述客戶間進(jìn)行干預(yù)的調(diào)停者的第三節(jié)點(diǎn);以及處理器,所述處理器被安排為接收所述網(wǎng)絡(luò)中的給定客戶所遇到的性能問題的報告,并且響應(yīng)于所述報告,跟蹤至少一條穿過所述圖將所述給定客戶連接到一個或多個所述提供方的輸入/輸出(I/O)路徑,以及將沿所述至少一條I/O路徑的一個或多個問題節(jié)點(diǎn)標(biāo)識為所述性能問題的可能原因。
根據(jù)本發(fā)明的一個實施例,另外提供了一種用于診斷網(wǎng)絡(luò)性能問題的計算機(jī)軟件產(chǎn)品,所述產(chǎn)品包括其中存儲有程序指令的計算機(jī)可讀介質(zhì),當(dāng)被計算機(jī)讀取時,所述指令導(dǎo)致所述計算機(jī)提供代表網(wǎng)絡(luò)拓?fù)涞膱D,所述網(wǎng)絡(luò)包括被分類為資源提供方的第一節(jié)點(diǎn)、被分類為所述資源的客戶的第二節(jié)點(diǎn)以及被分類為在所述提供方與所述客戶間進(jìn)行干預(yù)的調(diào)停者的第三節(jié)點(diǎn),并且還導(dǎo)致所述計算機(jī)在接收到所述網(wǎng)絡(luò)中的給定客戶所遇到的性能問題的報告時,響應(yīng)于所述報告,跟蹤至少一條穿過所述圖將所述給定客戶連接到一個或多個所述提供方的輸入/輸出(I/O)路徑,并且將沿所述至少一條I/O路徑的一個或多個問題節(jié)點(diǎn)標(biāo)識為所述性能問題的可能原因。


從以下結(jié)合附圖的對本發(fā)明的實施例的詳細(xì)描述,將更全面地理解本發(fā)明,這些附圖是圖1是根據(jù)本發(fā)明的一個實施例的示意性地示出了由性能分析器監(jiān)視的存儲區(qū)域網(wǎng)絡(luò)的方塊圖;圖2是根據(jù)本發(fā)明的一個實施例的示意性地示出了連接到存儲區(qū)域網(wǎng)絡(luò)的性能分析器的功能細(xì)節(jié)的方塊圖;圖3是根據(jù)本發(fā)明的一個實施例的代表存儲區(qū)域網(wǎng)絡(luò)中的I/O路徑的圖;以及圖4是根據(jù)本發(fā)明的一個實施例的示意性地示出了用于診斷存儲區(qū)域網(wǎng)絡(luò)中的性能問題的方法的流程圖。
具體實施例方式
圖1是根據(jù)本發(fā)明的一個實施例的示意性地示出了具有性能分析器40的存儲區(qū)域網(wǎng)絡(luò)(SAN)20的方塊圖。存儲區(qū)域網(wǎng)絡(luò)被優(yōu)化以便僅承載存儲服務(wù)器26與存儲設(shè)備34之間以及可能在存儲設(shè)備自身之間的I/O業(yè)務(wù)。去往和來自客戶機(jī)22的應(yīng)用業(yè)務(wù)由諸如局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)之類的單獨(dú)的消息網(wǎng)絡(luò)24來承載。
通常,存儲服務(wù)器26通過一個或多個通常被安排為交換結(jié)構(gòu)30的交換機(jī)28與存儲區(qū)域網(wǎng)絡(luò)20中的存儲設(shè)備34通信。通過盤控制器32(如IBM SharkTM控制器)執(zhí)行對存儲設(shè)備34的訪問。存儲設(shè)備自身基本上可以包括任何類型(或多種類型)的存儲介質(zhì),如磁盤或磁帶或光介質(zhì)。在本實例中為了簡單起見,假設(shè)存儲設(shè)備包括RAID(獨(dú)立磁盤冗余陣列)配置中的盤38,同時RAID控制器36與每個磁盤陣列相連。盡管光纖通道技術(shù)在當(dāng)前可用的高性能存儲區(qū)域網(wǎng)絡(luò)中是最常用的,但是可以通過本領(lǐng)域中公知的任何適合類型的通信介質(zhì)和協(xié)議來進(jìn)行存儲區(qū)域網(wǎng)絡(luò)20的部件之間的連接。
盡管為了簡單起見,存儲區(qū)域網(wǎng)絡(luò)20在圖1中被示為僅包括數(shù)量很少的節(jié)點(diǎn),但是大型存儲區(qū)域網(wǎng)絡(luò)可以包括數(shù)千個不同的相關(guān)邏輯和物理實體。此外,盡管圖1中示出的物理實體的類型和這些實體的總體配置是目前使用的許多存儲區(qū)域網(wǎng)絡(luò)的特征,但是存儲區(qū)域網(wǎng)絡(luò)20的這些特征僅以示例的方式示出。本發(fā)明的原理可應(yīng)用(并且實際上,最有利的)在更大規(guī)模的存儲區(qū)域網(wǎng)絡(luò)中,以及應(yīng)用在其他類型的I/O網(wǎng)絡(luò)中,并且并不限于對網(wǎng)絡(luò)組件或配置具有任何特定選擇的應(yīng)用。
當(dāng)應(yīng)用用戶(如某一客戶機(jī)22)或自動監(jiān)視檢測并報告應(yīng)用性能問題時,所述問題被報告給性能分析器40。性能分析器使用如下文詳細(xì)描述的網(wǎng)絡(luò)配置信息和性能度量來標(biāo)識可能是可懷疑的特定性能問題的根本原因的存儲區(qū)域網(wǎng)絡(luò)中的實體。這些實體在下文中被稱為“問題實體”或“問題節(jié)點(diǎn)”。
通常,性能分析器40包括通用計算機(jī),其軟件被編程為執(zhí)行在下文描述的功能。用于此目的的軟件可以以電子形式例如通過網(wǎng)絡(luò)被下載到所述計算機(jī),或者可以可替代地在有形介質(zhì)(如磁、光或電子存儲介質(zhì))上提供此軟件。所述計算機(jī)具有用于與存儲區(qū)域網(wǎng)絡(luò)20通信的適合接口以接收執(zhí)行性能分析器40的功能所需的網(wǎng)絡(luò)配置和性能信息。盡管性能分析器在圖1中被示為獨(dú)立的單元(其被直接連接到結(jié)構(gòu)30),但是性能分析器可以可替代地在不同點(diǎn)處被連接到存儲區(qū)域網(wǎng)絡(luò)20,并且其功能也可以被集成到另一個現(xiàn)有的計算機(jī)中,如某一服務(wù)器26或管理站(未示出)。
圖2是根據(jù)本發(fā)明的一個實施例的示意性地示出了性能分析器40的細(xì)節(jié)以及性能分析器與存儲區(qū)域網(wǎng)絡(luò)20的部件的交互的細(xì)節(jié)的方塊圖。為了收集與存儲區(qū)域網(wǎng)絡(luò)20的性能有關(guān)的數(shù)據(jù),分析器40使用與存儲區(qū)域網(wǎng)絡(luò)中的實體關(guān)聯(lián)的監(jiān)視代理42。代理42通常被實現(xiàn)為在服務(wù)器26、交換機(jī)28、盤控制器32等上運(yùn)行的軟件組件。代理定期地測量與之關(guān)聯(lián)的實體的性能并將結(jié)果報告給存儲在適合的存儲器中的運(yùn)行性能數(shù)據(jù)庫44。盡管性能度量的收集通常由軟件代理來執(zhí)行,但是也可以使用其他收集方法并被看作在本發(fā)明的范圍之內(nèi)。
代理42通常報告就性能度量而言的它們相應(yīng)的網(wǎng)絡(luò)實體的性能,其反映了相應(yīng)實體的運(yùn)行變量。存儲區(qū)域網(wǎng)絡(luò)中的典型性能度量包括隊列長度、響應(yīng)時間、吞吐量、容量以及利用率等。存儲區(qū)域網(wǎng)絡(luò)中的實體的問題行為由一個或多個性能度量的偏差值(例如,落在正常行為的預(yù)定界限(也稱為閾值)之外的值)來反映。通常由系統(tǒng)管理員或通過正常運(yùn)行條件下的網(wǎng)絡(luò)性能的自動統(tǒng)計分析來試探性地設(shè)置這些界限。在本發(fā)明的實施例中,任何適合的性能界限都可用于此目的。所述界限可以是固定的,或者它們可以可替代地在存儲區(qū)域網(wǎng)絡(luò)20的運(yùn)行期間被動態(tài)地更新。
數(shù)據(jù)庫44還用作與存儲區(qū)域網(wǎng)絡(luò)20的部件間的物理和邏輯連接有關(guān)的配置信息的儲存庫。此信息可以被手動地輸入,或者其可以由諸如上述的IBM TotalStorage Productivity Center for Fabric之類的自動管理工具來確定。(有關(guān)此產(chǎn)品的更多信息,請登錄www-306.ibm.com/software/tivoli/products/totalstorage-fabric/。)IPASS服務(wù)器46分析數(shù)據(jù)庫44中的數(shù)據(jù)以標(biāo)識可能是存儲區(qū)域網(wǎng)絡(luò)中報告的性能問題的根本原因的存儲區(qū)域網(wǎng)絡(luò)20中的問題實體。如下文詳細(xì)描述的,服務(wù)器46使用I/O路徑仿射存儲區(qū)域網(wǎng)絡(luò)搜索(IPASS)來定位這些問題實體??梢宰詣拥貑铀鏊阉鳎蛴上到y(tǒng)管理員通過用戶終端48上的用戶界面來啟動所述搜索。
圖2示出了服務(wù)器46的一個可能的功能實現(xiàn),其將IPASS根本原因搜索功能與自動的存儲區(qū)域網(wǎng)絡(luò)管理活動相結(jié)合。此模型中的方塊通常對應(yīng)于由所述服務(wù)器執(zhí)行的軟件功能。系統(tǒng)管理員輸入問題源指示50。所述問題源通常在存儲客戶級別,如由一個或多個客戶機(jī)22做出的存儲服務(wù)器26的給定邏輯卷上的I/O請求的響應(yīng)時間太長,或通過所述邏輯卷的吞吐量太低的報告??商娲?,當(dāng)服務(wù)器46在代理42報告的性能度量中檢測到性能故障模式時,可以自動地生成問題源指示。響應(yīng)于所述問題源指示,服務(wù)器46調(diào)用IPASS激活52和數(shù)據(jù)收集激活54。數(shù)據(jù)收集可以在系統(tǒng)20的所有節(jié)點(diǎn)上被激活,或僅在所述節(jié)點(diǎn)的選定子集上被激活??商娲?,數(shù)據(jù)收集可以一直運(yùn)行或定期地運(yùn)行,而與任何問題源指示無關(guān)。類似地,甚至可以在沒有問題源指示的情況下調(diào)用IPASS激活52以允許搶先檢查客戶節(jié)點(diǎn)和I/O路徑以便標(biāo)識潛在的問題。
響應(yīng)于激活54,數(shù)據(jù)加載器56加載來自數(shù)據(jù)庫44的拓?fù)浜托阅軘?shù)據(jù)。存儲區(qū)域網(wǎng)絡(luò)模型生成器58使用所述拓?fù)鋽?shù)據(jù)來建立代表存儲區(qū)域網(wǎng)絡(luò)20的拓?fù)涞膱D。此圖可以被定期地更新并被存儲在數(shù)據(jù)庫44中以備隨后使用。此圖的其他方面將參考圖3在下文中進(jìn)行描述。I/O路徑建立器60通過所述拓?fù)涓檹拇鎯蛻舻綖榇丝蛻舴?wù)的存儲提供方的I/O路徑。IPASS搜索器62標(biāo)識沿這些路徑的問題實體。根本原因通知64將搜索結(jié)果報告給在終端48處的系統(tǒng)管理員。系統(tǒng)管理員然后可以使用所述結(jié)果來修復(fù)問題,或者可替代地或附加地,可以指示服務(wù)器46將搜索擴(kuò)展到其他路徑。所述路徑建立器和IPASS搜索器的功能將參考圖4在下面進(jìn)行詳細(xì)描述。
圖3是根據(jù)本發(fā)明的一個實施例的示意性地表示存儲區(qū)域網(wǎng)絡(luò)的拓?fù)浜屯ㄟ^所述拓?fù)涞腎/O路徑的圖。存儲區(qū)域網(wǎng)絡(luò)模型創(chuàng)建可以被多個客戶共享的存儲池。此池包括使用盤控制器32的邏輯單元(LU)80,其中每個LU都對應(yīng)于一個或多個物理設(shè)備(PD)82(如盤38)上的物理塊。因此,在本實施例中,PD 82被稱作存儲區(qū)域網(wǎng)絡(luò)20中的存儲資源的“提供方”。
由存儲區(qū)域網(wǎng)絡(luò)20提供的存儲池作為存儲服務(wù)器26上的一組邏輯卷(LV)70被呈現(xiàn)給客戶機(jī)22,存儲服務(wù)器26也被稱作“主機(jī)”(存儲服務(wù)器是存儲區(qū)域網(wǎng)絡(luò)主機(jī))。為了本實施例的目的,LV 70是存儲區(qū)域網(wǎng)絡(luò)中的存儲資源的“客戶”。由于客戶機(jī)22位于存儲區(qū)域網(wǎng)絡(luò)之外,并且它們與存儲區(qū)域網(wǎng)絡(luò)的聯(lián)系位于應(yīng)用層,所以在當(dāng)前模型的上下文中,這些客戶機(jī)并不被看作客戶。可替代地,所述模型可以被擴(kuò)展到這些客戶機(jī)。提供方與客戶之間的節(jié)點(diǎn)被稱為“調(diào)停者”。
潛在地,通過設(shè)置客戶主機(jī)的LV與提供方的適合的LU之間的映射86,可以將存儲資源的任何客戶配置成訪問任何LU。所述映射可以包括多級間接引用并且通常使用系統(tǒng)和組件配置管理工具來管理。性能分析所需的映射通常以映射表的形式被存儲在數(shù)據(jù)庫44或操作系統(tǒng)文件中。這些映射被IPASS服務(wù)器46用來構(gòu)建代表存儲區(qū)域網(wǎng)絡(luò)配置的圖和所述圖中的I/O路徑。
模型生成器58(圖2)將存儲區(qū)域網(wǎng)絡(luò)20建模為圖SG=(V;E),其中V是節(jié)點(diǎn)集合,而E是邊集合84。所述圖中的每個常規(guī)(原子)節(jié)點(diǎn)都指物理(硬件)或邏輯(軟件)原子實體。所述圖中的物理實體包括例如主機(jī)總線適配器(HBA)74、交換機(jī)端口76、盤控制器32的總線適配器(BA)78以及物理設(shè)備82。所述圖中的邏輯實體包括諸如邏輯卷70、邏輯單元80以及虛擬盤72之類的實體。
為了以更粗略的粒度查看并操作所述圖,常規(guī)(原子)節(jié)點(diǎn)可以被一起分組成超級節(jié)點(diǎn)。每個超級節(jié)點(diǎn)包括其他節(jié)點(diǎn)和邊的集合。每個交換機(jī)28,例如,都可以被看作包括其端口76的集合的超級節(jié)點(diǎn)。所述超級節(jié)點(diǎn)用于將共享相同屬性的常規(guī)節(jié)點(diǎn)(以及連接這些節(jié)點(diǎn)的邊)組織成單個邏輯實體。超級節(jié)點(diǎn)的這種使用允許更粗略粒度的呈現(xiàn)并允許為實體間的關(guān)系顯式建模,而不必考慮超級節(jié)點(diǎn)的內(nèi)部結(jié)構(gòu)。它還有助于加速對所述存儲區(qū)域網(wǎng)絡(luò)圖的導(dǎo)航。
圖SG中的每個邊都代表連接一對節(jié)點(diǎn)或超級節(jié)點(diǎn)的鏈路。所述鏈路可以代表節(jié)點(diǎn)間的物理連接(如通信鏈路)或邏輯關(guān)系(如地址映射)。記錄在數(shù)據(jù)庫44內(nèi)的映射表中的地址映射,例如,由所述存儲區(qū)域網(wǎng)絡(luò)圖中的節(jié)點(diǎn)間的邏輯鏈路來表示。與物理鏈路相比,邏輯鏈路可以連接在存儲區(qū)域網(wǎng)絡(luò)的物理拓?fù)渲胁⑽粗苯酉噙B的節(jié)點(diǎn)。邏輯鏈路在所述圖中由有向邊來表示。例如,圖3中主機(jī)1的LV1與標(biāo)記為盤1的盤控制器的LU1之間的邏輯鏈路代表存儲客戶與提供方之間的地址映射86。
除了對物理拓?fù)涞幕鞠拗埔酝?,存儲區(qū)域網(wǎng)絡(luò)邏輯拓?fù)渫ǔ_€對圖SG施加限制,如對節(jié)點(diǎn)訪問的限制。例如,RAID陣列可以被物理地連接到便于直接連接到多個文件服務(wù)器的交換機(jī)。但是,所述RAID陣列本身通常可以被這些服務(wù)器通過主機(jī)上的邏輯卷管理器(LVM)來間接地訪問。因此,存儲區(qū)域網(wǎng)絡(luò)模型生成器58修剪存儲區(qū)域網(wǎng)絡(luò)圖以除去與被所述邏輯拓?fù)渌沟奈锢磉B接對應(yīng)的邊。此修剪簡化了路徑建立器60對I/O路徑的跟蹤。
作為另一個實例,通常在存儲區(qū)域網(wǎng)絡(luò)中使用區(qū)域以便為不同的應(yīng)用提供保護(hù)和安全。區(qū)域?qū)⒋鎯^(qū)域網(wǎng)絡(luò)分區(qū)成允許將能夠通信和共享信息的設(shè)備分組的邏輯子網(wǎng)。通常只在屬于同一區(qū)域的存儲區(qū)域網(wǎng)絡(luò)實體間允許存儲資源的客戶與提供方之間的地址映射。模型生成器58在構(gòu)建存儲區(qū)域網(wǎng)絡(luò)圖中使用區(qū)域信息,以便路徑建立器60只在可懷疑的客戶屬于其的區(qū)域內(nèi)跟蹤路徑。
圖SG中的每個節(jié)點(diǎn)都具有向量R,其具有代表該節(jié)點(diǎn)的資源的屬性。例如,盤控制器的資源通常包括其存儲容量及其帶寬等。就R中的每個資源而言,存儲區(qū)域網(wǎng)絡(luò)中的相應(yīng)實體可以充當(dāng)該資源的客戶、提供方或調(diào)停者。每個資源都具有一個或多個關(guān)聯(lián)的性能度量,所述度量具有可以由代理42根據(jù)該度量屬于其的物理或邏輯實體的運(yùn)行來直接測量的值。如前面指出的,示例性的性能度量包括隊列長度、吞吐量、容量以及利用率。問題節(jié)點(diǎn)以一個或多個落在正常運(yùn)行的預(yù)定界限之外的度量為特征。
圖4是根據(jù)本發(fā)明的一個實施例的示意性地示出了由IPASS服務(wù)器46執(zhí)行以診斷存儲區(qū)域網(wǎng)絡(luò)20中的性能問題的方法的流程圖。通常當(dāng)客戶C(例如,圖3的圖中的主機(jī)1的LV1)在問題報告步驟90報告性能問題時,所述方法被啟動。響應(yīng)于此報告-自動接收或在通過終端48輸入命令之后-IPASS服務(wù)器46執(zhí)行通過存儲區(qū)域網(wǎng)絡(luò)的I/O路徑仿射搜索以標(biāo)識在節(jié)點(diǎn)C終止的I/O路徑上的問題節(jié)點(diǎn)。
在此搜索過程中,路徑建立器60在路徑構(gòu)建步驟92構(gòu)建候選I/O路徑中的每個路徑。所采用的路徑合起來在整體存儲區(qū)域網(wǎng)絡(luò)圖中具有有向非循環(huán)圖(DAG)的形式,從C處的根發(fā)散到為C服務(wù)的所有提供方節(jié)點(diǎn)P。例如,圖3中標(biāo)記的邊84示出了從主機(jī)1的LV1發(fā)散到盤1和盤2的提供方PD1的DAG。所述圖中的其他邊(例如從交換機(jī)2的端口1到主機(jī)2的HBA1的鏈路87)被從DAG中除去,因為服務(wù)器46認(rèn)識到這些邊并未通過存儲區(qū)域網(wǎng)絡(luò)20中的映射被邏輯地連接到C。路徑建立器60通常通過使用被分配給存儲區(qū)域網(wǎng)絡(luò)中的所有實體的唯一設(shè)備ID來將存儲區(qū)域網(wǎng)絡(luò)配置數(shù)據(jù)中的物理鏈路與所述映射表中的邏輯連接相匹配,并同時在所述配置數(shù)據(jù)和映射表中標(biāo)識所述設(shè)備。搜索器62評估沿DAG中的路徑的節(jié)點(diǎn)的性能度量以便在節(jié)點(diǎn)查找步驟94標(biāo)識問題節(jié)點(diǎn)(PN)的集合。
盡管在圖4中順序地列出了步驟92和94,但是實際上這些步驟可以并行地執(zhí)行。換言之,服務(wù)器46評估每個其添加到DAG的新節(jié)點(diǎn)以判定該節(jié)點(diǎn)是否是有問題。此過程通常一直繼續(xù)直到已經(jīng)構(gòu)建了整個DAG,并且已經(jīng)評估了沿DAG的所有節(jié)點(diǎn)的性能度量為止??商娲兀鏊阉骺梢栽谝呀?jīng)找到預(yù)設(shè)數(shù)量的問題節(jié)點(diǎn)后終止,即使還沒有完成DAG。
可選地,服務(wù)器46為在步驟94標(biāo)識的每個問題節(jié)點(diǎn)計算嚴(yán)重性級別,并且然后可以以嚴(yán)重性的順序來分類和顯示問題節(jié)點(diǎn)的列表。通常,嚴(yán)重性級別反映了節(jié)點(diǎn)處在預(yù)設(shè)界限之外的性能度量的數(shù)量以及所述度量偏離界限的量。例如,任何給定節(jié)點(diǎn)的嚴(yán)重性級別可以被計算為在該節(jié)點(diǎn)處的所有相關(guān)性能度量的偏差百分比的加權(quán)和。例如,可以基于歷史進(jìn)行加權(quán),以便較新的數(shù)據(jù)獲得大于較早的數(shù)據(jù)的權(quán)重的權(quán)重。
下表I使用面向?qū)ο蟮母袷揭詡未a的形式列出了步驟92和94的方法。表1中的程序隱含地假設(shè)所有在搜索中可以被到達(dá)的節(jié)點(diǎn)都與存儲區(qū)域網(wǎng)絡(luò)中的C屬于同一區(qū)域。所述方案使用具有四種顏色的知情的深度優(yōu)先搜索(DFS)白色、藍(lán)色、灰色和黑色。所述表中示出的方法構(gòu)建實際上是所述存儲區(qū)域網(wǎng)絡(luò)圖的子圖的I/O路徑。這些路徑形成了存儲資源的客戶與提供方之間的點(diǎn)到多點(diǎn)路徑的集合。在所述偽代碼中,所述點(diǎn)到多點(diǎn)路徑被稱為具有成員功能和成員變量的對象。
初始地,存儲區(qū)域網(wǎng)絡(luò)圖中的所有節(jié)點(diǎn)都被標(biāo)記為“白色”。當(dāng)搜索訪問給定節(jié)點(diǎn)時,它將所述節(jié)點(diǎn)標(biāo)記為“灰色”。當(dāng)目前正在被探索的搜索的分支遇到另一個灰色節(jié)點(diǎn)或藍(lán)色節(jié)點(diǎn)時,它是分支已進(jìn)行了一個循環(huán)的標(biāo)志。所述循環(huán)可以屬于將由所述搜索產(chǎn)生的路徑,但是最初沒有方法來明確地確定是否是這種情況。因此,遇到灰色或藍(lán)色節(jié)點(diǎn)后,DFS由原路返回。如果灰色節(jié)點(diǎn)的所有相鄰節(jié)點(diǎn)都已被探索,則所述節(jié)點(diǎn)的顏色在原路返回期間更改為藍(lán)色。因此,藍(lán)色節(jié)點(diǎn)表明以此節(jié)點(diǎn)為根的分支都已被完全探索,但是其最終狀態(tài)仍然不確定。當(dāng)DFS根據(jù)所述映射確定節(jié)點(diǎn)屬于在資源提供方處終止的已探索分支時,所述節(jié)點(diǎn)被涂成黑色。當(dāng)所有映射都被遞歸地探索時,路徑構(gòu)建步驟92終止。
表I中的偽代碼包括以下函數(shù)●paintBlackUpstream(node n)遍歷并涂抹從參數(shù)引用的節(jié)點(diǎn)開始并在路徑的根處終止的點(diǎn)到多點(diǎn)對象。它將其遍歷的所有節(jié)點(diǎn)涂為黑色。
●addEntity(entity e)將實體(鏈路或節(jié)點(diǎn))添加到點(diǎn)到多點(diǎn)路徑對象中。
●removeEntity(entity e)是函數(shù)addEntity(entity e)的對立面。
●removeBranch(entity e)移除所述路徑中的所有實體,從參數(shù)引用的實體開始。
●findProblematicEntitiesOnPath(paths pt)將路徑對象作為參數(shù),并返回超過此路徑上的閾值的實體的子集。
由于這些函數(shù)的實現(xiàn)是直觀的,因此在下面的偽代碼中不給出它們的具體實現(xiàn)。
表I-I/O路徑構(gòu)建SANGraph代表所述存儲區(qū)域網(wǎng)絡(luò)(拓?fù)?映射)的類Paths代表點(diǎn)到多點(diǎn)I/O路徑的集合的類1.SANGraph SG初始地,SG中的每個節(jié)點(diǎn)的顏色都是白色2.P←_用于路徑構(gòu)建的節(jié)點(diǎn)的輔助集合3.N搜索的問題節(jié)點(diǎn)的最大數(shù)量
4.PN←_在階段1中找到的問題節(jié)點(diǎn)的集合5.Paths DAG←_在階段1中由算法構(gòu)建的I/O路徑ipass1(entryPoints,givenTargets){6.P←{entryPoints};7.do{8.cur←removeFirst(p)//獲得P的內(nèi)部順序中的第一個元素并將其從集合中移除9.if(givenTargets==_)10.targets←SG.getMappingsFrom(cur).getTargets();11.else12.targets←givenTargets13.paths←buildIOPaths(cur,targets)14.DAG←DAG∪{paths}15.if(paths.isNotEmpty())P←path.getLeaves()16.}whileP≠_17.PN←findProblematicEntitiesOnPath(DAG)18.return PN}Paths buildIOPaths(cur,targets){19.foreach target∈targets do{20.allocate new paths object pt21.pt←pt.recursivePath(cur,target,NULL)//NULL表示當(dāng)前實體在路徑對象pt中沒有先前節(jié)點(diǎn)或鏈路22.if(pt.status==AFFIRMATIVE)23.return pt24.}//結(jié)束foreach
25.return empty paths}//AFFIRMATIVE表示找到目標(biāo)//NEGATIVE表示在當(dāng)前分支中沒有找到目標(biāo)//UNCERTAIN表示還不知道當(dāng)前分支的狀態(tài)Paths recursivePath(start,dest,prev){26.this.status←NEGATIVE;27.if(start.type==NODE){28.switch(start.color){29.case WHITE30.start.color←GARY31.break;32.case BLUE33.case GRAY34.this.status←UNCERTAIN35.return pt36.case BLACK37.this.status←AFFIRMATIVE38.return this39.}40.}//end if(start.Type==NODE)41.this.addEntity(start,prev)//將prev后的start加入pt對象42.outLinks←SG.computeOutLinks(start)//獲得start的所有物理鏈路(除prev以外,如果它是鏈路的話)43.foreach link∈outLinks do{44.if(link.to==dest or link.from==dest){45.addEntity(link,start)
46.addEntity(dest,link)47.this.paintBlackUpstream(dest)//將導(dǎo)向dest的路徑上的所有實體涂成黑色48.this.status←AFFIRMATIVE49.return this50.}51.peer←link.to52.this.addEntity(link,start);53.if(peer_this){54.使用路徑修剪試探法來除去沒有希望的搜索方向。參見表II的此類試探法的實例。
55.else{56.this←this.recursivePath(peer,dest,link)57.if(this.status==NEGATIVE)58.this.removeBranch(link)59.else if(this.status==AFFIRMATIVE)60.peer.color←BLACK61.
62.}//if(peer_this)63.else if(peer.color==BLACK)64.this.status←AFFIRMATIVE65.}//foreach66.if(start.color==GRAY)if this.status==NEGATIVEor this.status==UNCERTAIN)67.start.color←BLUE68.
69.return this
}computeOutLinks(node nd){70.resultList←_71.foreach neighbor n of nd in SG do72.if a physical link l=(nd,n)exists73.resultList.add(1)74.mappings←nd.getMappings()75.
76.resultList←resultList∩mappings77.return resultList下表II給出了可在步驟92被用來修剪不必要的搜索方向的試探方法的一個實例。在公共的存儲區(qū)域網(wǎng)絡(luò)拓?fù)渲?,某些實體可能具有雙重角色。例如,主機(jī)處的邏輯設(shè)備充當(dāng)來自盤控制器的存儲客戶,并且還充當(dāng)消費(fèi)存儲的應(yīng)用與提供此存儲的盤控制器之間的調(diào)停者。因此,某些路徑可能與存儲區(qū)域網(wǎng)絡(luò)管理不相關(guān),例如連接客戶到客戶或提供方到提供方的路徑。因此,IPASS路徑建立器可以使用試探法(如表II中示出的那些試探法)來排除這些不相關(guān)的分支。
表II-路徑修剪試探法的實例變量peer、start、pt和link與表I的recursivePath(.)中的變量相同。
1.if(peer.isConsumer()and!peer.isMediator()and!peer.isProvider()or(peer.isProvider()andstart.isProvi
der()))2.pt.removeEntity(link)//此方向沒有希望現(xiàn)在返回圖4,在步驟94的結(jié)尾處,服務(wù)器46通過終端48將DAG上的問題節(jié)點(diǎn)集合輸出給系統(tǒng)管理員。系統(tǒng)管理員在檢查步驟96檢查這些結(jié)果??商娲鼗蚋郊拥?,所述結(jié)果可以由自動分析工具來分析。如果系統(tǒng)管理員(或自動工具)確定所述問題節(jié)點(diǎn)之一似乎是客戶報告的性能問題的根本原因,則可以在問題糾正步驟98啟動適合的糾正操作。通常,糾正操作包括替換或重新配置存儲區(qū)域網(wǎng)絡(luò)20中的問題實體。
可替代地,系統(tǒng)管理員(或自動工具)可以確定在步驟94報告的問題節(jié)點(diǎn)自身都不是即將發(fā)生的性能問題的根本原因。在此情況下,所述搜索可以在交叉路徑檢查步驟100被擴(kuò)展。在此步驟,服務(wù)器46檢查存儲區(qū)域網(wǎng)絡(luò)20中與在步驟92找到的DAG中的路徑交叉的其他I/O路徑。通常,服務(wù)器檢查在先前被標(biāo)識為有問題的節(jié)點(diǎn)處與原始DAG交叉的路徑。因此,例如,如果在步驟94,盤2的BA1被標(biāo)識為從主機(jī)1的LV1到盤2的LU2的路徑上的問題節(jié)點(diǎn),則服務(wù)器46可以在步驟100檢查從主機(jī)2通過盤2的BA1到盤2的LU1的交叉路徑。檢查交叉路徑的基本原理是在所述交叉路徑上發(fā)生的問題很可能影響路徑在其處交叉的節(jié)點(diǎn)的性能。因此,在此實例中,如果由主機(jī)2服務(wù)的應(yīng)用在LU1上產(chǎn)生了過多的負(fù)載,則作為結(jié)果,BA1的性能可能受到損害,以致去往和來自LU2的吞吐量受到損害。
服務(wù)器46在交叉路徑報告步驟102查找并報告位于交叉路徑上的問題節(jié)點(diǎn)。當(dāng)處于所述搜索的第一階段時,步驟100和102通常被同時執(zhí)行。
表III是步驟100和102的方法的偽代碼列表。所述方法從在步驟94找到的問題節(jié)點(diǎn)集合(現(xiàn)在被標(biāo)記為PN1)開始,并搜索所述交叉路徑以查找其他問題節(jié)點(diǎn)PN2。此處,使用了與表I的列表中相同的簡化假設(shè)。
表III-交叉路徑構(gòu)建ipass2(SAN topology,problematic nodes){
1.//階段1的變量可用在階段2中2.SG←存儲區(qū)域網(wǎng)絡(luò)拓?fù)?.PN1←問題節(jié)點(diǎn)在階段1(ipass1(.))找到的問題節(jié)點(diǎn)集合4.PN2←_在階段2找到的問題節(jié)點(diǎn)集合5.consumers區(qū)域中的所有客戶節(jié)點(diǎn)6.
7.foreach c∈consumers do{8.paths←buildIOpaths(c,PN1)9.PN2←PN2∪findProblematicEntitiesOnPath(paths)10.targets←c.getMappings().getTargets()11.midpoints←paths.getLeaves()12.PN2←PN2∪ipassl(midpoints,targets)13.}//end foreach14.return PN2}可以在表III的簡化代碼中做出某些更改,以便使此階段更有效地運(yùn)行。例如,出于效率目的,所述搜索可以在具有最高嚴(yán)重性級別的問題節(jié)點(diǎn)處開始,并且被限于遍歷不超過預(yù)設(shè)數(shù)量的交叉路徑。所述方法也可以被修改以標(biāo)識并除去相互重疊的交叉路徑。
附加地或可替代地,在搜索交叉路徑上的問題節(jié)點(diǎn)之前,服務(wù)器46可以首先檢查是在步驟94標(biāo)識的問題節(jié)點(diǎn)的緊鄰節(jié)點(diǎn)的節(jié)點(diǎn),或檢查所有在所述問題節(jié)點(diǎn)的特定距離內(nèi)的節(jié)點(diǎn)。只有當(dāng)發(fā)現(xiàn)這些相鄰節(jié)點(diǎn)都不是性能問題的根本原因時,服務(wù)器才繼續(xù)建立完整的交叉路徑。
可以根據(jù)所述問題節(jié)點(diǎn)對存儲區(qū)域網(wǎng)絡(luò)中的其他節(jié)點(diǎn)的依賴性的先前知識來進(jìn)一步細(xì)化要檢查的相鄰節(jié)點(diǎn)的選擇。例如,可能發(fā)現(xiàn)(基于歷史列表)只要盤控制器1具有長請求隊列,盤控制器2就也是如此。此事實可以被用于節(jié)點(diǎn)選擇,即使依賴性的原因是未知的。關(guān)于依賴性的知識的一個來源可以是先前運(yùn)行圖4的方法,其中發(fā)現(xiàn)在一個節(jié)點(diǎn)處的問題是由某個其他節(jié)點(diǎn)的行為引起的。知識的另一個來源可以是特定節(jié)點(diǎn)的物理接近度,以致由一個節(jié)點(diǎn)產(chǎn)生的熱量會影響另一個節(jié)點(diǎn)。
作為另一種選擇,在小型存儲區(qū)域網(wǎng)絡(luò)中,預(yù)先計算I/O路徑的DAG可能是可行的和所期望的。在大型存儲區(qū)域網(wǎng)絡(luò)中,預(yù)先計算所有DAG是不可行的。但是,如果存在其中I/O業(yè)務(wù)較繁重并且性能問題的風(fēng)險較高的存儲區(qū)域網(wǎng)絡(luò)部分,則計算與所述存儲區(qū)域網(wǎng)絡(luò)部分相關(guān)的DAG的小型子集以便避免重新計算可能是有用的。
盡管上述示例性實施例涉及特定種類的存儲區(qū)域網(wǎng)絡(luò)配置,但是在這些實施例中使用的方法也可以被應(yīng)用到具有其他配置的存儲網(wǎng)絡(luò),如其中主機(jī)直接訪問存儲資源的存儲區(qū)域網(wǎng)絡(luò)。此外,本發(fā)明的原理可用于(已作必要的修正)查找其他基于網(wǎng)絡(luò)的系統(tǒng)(如用作應(yīng)用服務(wù)器和多處理器計算系統(tǒng)的服務(wù)器農(nóng)場)中的問題的根本原因。
因此,將理解,通過實例的方式引用了上述實施例,并且本發(fā)明并不限于上文已具體示出并描述的內(nèi)容。相反,本發(fā)明的范圍包括上述各種功能的組合和子組合,以及在閱讀以上描述后本領(lǐng)域的技術(shù)人員所想到的并且在現(xiàn)有技術(shù)中沒有披露的本發(fā)明的各種變化和修改。
權(quán)利要求
1.一種用于診斷網(wǎng)絡(luò)性能問題的方法,所述方法包括提供代表網(wǎng)絡(luò)拓?fù)涞膱D,所述網(wǎng)絡(luò)包括被分類為資源提供方的第一節(jié)點(diǎn)、被分類為所述資源的客戶的第二節(jié)點(diǎn)以及被分類為在所述提供方與所述客戶間進(jìn)行干預(yù)的調(diào)停者的第三節(jié)點(diǎn);接收所述網(wǎng)絡(luò)中的給定客戶所遇到的性能問題的報告;響應(yīng)于所述報告,跟蹤至少一條穿過所述圖將所述給定客戶連接到一個或多個所述提供方的輸入/輸出路徑;以及將沿所述至少一條輸入/輸出路徑的一個或多個問題節(jié)點(diǎn)標(biāo)識為所述性能問題的可能原因。
2根據(jù)權(quán)利要求1的方法,其中提供所述圖包括標(biāo)識所述節(jié)點(diǎn)間的物理和邏輯鏈路,并且其中跟蹤所述至少一條輸入/輸出路徑包括根據(jù)所述邏輯鏈路來建立所述至少一條輸入/輸出路徑。
3.根據(jù)權(quán)利要求2的方法,其中標(biāo)識所述邏輯鏈路包括提供所述節(jié)點(diǎn)間的邏輯映射,并且其中建立所述至少一條輸入/輸出路徑包括從所述路徑除去與所述邏輯映射不對應(yīng)的物理鏈路。
4.根據(jù)權(quán)利要求1的方法,其中提供所述圖包括將多個所述節(jié)點(diǎn)一起分組成具有內(nèi)部節(jié)點(diǎn)結(jié)構(gòu)的超級節(jié)點(diǎn),并且其中跟蹤所述至少一條輸入/輸出路徑包括穿過所述超級節(jié)點(diǎn)跟蹤所述至少一條輸入/輸出路徑而不引用所述內(nèi)部節(jié)點(diǎn)結(jié)構(gòu)。
5.根據(jù)權(quán)利要求1的方法,其中所述網(wǎng)絡(luò)包括存儲區(qū)域網(wǎng)絡(luò),并且其中所述資源包括存儲容量和帶寬中的至少一個。
6.根據(jù)權(quán)利要求5的方法,其中所述第一節(jié)點(diǎn)包括具有與之關(guān)聯(lián)的邏輯卷的存儲服務(wù)器,并且其中接收所述報告包括接收對所述邏輯卷之一中的容量問題和吞吐量問題中的至少一個問題的指示。
7.根據(jù)權(quán)利要求5的方法,其中所述第一節(jié)點(diǎn)包括具有與之關(guān)聯(lián)的邏輯卷的存儲服務(wù)器,并且其中所述第二節(jié)點(diǎn)包括具有與之關(guān)聯(lián)的邏輯單元的存儲設(shè)備,并且其中跟蹤所述至少一條輸入/輸出路徑包括將所述至少一條輸入/輸出路徑從所述邏輯卷中的一個邏輯卷延伸到一個或多個所述邏輯單元。
8.根據(jù)權(quán)利要求1的方法,其中跟蹤所述至少一條輸入/輸出路徑包括在所述網(wǎng)絡(luò)的所述拓?fù)鋬?nèi)建立從所述給定客戶到由所述拓?fù)溥B接以便將所述資源提供給所述給定客戶的所述提供方的有向非循環(huán)圖。
9.根據(jù)權(quán)利要求1的方法,其中標(biāo)識所述一個或多個問題節(jié)點(diǎn)包括監(jiān)視所述網(wǎng)絡(luò)中的所述節(jié)點(diǎn)的性能度量,并且當(dāng)給定節(jié)點(diǎn)的一個或多個所述性能度量在預(yù)定界限之外時,將所述給定節(jié)點(diǎn)標(biāo)識為有問題。
10.根據(jù)權(quán)利要求1的方法,還包括跟蹤穿過所述圖將另一個客戶連接到所述提供方并且在所述問題節(jié)點(diǎn)中的一個節(jié)點(diǎn)處與所述至少一條輸入/輸出路徑交叉的其他輸入/輸出路徑;以及將沿所述其他輸入/輸出路徑的一個或多個其他問題節(jié)點(diǎn)標(biāo)識為所述性能問題的可能原因。
11.根據(jù)權(quán)利要求10的方法,其中跟蹤所述其他輸入/輸出路徑包括在確定沿所述至少一條輸入/輸出路徑標(biāo)識的所述一個或多個問題節(jié)點(diǎn)不是所述性能問題的原因時,啟動跟蹤所述其他輸入/輸出路徑。
12.一種用于診斷網(wǎng)絡(luò)性能問題的裝置,所述裝置包括存儲器,所述存儲器被安排為存儲代表網(wǎng)絡(luò)拓?fù)涞膱D,所述網(wǎng)絡(luò)包括被分類為資源提供方的第一節(jié)點(diǎn)、被分類為所述資源的客戶的第二節(jié)點(diǎn)以及被分類為在所述提供方與所述客戶間進(jìn)行干預(yù)的調(diào)停者的第三節(jié)點(diǎn);以及處理器,所述處理器被安排為接收所述網(wǎng)絡(luò)中的給定客戶所遇到的性能問題的報告,并且響應(yīng)于所述報告,跟蹤至少一條穿過所述圖將所述給定客戶連接到一個或多個所述提供方的輸入/輸出路徑,以及將沿所述至少一條輸入/輸出路徑的一個或多個問題節(jié)點(diǎn)標(biāo)識為所述性能問題的可能原因。
13.根據(jù)權(quán)利要求12的裝置,其中所述圖標(biāo)識所述節(jié)點(diǎn)間的物理和邏輯鏈路,并且其中所述處理器被安排為根據(jù)所述邏輯鏈路來建立所述至少一條輸入/輸出路徑。
14.根據(jù)權(quán)利要求12的裝置,其中所述網(wǎng)絡(luò)包括存儲區(qū)域網(wǎng)絡(luò),并且其中所述資源包括存儲容量和帶寬中的至少一個。
15.根據(jù)權(quán)利要求14的裝置,其中所述第一節(jié)點(diǎn)包括具有與之關(guān)聯(lián)的邏輯卷的存儲服務(wù)器,并且其中所述第二節(jié)點(diǎn)包括具有與之關(guān)聯(lián)的邏輯單元的存儲設(shè)備,并且其中所述處理器被安排為跟蹤從所述邏輯卷中的一個邏輯卷到一個或多個所述邏輯單元的所述至少一條輸入/輸出路徑。
16.根據(jù)權(quán)利要求12的裝置,其中所述處理器被安排為通過在所述網(wǎng)絡(luò)的所述拓?fù)鋬?nèi)建立從所述給定客戶到由所述拓?fù)溥B接以便將所述資源提供給所述給定客戶的所述提供方的有向非循環(huán)圖來跟蹤所述至少一條輸入/輸出路徑。
17.一種用于診斷網(wǎng)絡(luò)性能問題的計算機(jī)軟件產(chǎn)品,所述產(chǎn)品包括其中存儲有程序指令的計算機(jī)可讀介質(zhì),當(dāng)被計算機(jī)讀取時,所述指令導(dǎo)致所述計算機(jī)執(zhí)行權(quán)利要求1-11中的任一權(quán)利要求中的步驟。
全文摘要
一種用于診斷網(wǎng)絡(luò)性能問題的方法,所述方法包括提供代表網(wǎng)絡(luò)拓?fù)涞膱D,所述網(wǎng)絡(luò)包括被分類為資源提供方的第一節(jié)點(diǎn)、被分類為所述資源的客戶的第二節(jié)點(diǎn)以及被分類為在所述提供方與所述客戶間進(jìn)行干預(yù)的調(diào)停者的第三節(jié)點(diǎn)。響應(yīng)于所述網(wǎng)絡(luò)中的給定客戶所遇到的性能問題的報告,跟蹤至少一條穿過所述圖將所述給定客戶連接到一個或多個所述提供方的輸入/輸出路徑。沿所述至少一條輸入/輸出路徑的一個或多個問題節(jié)點(diǎn)被標(biāo)識為所述性能問題的可能原因。
文檔編號H04L12/24GK1866873SQ20061006547
公開日2006年11月22日 申請日期2006年3月22日 優(yōu)先權(quán)日2005年3月23日
發(fā)明者O·謝霍里, E·拉丹-莫澤什, E·海尼什, D·布賴特加德, E·葉魯沙爾米 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
泽普县| 板桥市| 古田县| 宣汉县| 宁津县| 阳江市| 萨嘎县| 墨脱县| 广宗县| 昌江| 清河县| 河西区| 彭阳县| 宜黄县| 柘荣县| 鄂尔多斯市| 辉县市| 南宫市| 宁城县| 龙里县| 永登县| 榆树市| 盐边县| 南木林县| 苏尼特右旗| 祁连县| 黄骅市| 迁西县| 清水河县| 永登县| 忻州市| 沙雅县| 微博| 灵武市| 左贡县| 水富县| 咸宁市| 兴安盟| 巨野县| 鲁甸县| 肃南|