專利名稱::存儲區(qū)域網(wǎng)絡(luò)中的負(fù)載分布的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明一般涉及存儲區(qū)域網(wǎng)絡(luò),尤其涉及存儲區(qū)域網(wǎng)絡(luò)內(nèi)輸入/輸出工作負(fù)荷的動態(tài)分布。
背景技術(shù):
:在現(xiàn)代IT系統(tǒng)中,服務(wù)器和磁帶驅(qū)動器經(jīng)存儲區(qū)域網(wǎng)絡(luò)(例如光纖通道SAN,iSCSISAN)連接。此外,用于可移動介質(zhì)管理的IEEE1244標(biāo)準(zhǔn)定義了跨異構(gòu)服務(wù)器和應(yīng)用程序邊界有效地共享磁帶驅(qū)動器的架構(gòu)和協(xié)議。為了簡化配置和存取控制,IEEE1244將驅(qū)動器組織為驅(qū)動器組。如果兩個(gè)應(yīng)用程序被授權(quán)訪問公共驅(qū)動器組的驅(qū)動器,則這兩個(gè)應(yīng)用程序可共享IEEE1244管理的驅(qū)動器。理論上,磁帶管理系統(tǒng)、如IEEE1244允許在幾個(gè)應(yīng)用程序之間非常靈活地共享磁帶驅(qū)動器,但在實(shí)踐上,該共享受到帶寬因素的限制。由于主機(jī)I/O總線(例如PCI總線)和服務(wù)器I/O端口(例如光纖通道端口,iSCSI端口)的帶寬限制,I/O端口僅可有效地利用一定數(shù)目的驅(qū)動器。如果i/o端口所利用的驅(qū)動器的數(shù)目高于某個(gè)閾值,則性能將受到影響。該數(shù)目經(jīng)常被稱為I/O端口的驅(qū)動器極限。而且,在異構(gòu)環(huán)境中,不同1/0端口可以具有不同的驅(qū)動器極限。例如,在全驅(qū)動速度時(shí),2Gbit的光纖通道端口可以比1Gbit光纖通道端口或1GbitiSCSI端口利用更多驅(qū)動器。術(shù)語"驅(qū)動器"不局限于磁帶驅(qū)動器,其可以是任何其他I/0設(shè)備,諸如磁盤設(shè)備,光盤設(shè)備,隨機(jī)存取存儲設(shè)備,全息記錄設(shè)備或納米技術(shù)設(shè)備?,F(xiàn)有技術(shù)使用以下方法和系統(tǒng)來確保在驅(qū)動器共享環(huán)境中,I/O端口同時(shí)使用的驅(qū)動器的數(shù)目不超過其驅(qū)動器極限。1.經(jīng)由軟件配置對資源分區(qū)。不超過端口的驅(qū)動器極限的典型方法是減少在端口處可見的驅(qū)動器的數(shù)目。假定有兩個(gè)服務(wù)器,每個(gè)服務(wù)器裝配有一個(gè)驅(qū)動器極限為n的1/0端口。如果存儲器管理員知道這兩個(gè)服務(wù)器在一天的不同時(shí)間需要n個(gè)驅(qū)動器,則通常將這n個(gè)相同的驅(qū)動器劃分(zone)給這兩個(gè)服務(wù)器。這使得驅(qū)動器能夠在這兩個(gè)服務(wù)器之間共享,同時(shí)確保不超過相應(yīng)驅(qū)動器極限。該方法的缺點(diǎn)是缺少靈活性。例如,如果其中一個(gè)驅(qū)動器發(fā)生故障,則需要手動干預(yù)。管理員必須識別可以將其劃分到這兩個(gè)服務(wù)器的1/0端口的可用的備用驅(qū)動器。而且,他必須在應(yīng)用程序可以使用新驅(qū)動器之前觸發(fā)這兩個(gè)服務(wù)器的操作系統(tǒng)以掃描新硬件。此外,第三服務(wù)器的存取特征必須在其可以被集成到該環(huán)境中而不與另兩個(gè)服務(wù)器的資源要求沖突之前被公知,而且,如果其中一個(gè)服務(wù)器的存取特征變化,則還必須修改配置。如果這兩個(gè)服務(wù)器隨著時(shí)間的推移在一天中的相同時(shí)間需要驅(qū)動器或如果隨著時(shí)間的推移可以以不超過一個(gè)驅(qū)動器來滿足其中一個(gè)服務(wù)器的工作負(fù)荷,則要求額外的措施。該情形導(dǎo)致為了改善整個(gè)磁帶基礎(chǔ)設(shè)施(infrastructure)的集合驅(qū)動器利用率所要求的SAN劃分變化??傊@導(dǎo)致靈活性有限,因此該方法不適于大環(huán)境。2.具有磁盤高速緩存的虛擬磁帶服務(wù)器另一個(gè)方法是在服務(wù)器和磁帶之間的I/O路徑中設(shè)置磁盤高速緩存。在這樣的情形中,所謂的虛擬磁帶服務(wù)器將虛擬磁帶驅(qū)動器中的虛擬帶盒(cartridge)提供給服務(wù)器,同時(shí)虛擬磁帶服務(wù)器在內(nèi)部將數(shù)據(jù)重新引導(dǎo)到磁盤高速緩存。隨后,虛擬磁帶服務(wù)器經(jīng)實(shí)際驅(qū)動器將數(shù)據(jù)從磁盤高速緩存轉(zhuǎn)移(destage)到實(shí)際磁帶盒。該方法的缺點(diǎn)是需要額外的硬件和軟件來構(gòu)成虛擬磁帶服務(wù)器。3.無磁盤高速緩存的虛擬磁帶服務(wù)器在另一情形中,虛擬磁帶服務(wù)器輸出虛擬磁帶驅(qū)動器到服務(wù)器,其中服務(wù)器可使用的虛擬磁帶驅(qū)動器的數(shù)量受到軟件配置中的參數(shù)限制。當(dāng)服務(wù)器要安裝帶盒時(shí),虛擬磁帶服務(wù)器動態(tài)地將虛擬磁帶驅(qū)動器連接到物理磁帶驅(qū)動器。以該方式,可實(shí)現(xiàn)物理磁帶驅(qū)動器到服務(wù)器I/O端口的靈活映射。該方法的缺點(diǎn)是需要額外的硬件和軟件來形成虛擬磁帶服務(wù)器。4.具有多個(gè)端口的磁帶驅(qū)動器某些磁帶驅(qū)動器裝配有多個(gè)端口。額外的多路徑軟件可被用于在所有可用路徑上平衡I/O。該方法的缺點(diǎn)是需要額外的硬件(磁帶驅(qū)動器處的端口,連接第二驅(qū)動器端口的存儲器網(wǎng)絡(luò)的端口)和軟件(諸如多路徑軟件)。通常,一個(gè)端口在此時(shí)是活動的,而其他端口用作在經(jīng)該活動端口執(zhí)行1/0出現(xiàn)問題的情況下的冗余目的。因此,該方法不適于大環(huán)境。因此,需要一種方法和系統(tǒng)來促進(jìn)在經(jīng)多個(gè)主機(jī)總線適配器連接的可移動介質(zhì)設(shè)備之間I/O工作負(fù)荷分布的動態(tài)分布。
發(fā)明內(nèi)容按照本發(fā)明,提供了一種負(fù)栽平衡方法,用于從一組i/o網(wǎng)絡(luò)路徑中識別輸入/輸出(I/O)網(wǎng)絡(luò)路徑。該組I/O網(wǎng)絡(luò)路徑中的每個(gè)路徑將主機(jī)系統(tǒng)經(jīng)網(wǎng)絡(luò)連接到存儲子系統(tǒng)。主機(jī)系統(tǒng)包括至少一個(gè)主機(jī)總線適配器(HBA)。存儲子系統(tǒng)包括至少一個(gè)I/0設(shè)備,且網(wǎng)絡(luò)包括至少一個(gè)網(wǎng)絡(luò)設(shè)備。HBA、1/0設(shè)備和網(wǎng)絡(luò)設(shè)備中每一個(gè)都包括至少一個(gè)I/O端口。對于該至少一個(gè)HBA的該至少一個(gè)I/O端口中的每一個(gè),確定HBA端口極限。然后確定經(jīng)該至少一個(gè)網(wǎng)絡(luò)設(shè)備的I/O端口將該至少一個(gè)HBA中每一個(gè)的該至少一個(gè)I/O端口連接到該至少一個(gè)I/O設(shè)備中每一個(gè)的該至少一個(gè)I/O端口的該組I/O網(wǎng)絡(luò)路徑。然后,為每個(gè)I/O網(wǎng)絡(luò)路徑確定結(jié)構(gòu)(fabric)利用極限,并為該至少一個(gè)HBA的該至少一個(gè)I/O端口中每一個(gè)確定HBA端口利用率。HBA端口利用率大于HBA端口極限的所有網(wǎng)絡(luò)路徑被丟棄。對于剩余路徑中的每一個(gè),確定網(wǎng)絡(luò)路徑距離。網(wǎng)絡(luò)路徑距離大于路徑距離極限的所有網(wǎng)絡(luò)路徑被丟棄。然后,對于每個(gè)剩余路徑,結(jié)構(gòu)利用率被確定。結(jié)構(gòu)利用率大于結(jié)構(gòu)利用率極限的所有路徑被丟棄,且從剩余網(wǎng)絡(luò)路徑中確定1/0網(wǎng)絡(luò)路徑。由于本發(fā)明通過考慮參數(shù)HBA端口利用率、路徑距離和結(jié)構(gòu)利用率而動態(tài)地確定從HBA到1/0設(shè)備的網(wǎng)絡(luò)路徑,所以本發(fā)明特別有用。分別相對于參數(shù)HBA端口極限、路徑距離極限和結(jié)構(gòu)利用率極限檢驗(yàn)這些參數(shù)。以該方式,從所有合格的網(wǎng)絡(luò)路徑中識別最佳網(wǎng)絡(luò)路徑。按照本發(fā)明的一個(gè)實(shí)施例,通過HBA的I/O端口可并行服務(wù)的1/0設(shè)備的數(shù)目,為該至少一個(gè)HBA中每一個(gè)的該至少一個(gè)I/0端口中每一個(gè)確定HBA端口極限。因?yàn)镠BA的I/O端口可并行服務(wù)的I/O設(shè)備的數(shù)目通常被指定,所以這特別有利。按照本發(fā)明,規(guī)范例如可以由系統(tǒng)管理員提供或可以由負(fù)栽平衡系統(tǒng)從相應(yīng)的1/0端口讀出。規(guī)范定義HBA的一個(gè)I/O端口可提供的帶寬,并直接由可從所述HBAI/O端口接收I/O的I/O設(shè)備的數(shù)目表述。帶寬主要定義一個(gè)HBAI/O端口能執(zhí)行的每秒的1/0操作的數(shù)目,其通常以每秒兆字節(jié)(MB/s)測量。按照本發(fā)明的一個(gè)實(shí)施例,通過HBA的1/0端口可處理的每秒的最大比特?cái)?shù),為該至少一個(gè)HBA中每一個(gè)的該至少一個(gè)I/O端口中每一個(gè)確定HBA端口極限。特別有利的是使用1/0端口可處理的每秒的比特?cái)?shù)作為HBA端口極限,因?yàn)樵撝悼捎韶?fù)載平衡系統(tǒng)動態(tài)地確定。按照本發(fā)明的一個(gè)實(shí)施例,通過被分配給HBA的I/O端口的工作負(fù)荷(或帶寬)確定HBA的1/0端口的HBA端口利用率。因?yàn)樨?fù)載平衡系統(tǒng)可通過發(fā)送查詢命令到HBA而動態(tài)地確定工作負(fù)荷,因此這特別有利。按照本發(fā)明的一個(gè)實(shí)施例,利用驅(qū)動器負(fù)擔(dān)(driveweight)確定HBA端口利用率。驅(qū)動器負(fù)擔(dān)被分配給I/0設(shè)備,并且驅(qū)動器負(fù)擔(dān)表示I/O設(shè)備的工作負(fù)荷。按照本發(fā)明的一個(gè)實(shí)施例,利用驅(qū)動器負(fù)擔(dān)確定HBA端口利用率,其中驅(qū)動器負(fù)擔(dān)表示I/O設(shè)備的工作負(fù)荷并由壓縮比(compressionratio)調(diào)整,而從I/Oi殳備獲取壓縮比。本發(fā)明因?yàn)橹С挚紤]該至少一個(gè)主機(jī)總線適配器的該至少一個(gè)I/O端口的HBA端口極限,并丟棄HBA端口利用率大于HBA端口極限的所有路徑,所以特別有利。注意,每個(gè)HBA的每個(gè)I/O端口具有其自己特定的HBA端口極限。這確保HBA的1/0端口只利用最優(yōu)數(shù)目的驅(qū)動器。這對整個(gè)I/O設(shè)備基礎(chǔ)設(shè)施的集合帶寬的整體改善有貢獻(xiàn)。按照本發(fā)明的一個(gè)實(shí)施例,通過加和包括在I/O網(wǎng)絡(luò)路徑中的所有互連的等待時(shí)間并加上包括在I/O網(wǎng)絡(luò)路徑中的1/0端口的數(shù)目來確定每個(gè)剩余網(wǎng)絡(luò)路徑的網(wǎng)絡(luò)路徑距離。按照本發(fā)明的一個(gè)實(shí)施例,通過加和經(jīng)過包括在網(wǎng)絡(luò)路徑中的該至少一個(gè)網(wǎng)絡(luò)設(shè)備的1/0端口的數(shù)據(jù)率來確定結(jié)構(gòu)利用率。通過網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)路徑一般包括至少兩個(gè)端口,一個(gè)輸入端口和一個(gè)輸出端n。按照本發(fā)明的一個(gè)實(shí)施例,通過包括在網(wǎng)絡(luò)路徑中的活動I/O端口的數(shù)目與包括在網(wǎng)絡(luò)路徑中的1/0端口的總數(shù)目的比率來確定網(wǎng)絡(luò)路徑的結(jié)構(gòu)利用率。使用結(jié)構(gòu)利用率來確定網(wǎng)絡(luò)路徑特別有利,因?yàn)榭紤]了包括在網(wǎng)絡(luò)#中的所有部件的工作負(fù)荷。選擇具有最低結(jié)構(gòu)利用率的路徑提供了所有活動資源的最佳利用率。而且,本發(fā)明特別有利,因?yàn)槠淇紤]了網(wǎng)絡(luò)路徑的結(jié)構(gòu)利用極限,并檢驗(yàn)結(jié)構(gòu)利用率的大小是否低于結(jié)構(gòu)利用極限。這確保了從不超過i/o設(shè)備基礎(chǔ)設(shè)施的最大帶寬。按照本發(fā)明的一個(gè)實(shí)施例,"最佳"I/0網(wǎng)絡(luò)路徑是考慮HBA端口利用率、網(wǎng)絡(luò)路徑距離和結(jié)構(gòu)利用率的函數(shù)產(chǎn)生最低函數(shù)值的剩余網(wǎng)絡(luò)路徑。這三個(gè)參數(shù)HBA利用率、網(wǎng)絡(luò)路徑距離和結(jié)構(gòu)利用率被分配給從中選擇最佳路徑的所有路徑。例如,函數(shù)由系統(tǒng)管理員指定。使用函數(shù)來確定最佳路徑具有這樣的優(yōu)點(diǎn),即其使系統(tǒng)管理員能夠?qū)@三個(gè)參數(shù)同等地或不同地加權(quán)。本發(fā)明在另一方面中涉及一種計(jì)算機(jī)程序產(chǎn)品,其包括計(jì)算機(jī)可執(zhí)行指令以便執(zhí)行本發(fā)明的方法。本發(fā)明在再一方面中涉及一種負(fù)載平衡系統(tǒng),用于從一組I/O網(wǎng)絡(luò)路徑中識別I/O網(wǎng)絡(luò)路徑,該組I/O網(wǎng)絡(luò)路徑將主機(jī)系統(tǒng)經(jīng)網(wǎng)絡(luò)連接到存儲子系統(tǒng)。下面將參考附圖僅僅以示例的方式更詳細(xì)地介紹本發(fā)明的優(yōu)選實(shí)施例,其中圖l是實(shí)現(xiàn)本發(fā)明一個(gè)實(shí)施例的系統(tǒng)的方框圖。圖2的流程圖示出在本發(fā)明一個(gè)優(yōu)選實(shí)施例中如何確定I/O網(wǎng)絡(luò)路徑。圖3的流程圖示出在本發(fā)明另一優(yōu)選實(shí)施例中如何確定I/0網(wǎng)絡(luò)路徑。具體實(shí)施例方式圖l是實(shí)現(xiàn)本發(fā)明一個(gè)實(shí)施例的系統(tǒng)的方框圖。系統(tǒng)包括可移動介質(zhì)管理系統(tǒng)118、主機(jī)系統(tǒng)102、網(wǎng)絡(luò)112、存儲子系統(tǒng)149??梢苿咏橘|(zhì)管理系統(tǒng)118是計(jì)算機(jī)系統(tǒng),其包括負(fù)載平衡系統(tǒng)106、微處理器103、非易失性存儲設(shè)備105、和易失性存儲設(shè)備107,主機(jī)系統(tǒng)也是計(jì)算機(jī)系統(tǒng),例如服務(wù)器系統(tǒng),其包括應(yīng)用程序104、與可移動介質(zhì)管理系統(tǒng)118通信的代理109、設(shè)備驅(qū)動器108、和分別包括I/0端口160、161及162的主機(jī)總線適配器(HBA)110、111,網(wǎng)絡(luò)112包括網(wǎng)絡(luò)元件113、114、和115,它們是典型的網(wǎng)絡(luò)i殳備,諸如存儲網(wǎng)絡(luò)內(nèi)的集線器、交換器和路由器(例如,光纖通道,iSCSI)。每個(gè)網(wǎng)絡(luò)設(shè)備包括I/0端口130、131、132、133、134、140、141、142、143、144、145、和146。存儲子系統(tǒng)149包括I/O設(shè)備120、121、125、和126。I/O設(shè)備通常是可移動介質(zhì)設(shè)備,諸如磁帶類i/o設(shè)備、磁盤類i/o設(shè)備、全息類i/o設(shè)備、納米技術(shù)類1/o設(shè)備或光學(xué)1/o設(shè)備。每個(gè)i/o設(shè)備120、121、125和126分別包括一個(gè)或多個(gè)I/0端口150、151、152、153、和154。I/O網(wǎng)絡(luò)路徑利用互連將HBA的I/O端口經(jīng)一個(gè)或多個(gè)網(wǎng)絡(luò)該:備的I/O端口連接到I/O設(shè)備的I/O端口。例如,網(wǎng)絡(luò)路徑l卯利用互連將HBA111的1/0端口161連接到網(wǎng)絡(luò)設(shè)備114的I/0端口131,并將網(wǎng)絡(luò)設(shè)備114的另一I/O端口145連接至I/O設(shè)備126的I/O端口153。應(yīng)該指出,HBA可包括一個(gè)以上I/0端口。通常多達(dá)4個(gè)I/0端口。而且,實(shí)踐中,網(wǎng)絡(luò)設(shè)備包括兩個(gè)或更多1/0端口,且i/o設(shè)備也可包括一個(gè)以上的1/0端口。路徑包括一個(gè)或多個(gè)互連?;ミB可以是將數(shù)據(jù)從一個(gè)1/0端口傳輸?shù)搅硪籭/o端口的任何設(shè)備。互連的例子是光纖通道纜線、以太網(wǎng)纜線、或WAN互連,如CWDM、DWDM、ATM、Sonet/SDH、或TCP/IP?;ミB也可由無線連接提供。例如,主機(jī)系統(tǒng)和存儲子系統(tǒng)可通過無線局域網(wǎng)互連,從而數(shù)據(jù)通過光學(xué)信號從一個(gè)I/O端口發(fā)射到另一i/o端口,且光學(xué)信號具有例如紅外頻率范圍內(nèi)的頻率。如果光學(xué)纜線被用作互連或如果使用無線互連,則互連自身可包括信號頻率不同的幾個(gè)通道。因此,互連可提供幾個(gè)路徑,而每個(gè)路徑以通道為特征或相應(yīng)地以用于傳輸數(shù)據(jù)的光學(xué)頻率為特征。網(wǎng)絡(luò)路徑也可包括一個(gè)以上的網(wǎng)絡(luò)元件。例如,在1/0網(wǎng)絡(luò)路徑170中,互連將I/O端口160連接到I/O端口130,然后互連將I/O端口140連接到I/O端口132,并且附加地,互連將I/0端口142連接到I/O設(shè)備120的I/O端口150。網(wǎng)絡(luò)路徑也可不包括網(wǎng)絡(luò)元件。I/O設(shè)備的I/O端口可通過互連直接與HBA的I/0端口連接。網(wǎng)絡(luò)路徑由所述互連組成。應(yīng)用程序104利用主機(jī)系統(tǒng)102訪問1/0設(shè)備120、121、125、和126。主機(jī)系統(tǒng)102,特別是應(yīng)用程序104經(jīng)代理109和適當(dāng)?shù)耐ㄐ欧椒?,諸如TCPIP,聯(lián)系包括在介質(zhì)管理系統(tǒng)118中的負(fù)載平衡系統(tǒng)106。負(fù)栽平衡系統(tǒng)106從應(yīng)用程序104可通過其讀取或?qū)懭霐?shù)據(jù)至1/0設(shè)備120、121、125、126的網(wǎng)絡(luò)路徑組中確定網(wǎng)絡(luò)路徑170。作為數(shù)據(jù)存取請求,諸如安裝、讀取或?qū)懭朊?,的結(jié)果,應(yīng)用程序104可聯(lián)系負(fù)載平衡系統(tǒng)106。下面介紹用于從該組網(wǎng)絡(luò)路徑中識別I/O網(wǎng)絡(luò)路徑的方法的多種實(shí)施例。負(fù)載平衡系統(tǒng)106使用代理109來確定網(wǎng)絡(luò)和存儲子系統(tǒng)149的某些參數(shù),這些參數(shù)被存儲在易失性存儲設(shè)備107上??商鎿Q地,這些參數(shù)可被存儲在非易失性存儲設(shè)備105上。主機(jī)系統(tǒng)102采用一個(gè)或多個(gè)設(shè)備驅(qū)動器108,以便訪問1/Oi殳備120、121、125和126。然而,按照本發(fā)明的系統(tǒng)并不局限于該實(shí)施例。例如,包括負(fù)載平衡系統(tǒng)106的介質(zhì)管理系統(tǒng)118可包括在主機(jī)系統(tǒng)102中或包括在存儲子系統(tǒng)149中。介質(zhì)管理系統(tǒng)118例如可以用內(nèi)置到應(yīng)用程序的庫管理器的形式被實(shí)現(xiàn)到主機(jī)系統(tǒng)102中。介質(zhì)管理系統(tǒng)118例如可以以用于磁帶庫的先進(jìn)庫管理器的形式被實(shí)現(xiàn)到存儲子系統(tǒng)149中。然而,外部介質(zhì)管理系統(tǒng)118的優(yōu)點(diǎn)在于,其可同時(shí)被幾個(gè)連接到不同網(wǎng)絡(luò)和存儲子系統(tǒng)或連接到同一網(wǎng)絡(luò)和存儲子系統(tǒng)的主機(jī)系統(tǒng)使用。這組網(wǎng)絡(luò)路徑包括經(jīng)網(wǎng)絡(luò)112將HBA110或lll的I/O端口160、161或162連接到存儲子系統(tǒng)149的1/0設(shè)備120、121、125、和126的所有路徑。例如,I/O網(wǎng)絡(luò)路徑170由從HBA110的I/O端口160到網(wǎng)絡(luò)i殳備113的I/O端口130的互連和從網(wǎng)絡(luò)設(shè)備113的I/O端口140到網(wǎng)絡(luò)設(shè)備115的I/O端口132的互連以及從網(wǎng)絡(luò)設(shè)備115的I/O端口142到I/O設(shè)備120的I/O端口150的互連實(shí)現(xiàn)。按照本發(fā)明一個(gè)實(shí)施例,除了下面指定的其他參數(shù)之外,負(fù)載平衡系統(tǒng)106還確定被存儲在易失性存儲設(shè)備107或非易失性存儲設(shè)備105上的以下參數(shù)HBA端口極限180、HBA端口利用率182、網(wǎng)絡(luò)路徑距離184、路徑距離極限185、結(jié)構(gòu)利用率極限186、結(jié)構(gòu)利用率188、壓縮比192、和驅(qū)動器負(fù)擔(dān)194。下面詳細(xì)介紹如何確定這些參數(shù)。微處理器103響應(yīng)于從應(yīng)用程序104接收到數(shù)據(jù)存取請求而執(zhí)行負(fù)載平衡方法。數(shù)據(jù)請求的例子包括安裝帶盒請求、建立從SCSI源到存儲網(wǎng)絡(luò)中SCSI目標(biāo)的連接、和在存儲網(wǎng)絡(luò)中創(chuàng)建新區(qū)段。圖2示出的流程圖示出了在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中如何確定"最佳"I/0網(wǎng)絡(luò)路徑。過程從202開始,前進(jìn)到204,其中確定所有路徑的集合。每個(gè)I/O網(wǎng)絡(luò)路徑描繪從系統(tǒng)的HBA(主機(jī)系統(tǒng)可包括一個(gè)以上的HBA,其中每個(gè)HBA包括一個(gè)或多個(gè)I/O端口)的I/O端口經(jīng)網(wǎng)絡(luò)到1/0設(shè)備的1/0端口(存儲子系統(tǒng)也可包括一個(gè)以上的1/0設(shè)備,其中1/0設(shè)備可包括一個(gè)以上的1/0端口)的路由。HBA的I/O端口在下文中也被稱為HBA端口。作為步驟204的結(jié)果,集合P2。4描述所有路徑的集合。步驟206移除對于I/O不合格的所有路徑。不合格的I/O網(wǎng)絡(luò)路徑的例子包括不是活動光纖通道區(qū)段的成員的物理I/0網(wǎng)絡(luò)路徑。不合格網(wǎng)絡(luò)路徑的另一例子是非空閑或不可用的設(shè)備。設(shè)備可能因?yàn)楸涣硪粦?yīng)用程序或另一主機(jī)系統(tǒng)使用而不是空閑的。當(dāng)設(shè)備有故障或離線時(shí),其可能是不可用的。注意,對于新數(shù)據(jù)存取請求的處理,步驟204僅考慮到當(dāng)前未被使用的驅(qū)動器的路徑。作為步驟206的結(jié)果,集合P2Q6描述所有合格路徑的集合。在一個(gè)可替換實(shí)施例中,步驟204僅確定合格步驟,因此步驟206可省略。然后,過程進(jìn)入判定檢查點(diǎn)208。如果此時(shí)沒有遺留合格路徑(P2。6=0),則過程在步驟299結(jié)束。步驟299指示此時(shí)沒有合格路徑可用。步驟299中所執(zhí)行的動作或步驟299的結(jié)果取決于環(huán)境。例如,在可移動介質(zhì)管理系統(tǒng)中,各安裝請求可能被阻擋,這意味著安裝請求被添加到安裝請求隊(duì)列中,或被拒絕。在另一實(shí)施例中,存儲網(wǎng)絡(luò)容量規(guī)劃模塊可拒絕各劃分或存取請求。在再一實(shí)施例中,步驟299可循環(huán)返回到該流程圖的起點(diǎn)步驟202,以便重新嘗試路徑尋找。在又一實(shí)施例中,可調(diào)用按需模塊,其動態(tài)地提供附加基礎(chǔ)設(shè)施以便添加更多路徑到路徑結(jié)合P2。4中。如果在檢查點(diǎn)208存在滿足存取請求的合格路徑(P2()6*0),則過程進(jìn)入到步驟210。步驟210建立主機(jī)總線適配器的所有I/O端口h的集合H,其中h是至少一個(gè)I/0網(wǎng)絡(luò)路徑p元素P2。6(peP206)的起點(diǎn)。而且,在步驟210中,在假設(shè)存取請求被調(diào)度的情況下,為H的每個(gè)主機(jī)適配器I/O端口h元素確定HBA端口利用率Uh。計(jì)算HBA端口利用率的可替換實(shí)施例在后面詳細(xì)說明。然后,過程進(jìn)入步驟212。步驟212比較每個(gè)HAB端口heH的HBA端口利用率Uh和HBA端口極限lh,并丟棄HBA端口利用率u^HBA端口極限lh180的所有路徑p。在一個(gè)實(shí)施例中,在應(yīng)用程序已經(jīng)觸發(fā)過程200之后動態(tài)地確定HBA端口極限lh。該確定基于媒體管理系統(tǒng)的處理器掃描和詢問的網(wǎng)絡(luò)中網(wǎng)絡(luò)元件的參數(shù)和存儲系統(tǒng)中的i/o設(shè)備特征。例如,負(fù)載平衡系統(tǒng)詢問與網(wǎng)絡(luò)路徑相關(guān)聯(lián)的所有元件,并確定路徑中可能的最大數(shù)據(jù)率。該最大數(shù)據(jù)率于是相當(dāng)于HBA端口極限。在另一實(shí)施例中,用戶為每個(gè)HBA端口配置HBA端口極限lh。在后面進(jìn)一步說明參數(shù)HBA端口極限lh。步驟212的結(jié)果是網(wǎng)絡(luò)路徑集合Pm,其中P212-{pep206,其中"h是p的起點(diǎn)"且"新HBA端口利用率Uh^HBA端口極限lb"}。如果在步驟212中確定沒有合格的候選者(P212=0),則過程進(jìn)入步驟299,表明沒有發(fā)現(xiàn)合格路徑。否則,流程進(jìn)入步驟214,其中確定所有剩余路徑pePm的網(wǎng)絡(luò)路徑距離Np。路徑pePm的網(wǎng)絡(luò)路徑距離Np是兩個(gè)端口之間的物理距離或互連長度。路徑pePm的網(wǎng)絡(luò)路徑距離Np可由介質(zhì)管理系統(tǒng)的微處理器例如通過在網(wǎng)絡(luò)上發(fā)送測試分組并測量回傳時(shí)間(turnaroundtime)而自動確定.回傳時(shí)間與所述分組在網(wǎng)絡(luò)上必須行進(jìn)的距離成正比。在一個(gè)可替換實(shí)施例中,網(wǎng)絡(luò)路徑距離Np是用戶可配置的,這意味著用戶為網(wǎng)絡(luò)上的任何給定路徑配置距離。參數(shù)網(wǎng)絡(luò)路徑距離在下面進(jìn)一步解釋。下一步驟216丟棄I/0網(wǎng)絡(luò)路徑p的網(wǎng)絡(luò)路徑距離Np大于路徑距離極限ld的所有路徑pePn2。在本發(fā)明的一個(gè)實(shí)施例中,路徑距離極限ld在應(yīng)用程序已經(jīng)觸發(fā)過程200之后由按照本發(fā)明的負(fù)載平衡系統(tǒng)動態(tài)地確定。該確定基于連接主機(jī)系統(tǒng)和存儲子系統(tǒng)的網(wǎng)絡(luò)元件的參數(shù),這些參數(shù)被掃描并被詢問。在另一實(shí)施例中,用戶為每個(gè)互連配置路徑距離極限。后面進(jìn)一步解釋參數(shù)路徑距離極限ld。步驟216的結(jié)果是集合Pn6,其中P216={peP212,其中"I/0網(wǎng)絡(luò)路徑p的網(wǎng)絡(luò)路徑距離Np^I/O網(wǎng)絡(luò)路徑p的路徑距離極限ld"}。如果沒有合格候選者(P216=0),則處理在步驟299結(jié)束。步驟218計(jì)算所有剩余路徑p元素P216的結(jié)構(gòu)利用率。路徑pePn6的結(jié)構(gòu)利用率Fp是由包括路徑p的結(jié)構(gòu)F必須管理的工作負(fù)荷來限定。路徑peP^的結(jié)構(gòu)利用率Fp可以由介質(zhì)管理系統(tǒng)的微處理器自動確定,例如通過發(fā)送詢問到結(jié)構(gòu)F的網(wǎng)絡(luò)元件,以詢問每秒的I/0數(shù)目。然后,在結(jié)構(gòu)F中與路徑p相關(guān)的所有網(wǎng)絡(luò)元件上累加該數(shù)目。參數(shù)結(jié)構(gòu)利用率在后面進(jìn)一步說明。下一步驟220丟棄其中路徑p的結(jié)構(gòu)利用率大于I/0網(wǎng)絡(luò)路徑p的結(jié)構(gòu)利用率極限lf的所有路徑p元素P216。在本發(fā)明的一個(gè)實(shí)施例中,結(jié)構(gòu)利用率極限lf由按照本發(fā)明的負(fù)栽平衡系統(tǒng)在應(yīng)用程序已經(jīng)觸發(fā)過程200之后動態(tài)地確定。該確定基于被掃描和詢問的連接主機(jī)系統(tǒng)和存儲子系統(tǒng)的網(wǎng)絡(luò)中網(wǎng)絡(luò)元件的參數(shù)。在另一實(shí)施例中,結(jié)構(gòu)利用率極限由用戶配置。參數(shù)結(jié)構(gòu)利用率極限lp在下面進(jìn)一步說明。步驟220的結(jié)果是集合P22。,其中P22。={peP216,其中"路徑p的新結(jié)構(gòu)利用率^路徑p的結(jié)構(gòu)利用率極限"}。如果P^中沒有合格候選者(P22。=0),則過程進(jìn)入步驟299,指示沒有發(fā)現(xiàn)合格路徑。否則,所有路徑peP22。不超過帶寬,且因此是"最佳路徑"的潛在候選者,并且過程進(jìn)入步驟222。因此,過程的剩余步驟不丟棄額外的路徑,但確定最優(yōu)路徑。步驟222引入函數(shù)f,該函數(shù)加權(quán)這三個(gè)參數(shù)HBA端口利用率uh、結(jié)構(gòu)利用率pf、和距離pd。在一個(gè)實(shí)施例中,函數(shù)f是加權(quán)和f(uh,pf,pd)=axUh+bxpf+cxpd,其中a、b、和c是例如由系統(tǒng)管理員指定的常數(shù)值。最后,在步驟224中,選擇所有peP22。中上面給出的函數(shù)f產(chǎn)生最低函數(shù)值的I/O網(wǎng)絡(luò)路徑p幽pmin=min(f(Ub,pf,Pd))。處理在步驟226結(jié)束,其返回所確定的網(wǎng)絡(luò)路徑作為具有最佳性能特征的"最佳路徑"。在本發(fā)明的一個(gè)實(shí)施例中,僅執(zhí)行步驟202到212,和步驟226或步驟229。如上所述,步驟212的結(jié)果是網(wǎng)絡(luò)路徑集合P212,其中P2i2={pep206,其中"h是p的起點(diǎn),,且"新HBA端口利用率uhSHBA端口極限lh"。如果P^^0,則過程進(jìn)入步驟226,其中集合Pm中一個(gè)網(wǎng)絡(luò)路徑被選擇,例如通過從列表Pm中選擇第一個(gè)網(wǎng)絡(luò)路徑,或通過從集合P212中隨機(jī)選擇網(wǎng)絡(luò)路徑。如果P212-0,則過程進(jìn)入步驟299。按照本發(fā)明,每個(gè)I/O網(wǎng)絡(luò)路徑p元素P22Q的特征為三個(gè)參數(shù)(a)HBA端口利用率,(b)網(wǎng)絡(luò)路徑距離184和(c)結(jié)構(gòu)利用率,這三個(gè)參數(shù)被用于確定"最佳路徑"。這些參數(shù)在下面說明。HBA端口利用率uh-該參數(shù)跟蹤多少工作負(fù)荷當(dāng)前被分配給HBA的1/0端口并以每秒兆字節(jié)(MB/s)表示。如果當(dāng)前在該HBA端口沒有使用驅(qū)動器,則其值為零。如果一個(gè)或多個(gè)驅(qū)動器被調(diào)度用于在HBA端口處使用,則該值被設(shè)為各驅(qū)動器的驅(qū)動器負(fù)擔(dān)之和。驅(qū)動器負(fù)擔(dān)是表示1/0設(shè)備消耗多少I/O資源的額外參數(shù)。驅(qū)動器負(fù)擔(dān)由以每秒兆字節(jié)(MB/s)為單位的1/0率表示。該參數(shù)可通過發(fā)送詢問命令至驅(qū)動器以指示驅(qū)動器報(bào)告可實(shí)現(xiàn)的數(shù)據(jù)率而被自動獲得。例如,詢問命令是SCSIINQUIRY命令,其向驅(qū)動器詢問特性,其中一個(gè)參數(shù)通常表示驅(qū)動器帶寬。驅(qū)動器帶寬例如表示1/0設(shè)備可處理的數(shù)據(jù)率,并通常以每秒兆字節(jié)表示。在一個(gè)可替換實(shí)施例中,參數(shù)驅(qū)動器負(fù)擔(dān)可由用戶配置。在又一實(shí)施例中,驅(qū)動器負(fù)擔(dān)由按照本發(fā)明的介質(zhì)管理系統(tǒng)基于1/0設(shè)備操作而動態(tài)地調(diào)整。1/0設(shè)備通常保持關(guān)于先前操作中所處理的數(shù)據(jù)率的統(tǒng)計(jì)量。該統(tǒng)計(jì)量可由介質(zhì)管理系統(tǒng)詢問。詢問命令的一個(gè)例子是SCSILOGSENSE命令?;谠撔畔ⅲ橘|(zhì)管理系統(tǒng)可通過計(jì)算多個(gè)安裝的平均1/0率而動態(tài)地更新驅(qū)動器負(fù)擔(dān)。在一個(gè)實(shí)施例中,當(dāng)驅(qū)動器負(fù)擔(dān)涉及未壓縮數(shù)據(jù)時(shí),用壓縮比調(diào)整驅(qū)動器負(fù)擔(dān)參數(shù)。壓縮通常在i/o設(shè)備級以一定比率進(jìn)行,并影響I/O設(shè)備的I/O率。在該實(shí)施例中,驅(qū)動器負(fù)擔(dān)參數(shù)在被加到HBA端口利用率并與HBA端口極限比較之前與壓縮比率相乘。在一個(gè)實(shí)施例中,介質(zhì)管理向1/0設(shè)備詢問壓縮比率參數(shù)。介質(zhì)管理系統(tǒng)計(jì)算壓縮比率平均值,并將其存儲在易失性存儲設(shè)備中。詢問命令是SCSI-3LOGSENSE命令。在另一實(shí)施例中,壓縮比率由用戶配置。用于更新HBA端口利用率的方法相當(dāng)筒單。其從沒有任何I/O設(shè)備經(jīng)該端口被使用時(shí)開始,其中值為零。如果作為圖2中過程的結(jié)果,I/O設(shè)備被調(diào)度用于HBA端口(安裝請求),則HBA端口利用率的值被增加驅(qū)動器負(fù)擔(dān)參數(shù),其中該參數(shù)可由1/0設(shè)備的壓縮比調(diào)整。然后,HBA端口利用率被存儲在介質(zhì)管理系統(tǒng)中。如果驅(qū)動器被從HBA端口取消調(diào)度(de-scheduled)(不安裝請求),則HBA端口利用率的值被減少驅(qū)動器負(fù)擔(dān)。網(wǎng)絡(luò)路徑距離Np-網(wǎng)絡(luò)路徑距離主要由I/O網(wǎng)絡(luò)路徑的長度表示,其中I/O網(wǎng)絡(luò)路徑的長度是包括在1/0網(wǎng)絡(luò)路徑中的互連的物理長度。在優(yōu)選實(shí)施例中包括1/0網(wǎng)絡(luò)路徑中包括的1/0端口的數(shù)目,其原因是,每個(gè)端口表示一定水平的開銷,其影響數(shù)據(jù)率并因此應(yīng)當(dāng)被考慮。按照該優(yōu)選實(shí)施例,網(wǎng)絡(luò)路徑距離以長度單位計(jì)量,如米(m)。在一個(gè)可替換實(shí)施例中,該參數(shù)以數(shù)據(jù)分組在該路徑上的回傳時(shí)間來表述,其中回傳時(shí)間以時(shí)間單位計(jì)量,諸如毫秒(ms)。為了確定給定網(wǎng)絡(luò)路徑的長度,負(fù)栽平衡系統(tǒng)過程在路徑上發(fā)送分組并測量回傳時(shí)間,類似于根據(jù)TCPIP協(xié)議的"ping"命令?;貍鲿r(shí)間作為網(wǎng)絡(luò)路徑距離參數(shù)被存儲在介質(zhì)管理系統(tǒng)的存儲設(shè)備中。在一個(gè)可替換實(shí)施例中,路徑距離由用戶配置并以米表述。結(jié)構(gòu)利用率Fp-描述路徑p位于其中的結(jié)構(gòu)利用率。結(jié)構(gòu)由大量交換器或網(wǎng)絡(luò)元件組成。網(wǎng)絡(luò)元件或交換器由大量i/o端口組成。通過路徑內(nèi)I/O端口的I/O率之和來計(jì)算路徑p的結(jié)構(gòu)利用率。因此,不考慮整個(gè)結(jié)構(gòu),而僅考慮一個(gè)HBA和一個(gè)I/O設(shè)備之間的I/O網(wǎng)絡(luò)路徑中的元件。該參數(shù)用數(shù)據(jù)率表述,諸如每秒兆字節(jié),以描述屬于結(jié)構(gòu)內(nèi)路徑p的端口的所包括的數(shù)據(jù)率。負(fù)栽平衡系統(tǒng)通過適當(dāng)命令確定屬于路徑的端口的數(shù)據(jù)率。例如,按照現(xiàn)有技術(shù)的SAN交換元件提供負(fù)栽平衡系統(tǒng)可用其來詢問I/O端口的數(shù)據(jù)率的用于出站連接的應(yīng)用編程接口(API)。在一個(gè)可替換實(shí)施例中,路徑p的結(jié)構(gòu)利用率通過結(jié)構(gòu)中活動端口數(shù)目與結(jié)構(gòu)中總端口數(shù)目的比率來確定。端口的活動性由負(fù)載平衡系統(tǒng)106詢問,例如通過SAN元件所提供的API。作為圖2所示過程中步驟218的一部分,確定該參數(shù)。因?yàn)榻Y(jié)構(gòu)利用率動態(tài)地改變,所以其可選地可在后臺中被確定。通過利用該參數(shù),按照本發(fā)明的負(fù)栽平衡方法和系統(tǒng)考慮連接HBA端口和I/O設(shè)備的路徑中所有元件的工作負(fù)荷。選擇結(jié)構(gòu)利用率最低的路徑就提供所有資源的相等利用率。圖2中所描迷的過程還包括允許排除某些路徑的下列這些參數(shù)的極限或閾值,諸如(a)HBA端口極限,(b)網(wǎng)絡(luò)路徑距離極限和(c)結(jié)構(gòu)利用率極限。將這些極限與上面在步驟212、216和220中所概述的三個(gè)參數(shù)之一進(jìn)行比較,將在下面進(jìn)一步說明這些極限。HBA端口極限lb一HBA端口極限是HBA的每個(gè)端口的新元數(shù)據(jù)屬性。在一個(gè)實(shí)施例中,HBA端口極限表示該端口可并行服務(wù)的驅(qū)動器的數(shù)量。在另一實(shí)施例中,HBA端口極限表示端口可處理的最大吞吐量(例如,100Gbit)。在其中互連是包括幾個(gè)通道的光學(xué)纜線或無線連接,因而利用不同光學(xué)頻率在每個(gè)通道上傳遞數(shù)據(jù)的另一實(shí)施例中,HBA端口極限也可以是HBA端口可處理的通道的數(shù)目。路徑距離極限ld-描述路徑的最大允許距離,并與路徑距離比較。路徑距離極限是用戶配置的常數(shù)值。結(jié)構(gòu)利用率極限lf-描述結(jié)構(gòu)的最大允許的利用率,并與結(jié)構(gòu)利用率比較。結(jié)構(gòu)利用率極限由用戶配置。圖3教導(dǎo)了選擇"最佳I/O網(wǎng)絡(luò)路徑"的另一實(shí)施例。與200所描述的過程的主要差別在于,過程300不移除禁止路徑。具體地,過程300不考慮HBA端口利用率的極限、網(wǎng)絡(luò)路徑距離的極限、和結(jié)構(gòu)利用率的極限。相反,該過程為上面所述的這三個(gè)參數(shù)(a)HBA端口利用率、(b)網(wǎng)絡(luò)路徑距離和(c)結(jié)構(gòu)利用率中的每一個(gè)選擇最小值。該實(shí)施例與圖2說明的實(shí)施例一起表示存在多個(gè)可替換方案來實(shí)現(xiàn)負(fù)載平衡系統(tǒng)。負(fù)栽平衡系統(tǒng)106響應(yīng)于來自應(yīng)用程序104的數(shù)據(jù)存取請求執(zhí)行過程300。一個(gè)可替換實(shí)施例是,該過程在主機(jī)系統(tǒng)102的利用率較小時(shí)被執(zhí)行。過程300從302開始,并進(jìn)入304,其中確定所有路徑的集合。每個(gè)I/O網(wǎng)絡(luò)路徑描述從主機(jī)系統(tǒng)102的主機(jī)總線適配器110或111的1/0端口160、161、或162經(jīng)網(wǎng)絡(luò)112到1/0設(shè)備120、121、125和126的該至少一個(gè)I/O端口的路由。例如,1/O網(wǎng)絡(luò)路徑170包括HBA110的I/O端口160、從I/O端口160到I/O端口130的互連、網(wǎng)絡(luò)設(shè)備113、從I/0端口140到I/O端口132的互連、網(wǎng)絡(luò)設(shè)備115、和從I/O端口142到I/O設(shè)備120的I/O端口150的互連。在步驟305中,檢驗(yàn)是否存在任何網(wǎng)絡(luò)路徑。如果不存在網(wǎng)絡(luò)路徑,則過程進(jìn)入步驟399,并停止,因而不確定路徑。如果存在至少一個(gè)網(wǎng)絡(luò)路徑,則過程進(jìn)入步驟306。在步驟306中,每個(gè)主機(jī)總線適配器110或111的每個(gè)I/0端口160、161、或162的HBA端口利用率被確定。步驟308確定利用率最低的1/0端口160、161或162。在步驟310中,HBA端口160、161和162的HBA端口利用率被比較,且選擇利用率最低的HBA端口。如果僅存在一個(gè)I/O網(wǎng)絡(luò)路徑具有最小HBA端口利用率,則過程進(jìn)入后面討論的步驟326。否則,如果存在一個(gè)以上的I/O網(wǎng)絡(luò)路徑具有最小利用率,則過程進(jìn)入步驟312,其中為具有相同的最小利用率的I/O網(wǎng)絡(luò)路徑確定主機(jī)總線適配器端口160、161和162與驅(qū)動器120、121、125、126的I/0端口150、151、152、153、和154之間的距離。在步驟314,確定步驟312中所考慮的I/O網(wǎng)絡(luò)路徑中的最小網(wǎng)絡(luò)路徑距離。在步驟316,確定具有最小距離的路徑數(shù)目是否大于1。如果答案是否定的,即僅有一個(gè)路徑,則過程進(jìn)入后面討論的步驟326。如果有一個(gè)以上的I/O網(wǎng)絡(luò)路徑具有最小距離,則過程進(jìn)入步驟318,其中為所有具有最小網(wǎng)絡(luò)路徑距離的路徑確定結(jié)構(gòu)利用率。在步驟320中,確定1/0網(wǎng)絡(luò)路徑的最小結(jié)構(gòu)利用率。然后,過程進(jìn)入步驟322,其中確定是否存在一個(gè)以上的I/O網(wǎng)絡(luò)路徑具有最小結(jié)構(gòu)利用率。如果答案是否定的,即僅一個(gè)路徑,則過程進(jìn)入步驟326。步驟326從步驟310、步驟316或步驟322接收正好一個(gè)網(wǎng)絡(luò)路徑。在步驟326中,該I/O網(wǎng)絡(luò)路徑被標(biāo)識為"最佳路徑"。步驟326在330結(jié)束。如果在步驟322中的確定結(jié)果是存在一個(gè)以上的網(wǎng)絡(luò)路徑具有最小結(jié)構(gòu)利用率,則過程進(jìn)入步驟324,其中所謂的第一網(wǎng)絡(luò)路徑被選擇。在本發(fā)明的一個(gè)實(shí)施例中,步驟322中所確定的所有網(wǎng)絡(luò)路徑被存儲在列表中。于是,所謂的第一網(wǎng)絡(luò)路徑是作為列表中第一元素的I/O網(wǎng)絡(luò)路徑。本發(fā)明的一個(gè)可替換實(shí)施例是選擇列表中最后一個(gè)I/O網(wǎng)絡(luò)路徑。步驟324進(jìn)入終點(diǎn)。在本發(fā)明的一個(gè)實(shí)施例中,僅步驟302到310、以及步驟326或步驟399被執(zhí)行。如果步驟310中所確定的路徑的數(shù)目大于1,則例如隨機(jī)地選擇一個(gè)路徑,且方法在步驟326以"最佳路徑"結(jié)束。<table>tableseeoriginaldocumentpage23</column></row><table><table>tableseeoriginaldocumentpage24</column></row><table><table>tableseeoriginaldocumentpage25</column></row><table>權(quán)利要求1.一種用于從一組I/O網(wǎng)絡(luò)路徑中識別輸入/輸出(I/O)網(wǎng)絡(luò)路徑(170)的負(fù)載平衡方法(106),其中所述一組I/O網(wǎng)絡(luò)路徑將主機(jī)系統(tǒng)(102)經(jīng)網(wǎng)絡(luò)(112)連接至存儲子系統(tǒng)(149),所述主機(jī)系統(tǒng)(102)包括至少一個(gè)主機(jī)總線適配器(HBA)(110,111),所述存儲子系統(tǒng)(149)包括至少一個(gè)I/O設(shè)備(120,121,125,126),所述網(wǎng)絡(luò)(112)包括至少一個(gè)網(wǎng)絡(luò)設(shè)備(113,114,115),每個(gè)所述HBA(110,111)、每個(gè)所述I/O設(shè)備(120,121,125,126)和每個(gè)所述網(wǎng)絡(luò)設(shè)備(113,114,115)包括至少一個(gè)I/O端口(130,131,132,133,134,140,141,142,143,144,145,150,151,152,153,160,161,162),所述方法包括a)為所述至少一個(gè)HBA(110,111)的所述至少一個(gè)I/O端口(160,161,162)中的每一個(gè)確定HBA端口極限(180);b)確定將所述至少一個(gè)HBA(110,111)中每一個(gè)的所述至少一個(gè)I/O端口(160,161,162)經(jīng)所述至少一個(gè)網(wǎng)絡(luò)設(shè)備(113,114,115)的I/O端口(130,131,132,133,134,140,141,142,143,144,145)連接至所述至少一個(gè)I/O設(shè)備(120,121,125,126)中每一個(gè)的所述至少一個(gè)I/O端口(150,151,152,153)的所述一組I/O網(wǎng)絡(luò)路徑;c)為每個(gè)I/O網(wǎng)絡(luò)路徑確定結(jié)構(gòu)利用率極限(186);d)為所述至少一個(gè)HBA(110,111)的所述至少一個(gè)I/O端口(160,161,162)中的每一個(gè)確定HBA端口利用率(182);e)丟棄HBA端口利用率(182)大于HBA端口極限(180)的所有網(wǎng)絡(luò)路徑;f)為每個(gè)剩余網(wǎng)絡(luò)路徑確定網(wǎng)絡(luò)路徑距離(184);g)丟棄網(wǎng)絡(luò)路徑距離(184)大于路徑距離極限(185)的所有網(wǎng)絡(luò)路徑;h)為每個(gè)剩余網(wǎng)絡(luò)路徑確定結(jié)構(gòu)利用率(188);i)丟棄結(jié)構(gòu)利用率(188)大于結(jié)構(gòu)利用率極限(186)的所有網(wǎng)絡(luò)路徑;j)從剩余網(wǎng)絡(luò)路徑中確定I/O網(wǎng)絡(luò)路徑(170)。2.如權(quán)利要求l所述的方法,其中在步驟a)中,用所述至少一個(gè)HBA(llO,111)的所述至少一個(gè)I/0端口(160,161,162)中每一個(gè)可并行服務(wù)的1/0設(shè)備的數(shù)目,為所述至少一個(gè)HBA(llO,111)中每一個(gè)的所述至少一個(gè)I/0端口(160,161,162)中每一個(gè)確定HBA端口極限(180)。3.如權(quán)利要求1所述的方法,其中在步驟a)中,用HBA(110,111)的I/0端口(160,161,162)可處理的最大數(shù)目的每秒比特,為所迷至少一個(gè)HBA(110,111)中每一個(gè)的所述至少一個(gè)I/0端口(160,161,162)中每一個(gè)確定HBA端口極限(180)。4.如前述權(quán)利要求中任一項(xiàng)所述的方法,其中在步驟d)中,用分配給HBA的1/0端口的工作負(fù)荷來確定所述HBA(110,111)的所述I/0端口(160,161,162)的HBA端口利用率(182)。5.如前述權(quán)利要求中任一項(xiàng)所述的方法,其中在步驟d)中,利用驅(qū)動器負(fù)擔(dān)(194)確定HBA端口利用率(182),其中所述驅(qū)動器負(fù)擔(dān)(194)被分配給I/0設(shè)備,并且所述驅(qū)動器負(fù)擔(dān)(194)表示分配給I/O設(shè)備的工作負(fù)荷。6.如前述權(quán)利要求中任一項(xiàng)所述的方法,其中在步驟d)中,利用驅(qū)動器負(fù)擔(dān)(194)確定HBA端口利用率(182),其中所迷驅(qū)動器負(fù)擔(dān)由分配給I/O設(shè)備的工作負(fù)荷確定,用壓縮比(192)調(diào)整所述驅(qū)動器負(fù)擔(dān)(194),且從所述I/0設(shè)備獲取所述壓縮比。7.如前述權(quán)利要求中任一項(xiàng)所述的方法,其中在步驟f)中,I/O網(wǎng)絡(luò)路徑中I/O端口的數(shù)目來確定每個(gè)剩余網(wǎng)絡(luò)路徑的網(wǎng)絡(luò)路徑距離(184)。8.如前述權(quán)利要求中任一項(xiàng)所述的方法,其中在步驟h)中,通過加和經(jīng)過包括在網(wǎng)絡(luò)路徑中的所述至少一個(gè)網(wǎng)絡(luò)設(shè)備的I/O端口的數(shù)據(jù)率來確定結(jié)構(gòu)利用率(188)。9.如前述權(quán)利要求中任一項(xiàng)所述的方法,其中在步驟h)中,網(wǎng)絡(luò)路徑的結(jié)構(gòu)利用率(188)用包括在所述網(wǎng)絡(luò)路徑中的活動I/O端口的數(shù)目與包括在所述網(wǎng)絡(luò)路徑中的I/O端口的總數(shù)目的比率來確定。10.如前述權(quán)利要求中任一項(xiàng)所述的方法,其中在步驟j)中,I/O網(wǎng)絡(luò)路徑(170)是考慮HBA端口利用率(182)、網(wǎng)絡(luò)路徑距離11.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可執(zhí)行指令以執(zhí)行按照前述權(quán)利要求中任一項(xiàng)的方法。12.—種用于從一組將主機(jī)系統(tǒng)(102)經(jīng)網(wǎng)絡(luò)(112)連接到存儲子系統(tǒng)(149)的I/O網(wǎng)絡(luò)路徑中識別輸入/輸出(I/O)網(wǎng)絡(luò)路徑(170)的負(fù)載平衡系統(tǒng)(106),所述主機(jī)系統(tǒng)(102)包括至少一個(gè)主機(jī)總線適配器(HBA)(110,111),所述存儲子系統(tǒng)(149)包括至少一個(gè)I/O設(shè)備(120,121,125,126),所述網(wǎng)絡(luò)(112)包括至少一個(gè)網(wǎng)絡(luò)設(shè)備(113,114,115),每個(gè)所述HBA(110,111)、每個(gè)所述I/Oi殳備(120,121,125,126)、和每個(gè)所述網(wǎng)絡(luò)i史備(113,114,115)包括至少一個(gè)I/0端口(130,131,132,133,134,140,141,142,143,144,145,150,151,152,153,160,161,162),所述系統(tǒng)包括a)用于為所述至少一個(gè)HBA(110,111)中每一個(gè)的所述至少一個(gè)I/0端口(160,161,162)中每一個(gè)確定HBA端口極限(180)的裝置;b)用于確定將所述至少一個(gè)HBA(110,111)中每一個(gè)的所迷至少一個(gè)I/0端口(160,161,162)經(jīng)所述至少一個(gè)網(wǎng)絡(luò)設(shè)備(113,114,115)的I/0端口(130,131,132,133,134,140,141,142,143,144,145)連接至所述至少一個(gè)1/0設(shè)備(120,121,125,126)中每一個(gè)的所述至少一個(gè)I/O端口(150,151,152,153,154)的所述一組I/O網(wǎng)絡(luò)路徑的裝置;c)用于為每個(gè)I/O網(wǎng)絡(luò)路徑確定結(jié)構(gòu)利用率極限(186)的裝置;d)用于為所述至少一個(gè)HBA(110,111)的所述至少一個(gè)I/0端口(160,161,162)中每一個(gè)確定HBA端口利用率(182)的裝e)用于丟棄HBA利用率(182)大于HBA端口極限(180)的所有網(wǎng)絡(luò)路徑的裝置;f)用于為每個(gè)剩余網(wǎng)絡(luò)路徑確定網(wǎng)絡(luò)路徑距離(184)的裝置;g)用于丟棄網(wǎng)絡(luò)路徑距離(184)大于路徑距離極限(185)的所有網(wǎng)絡(luò)路徑的裝置;h)用于為每個(gè)剩余網(wǎng)絡(luò)路徑確定結(jié)構(gòu)利用率(188)的裝置;i)用于丟棄結(jié)構(gòu)利用率(188)大于結(jié)構(gòu)利用率極限(186)的所有網(wǎng)絡(luò)路徑的裝置;j)用于從剩余網(wǎng)絡(luò)路徑中確定1/0網(wǎng)絡(luò)路徑(170)的裝置。13.如權(quán)利要求12所述的系統(tǒng),其中在步驟a)中,用所述至少一個(gè)HBA(llO,111)的所述至少一個(gè)I/0端口(160,161,162)中每一個(gè)可并行服務(wù)的1/0設(shè)備的數(shù)目,為所述至少一個(gè)HBA(110,111)中每一個(gè)的所述至少一個(gè)I/O端口(160,161,162)中每一個(gè)確定HBA端口極限(180)。14.如權(quán)利要求12所述的系統(tǒng),其中在步驟a)中,用HBA(110,111)的I/0端口(160,161,162)可處理的最大數(shù)目的每秒比特,為所述至少一個(gè)HBA(110,111)中每一個(gè)的所述至少一個(gè)I/O端口(160,161,162)的每一個(gè)確定HBA端口極限(180)。15.如權(quán)利要求12到14中任一項(xiàng)所述的系統(tǒng),其中在步驟d)中,用分配給HBA的I/0端口的工作負(fù)荷確定所述HBA(110,111)的所述I/0端口(160,161,162)的HBA端口利用率(182)。16.如權(quán)利要求12到15中任一項(xiàng)所述的系統(tǒng),其中在步驟d)中,利用驅(qū)動器負(fù)擔(dān)(194)確定HBA端口利用率(182),其中所述驅(qū)動器負(fù)擔(dān)(194)被分配給I/O設(shè)備,并且所述驅(qū)動器負(fù)擔(dān)(194)表示分配給所述I/O設(shè)備的工作負(fù)荷。17.如權(quán)利要求12到16中任一項(xiàng)所述的系統(tǒng),其中在步驟d)中,利用驅(qū)動器負(fù)擔(dān)(194)確定HBA端口利用率(182),其中用分配給I/O設(shè)備的工作負(fù)荷確定所述驅(qū)動負(fù)擔(dān),用壓縮比(192)調(diào)整所述驅(qū)動器負(fù)擔(dān)(194),且從所述I/O設(shè)備獲取所述壓縮比(192)。18.如權(quán)利要求12到17中任一項(xiàng)所述的系統(tǒng),其中在步驟f)中,通過加和包括在1/0網(wǎng)絡(luò)路徑中的所有互連的等待時(shí)間并加上包括在I/O網(wǎng)絡(luò)路徑中的1/0端口的數(shù)目來確定每個(gè)剩余網(wǎng)絡(luò)路徑的網(wǎng)絡(luò)路徑距離(184)。19.如權(quán)利要求12到18中任一項(xiàng)所述的系統(tǒng),其中在步驟h)中,通過加和經(jīng)過包括在網(wǎng)絡(luò)路徑中的至少一個(gè)網(wǎng)絡(luò)設(shè)備的1/0端口的數(shù)據(jù)率來確定結(jié)構(gòu)利用率(188)。20.如權(quán)利要求12到19中任一項(xiàng)所述的系統(tǒng),其中在步驟h)中,用包括在所述網(wǎng)絡(luò)路徑中的活動I/O端口的數(shù)目與包括在所述網(wǎng)絡(luò)路徑中的I/O端口的總數(shù)目的比率確定網(wǎng)絡(luò)路徑的結(jié)構(gòu)利用率(188)。全文摘要本發(fā)明提供了一種用于從一組I/O網(wǎng)絡(luò)路徑中識別輸入/輸出(I/O)網(wǎng)絡(luò)路徑的負(fù)載平衡方法。該組I/O網(wǎng)絡(luò)路徑將主機(jī)系統(tǒng)經(jīng)網(wǎng)絡(luò)連接至存儲子系統(tǒng)。主機(jī)系統(tǒng)包括至少一個(gè)主機(jī)總線適配器(HBA),存儲子系統(tǒng)包括至少一個(gè)I/O設(shè)備,網(wǎng)絡(luò)包括至少一個(gè)網(wǎng)絡(luò)設(shè)備。HBA、I/O設(shè)備和網(wǎng)絡(luò)設(shè)備中每一個(gè)包括至少一個(gè)I/O端口。對于每個(gè)HBA的每個(gè)I/O端口,確定HBA端口極限。此外,識別將每個(gè)HBA的I/O端口經(jīng)網(wǎng)絡(luò)設(shè)備的I/O端口連接至I/O設(shè)備的I/O端口的一組I/O網(wǎng)絡(luò)路徑。然后,為每個(gè)I/O網(wǎng)絡(luò)路徑確定結(jié)構(gòu)利用率極限,并為該至少一個(gè)HBA的每個(gè)I/O端口確定HBA端口利用率。丟棄HBA端口利用率大于HBA端口極限的所有網(wǎng)絡(luò)路徑。為每個(gè)剩余網(wǎng)絡(luò)路徑確定網(wǎng)絡(luò)路徑距離。丟棄網(wǎng)絡(luò)路徑距離大于路徑距離極限的所有I/O網(wǎng)絡(luò)路徑。然后為每個(gè)剩余網(wǎng)絡(luò)路徑確定結(jié)構(gòu)利用率。丟棄結(jié)構(gòu)利用率大于結(jié)構(gòu)利用率極限的所有I/O網(wǎng)絡(luò)路徑。從剩余網(wǎng)絡(luò)路徑中確定I/O網(wǎng)絡(luò)路徑。文檔編號H04L29/06GK101258725SQ200680032533公開日2008年9月3日申請日期2006年7月13日優(yōu)先權(quán)日2005年9月8日發(fā)明者N·豪斯汀,U·特彭斯,W·穆勒申請人:國際商業(yè)機(jī)器公司