專利名稱:iSCSI的服務(wù)質(zhì)量的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及服務(wù)質(zhì)量,尤其涉及網(wǎng)絡(luò)存儲系統(tǒng)中的服務(wù)質(zhì)量。
背景技術(shù):
服務(wù)質(zhì)量(QoS)在廣義上是指為所選擇的網(wǎng)絡(luò)業(yè)務(wù)(traffic)提供更佳服務(wù)的網(wǎng)絡(luò)能力。QoS可以由多種基本性能標(biāo)準(zhǔn)來表征,包括可用性,誤差性能,響應(yīng)時間,由于網(wǎng)絡(luò)擁塞引起的業(yè)務(wù)丟失或傳輸質(zhì)量差,等等。
雖然網(wǎng)絡(luò)的QoS是一個相當(dāng)發(fā)展的領(lǐng)域,網(wǎng)絡(luò)存儲系統(tǒng)成為尚未由現(xiàn)有技術(shù)的QoS協(xié)議和技術(shù)解決的特殊問題。舉例來說,在因特網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)中,大部分的繁忙業(yè)務(wù)都是從服務(wù)器到客戶端。典型的,業(yè)務(wù)可能是從服務(wù)器到客戶端的下載的形式。因此,現(xiàn)有技術(shù)的QoS技術(shù)被設(shè)計(jì)用于解決從服務(wù)器到客戶端的單向業(yè)務(wù)。
然而,在網(wǎng)絡(luò)存儲中,繁忙業(yè)務(wù)可能是雙向的,如,或者讀活動或者寫活動。讀活動可能產(chǎn)生從存儲服務(wù)器到客戶端的繁忙業(yè)務(wù)。相反,寫活動可能產(chǎn)生從客戶端到存儲服務(wù)器的繁忙業(yè)務(wù)?,F(xiàn)有技術(shù)的QoS技術(shù)并不具備解決雙向業(yè)務(wù)的能力。
另一個網(wǎng)絡(luò)存儲問題是非遵從(non-compliant)客戶端。在IP網(wǎng)絡(luò)業(yè)務(wù)中,來自客戶端的大部分業(yè)務(wù)相比來自服務(wù)器的業(yè)務(wù)是可以忽略的。因此,由與服務(wù)水平協(xié)定不一致的客戶端引起的損害通常是無關(guān)緊要的。因此,現(xiàn)有技術(shù)的QoS技術(shù)并沒有解決非遵從客戶端的問題。相反,在網(wǎng)絡(luò)存儲系統(tǒng)中,非遵從客戶端可能發(fā)起大量的繁忙業(yè)務(wù)活動,如讀或?qū)憯?shù)據(jù)。在用于網(wǎng)絡(luò)存儲的QoS中,因此需要跟蹤和容納非遵從客戶端的業(yè)務(wù)?,F(xiàn)有技術(shù)的QoS技術(shù)目前還不能滿足這種需要。
以上只是現(xiàn)有技術(shù)的QoS技術(shù)不能解決網(wǎng)絡(luò)存儲系統(tǒng)的QoS問題的兩個實(shí)例。因此需要提供能夠解決網(wǎng)絡(luò)存儲系統(tǒng)的獨(dú)特問題的QoS技術(shù)。
發(fā)明內(nèi)容
因特網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口(iSCSI)協(xié)議能夠通過傳輸控制協(xié)議(TCP)傳輸小型計(jì)算機(jī)系統(tǒng)接口(SCSI)協(xié)議。iSCSI業(yè)務(wù)通常是駐留于分離的網(wǎng)絡(luò)節(jié)點(diǎn)上的發(fā)起者和目標(biāo)之間的雙向業(yè)務(wù)(traffic)。iSCSI業(yè)務(wù)利用共享網(wǎng)絡(luò)和輸入/輸出(I/O)資源,因此很容易擁塞。
本發(fā)明的一個目的是提供用于從其它網(wǎng)絡(luò)業(yè)務(wù)中區(qū)分iSCSI業(yè)務(wù)的QoS技術(shù)和協(xié)議。類似地,本發(fā)明的另一目的是提供對iSCSI業(yè)務(wù)的不同實(shí)例(例如,來自不同發(fā)起者的業(yè)務(wù)和通往不同邏輯單元(LU)的業(yè)務(wù))進(jìn)行區(qū)分并劃分優(yōu)先等級的QoS技術(shù)和協(xié)議。
本發(fā)明的一個優(yōu)選實(shí)施例可以為iSCSI提供端對端QoS。本發(fā)明的QoS技術(shù)和協(xié)議可以沿從發(fā)起者到目標(biāo)以及從目標(biāo)到發(fā)起者的流路徑對多種資源提供控制和管理。
本發(fā)明的一些實(shí)施例可將iSCSI業(yè)務(wù)局限于網(wǎng)絡(luò)帶寬的某個部分,由此允許其它業(yè)務(wù)有充分的服務(wù)質(zhì)量。
根據(jù)本發(fā)明的一個方面,提供一種適合于為iSCSI環(huán)境提供服務(wù)質(zhì)量的發(fā)起者。該發(fā)起者包括iSCSI發(fā)起者和TCP層。iSCSI發(fā)起者包括用于根據(jù)QoS策略為一個或多個PDU進(jìn)行整形的QoS整形器。TCP層從iSCSI發(fā)起者接收PDU,并包括用于根據(jù)QoS策略對PDU進(jìn)行標(biāo)記的QoS標(biāo)記器。
優(yōu)選QoS策略包括用于網(wǎng)絡(luò)資源的策略和用于I/O資源的策略。
在可選實(shí)施例中,PDU為命令PDU。在此情況下,整形器在接收命令序號(sequence number)之前對命令PDU進(jìn)行整形。
在其它可選實(shí)施例中,PDU是數(shù)據(jù)PDU和命令PDU。數(shù)據(jù)PDU和命令PDU于在TCP層中被接收之前被整形。
本實(shí)施例也可在TCP層中包含第二整形器。第二整形器對除iSCSI之外的應(yīng)用的網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行整形。
根據(jù)本發(fā)明的另一方面,提供一種適合于為iSCSI環(huán)境提供服務(wù)質(zhì)量的目標(biāo)。該目標(biāo)包括第一和第二QoS組件(component)。
第一QoS組件在iSCSI目標(biāo)中并且處理I/O資源。第一QoS組件根據(jù)QoS策略對讀命令和寫命令進(jìn)行整形。因此,第一QoS組件為來自非遵從發(fā)起者的業(yè)務(wù)提供QoS。
第二QoS組件在TCP層中并且處理網(wǎng)絡(luò)資源。iSCSI PDU根據(jù)iSCSI的QoS策略被整形和標(biāo)記。
作為選擇,目標(biāo)提供對多個邏輯單元(LU)的接入。每一個LU都具有多個任務(wù)集,而且每一個任務(wù)集都具有一個相關(guān)的服務(wù)等級。在一些實(shí)施例中,有兩個或更多的相關(guān)服務(wù)等級是相同的。在可選實(shí)施例中,有兩個或更多的相關(guān)服務(wù)等級彼此不同。
根據(jù)本發(fā)明的另一方面,由此提供一種適合于為iSCSI環(huán)境提供服務(wù)質(zhì)量(QoS)的系統(tǒng)。該系統(tǒng)包括一個或多個發(fā)起者以及一個或多個目標(biāo)。在一些實(shí)施例中,該系統(tǒng)還包括服務(wù)水平協(xié)定(SLA)代理。代理與發(fā)起者和目標(biāo)通信,并為發(fā)起者和目標(biāo)提供QoS策略。
在可選實(shí)施例中,發(fā)起者所使用的QoS策略不同于目標(biāo)中所使用的QoS策略。另外,發(fā)起者和目標(biāo)對于每個iSCSI會話的多種服務(wù)等級可以支持多種獨(dú)立的連接。
根據(jù)本發(fā)明的另一方面,提供一種適合于iSCSI環(huán)境的QoS系統(tǒng)。該QoS系統(tǒng)包括多個過濾器規(guī)范(specification)屬性。這些過濾器規(guī)范屬性中的一個或多個適合于反映iSCSI業(yè)務(wù)類型。
在一些實(shí)施例中,過濾器規(guī)范屬性包括TCP四元組(four-tuple),iSCSI會話ID,LUN,發(fā)起者用戶id和/或應(yīng)用識別屬性。作為選擇,過濾器規(guī)范屬性適合于為網(wǎng)絡(luò)資源和I/O資源提供QoS。
通常,過濾器規(guī)范屬性被一個或多個發(fā)起者以及一個或多個目標(biāo)使用。在一些情況下,發(fā)起者所使用的過濾器規(guī)范屬性不同于目標(biāo)所使用的過濾器規(guī)范屬性。
根據(jù)本發(fā)明的另一方面,提供適合于iSCSI環(huán)境的另一種QoS系統(tǒng)。該QoS系統(tǒng)包括多個流規(guī)范參數(shù)。這些流規(guī)范參數(shù)中的一個或多個適合于iSCSI業(yè)務(wù)類型。
在一些實(shí)施例中,流規(guī)范參數(shù)包括I/O率(I/O rate),字節(jié)率和/或I/O流超過量。作為選擇,流規(guī)范參數(shù)適合于為網(wǎng)絡(luò)資源和I/O資源提供QoS。
通常,流規(guī)范參數(shù)被一個或多個發(fā)起者以及一個或多個目標(biāo)使用。在一些情況下,發(fā)起者所使用的流規(guī)范參數(shù)不同于目標(biāo)所使用的流規(guī)范參數(shù)。
根據(jù)本發(fā)明的另一方面,提供適合于iSCSI環(huán)境的另一種QoS系統(tǒng)。該QoS系統(tǒng)包括整形器,標(biāo)記器以及第一目標(biāo)QoS組件。
整形器在iSCSI發(fā)起者中并根據(jù)QoS策略對一個或多個PDU進(jìn)行整形。標(biāo)記器在發(fā)起者的TCP層中并從iSCSI發(fā)起者接收PDU。標(biāo)記器還根據(jù)QoS策略對PDU進(jìn)行標(biāo)記。第一目標(biāo)QoS組件在iSCSI目標(biāo)中。第一目標(biāo)QoS組件接收從PDU中提取出的一個或多個命令,并根據(jù)QoS策略對命令進(jìn)行整形。
在一些實(shí)施例中,第一目標(biāo)QoS組件處理I/O資源。作為選擇,該系統(tǒng)還在TCP層包括第二目標(biāo)QoS組件。第二目標(biāo)QoS組件處理網(wǎng)絡(luò)資源。iSCSI PDU根據(jù)用于iSCSI的QoS策略來整形和標(biāo)記。
根據(jù)本發(fā)明的另一方面,提供一種用于為iSCSI環(huán)境提供QoS的方法。該方法包括根據(jù)QoS策略對iSCSI發(fā)起者中的一個或多個PDU進(jìn)行整形。該方法還包括根據(jù)QoS策略對發(fā)起者的TCP層中的PDU進(jìn)行標(biāo)記。當(dāng)PDU為命令PDU時,該方法包括在為命令PDU分配命令序號之前對命令PDU進(jìn)行整形。命令PDU的整形通常根據(jù)用于I/O資源的QoS策略進(jìn)行。
在一些實(shí)施例中,命令PDU是包含立即數(shù)據(jù)(immediate data)的寫命令PDU。寫命令PDU是根據(jù)用于網(wǎng)絡(luò)資源的QoS策略以及根據(jù)用于I/O資源的QoS策略進(jìn)行整形的。
在可選實(shí)施例中,PDU是數(shù)據(jù)PDU和命令PDU。iSCSI發(fā)起者中的數(shù)據(jù)PDU和命令PDU的整形發(fā)生在將數(shù)據(jù)PDU和命令PDU發(fā)送給TCP層之前。當(dāng)PDU是數(shù)據(jù)PDU時,根據(jù)用于網(wǎng)絡(luò)資源的QoS策略對數(shù)據(jù)PDU進(jìn)行整形。
作為選擇,該方法包括通過IP網(wǎng)絡(luò)向目標(biāo)發(fā)送PDU。讀命令和寫命令從PDU中被提取,并在iSCSI目標(biāo)中,根據(jù)用于I/O資源的QoS策略被整形,從而為非遵從業(yè)務(wù)提供QoS。
根據(jù)本發(fā)明的另一方面,提供一種為iSCSI環(huán)境提供QoS的附加方法。該方法包括在iSCSI目標(biāo)處接收來自一個或多個LU的數(shù)據(jù)并根據(jù)用于iSCSI的QoS策略對QoS組件中的數(shù)據(jù)進(jìn)行整形和標(biāo)記。該QoS策略為用于網(wǎng)絡(luò)資源的策略。
根據(jù)本發(fā)明的另一方面,提供一種為iSCSI環(huán)境提供服務(wù)質(zhì)量的系統(tǒng)。該系統(tǒng)包括用于根據(jù)QoS策略對iSCSI發(fā)起者中的一個或多個PDU進(jìn)行整形的裝置。該系統(tǒng)還包括用于根據(jù)QoS策略在發(fā)起者的TCP層對整形的PDU進(jìn)行標(biāo)記的裝置。
根據(jù)本發(fā)明的另一方面,提供一種包含在計(jì)算機(jī)可讀介質(zhì)軟件中的計(jì)算機(jī)程序。該計(jì)算機(jī)程序包括用于根據(jù)QoS策略對iSCSI發(fā)起者中的一個或多個PDU進(jìn)行整形的第一程序段。用于根據(jù)QoS策略在發(fā)起者的TCP層中對整形的PDU進(jìn)行標(biāo)記的第二程序段。
在可選實(shí)施例中,該程序包括用于通過IP網(wǎng)絡(luò)在目標(biāo)處接收PDU的第三程序段。第四程序段用于根據(jù)QoS策略在iSCSI目標(biāo)對讀命令和寫命令進(jìn)行整形,從而為非遵從業(yè)務(wù)提供QoS。
下面參考附圖,通過舉例描述本發(fā)明的實(shí)施例,其中圖1是根據(jù)本發(fā)明的一個實(shí)施例構(gòu)成和操作的,用于網(wǎng)絡(luò)存儲系統(tǒng)的服務(wù)質(zhì)量(QoS)體系結(jié)構(gòu)和系統(tǒng)的方框圖;圖2A是根據(jù)本發(fā)明的一個實(shí)施例構(gòu)成和操作的,發(fā)起者和目標(biāo)之間的會話的框圖,以及示意從發(fā)起者到目標(biāo)的命令協(xié)議數(shù)據(jù)單元(PDU)的業(yè)務(wù)流的框圖;
圖2B是根據(jù)本發(fā)明的一個實(shí)施例構(gòu)成和操作的,發(fā)起者和目標(biāo)之間的會話框圖,以及示意從發(fā)起者到目標(biāo)的數(shù)據(jù)PDU的業(yè)務(wù)流的框圖;圖3是根據(jù)本發(fā)明的一個實(shí)施例構(gòu)成和操作的,發(fā)起者和目標(biāo)之間的會話框圖,以及示意從目標(biāo)到發(fā)起者的數(shù)據(jù)PDU的業(yè)務(wù)流的框圖。
具體實(shí)施例方式
術(shù)語匯編●服務(wù)等級(CoS)通過在具有給定級別的服務(wù)優(yōu)選級的等級中組合相似類型的業(yè)務(wù),在諸如網(wǎng)絡(luò)中管理業(yè)務(wù)的方法。等級是通過一組與業(yè)務(wù)域有關(guān)的屬性確定的(參見過濾器規(guī)范)。該術(shù)語還用于指一種特定的服務(wù)等級。
●命令描述符塊(CDB)包含SCSI命令和其屬性的數(shù)據(jù)結(jié)構(gòu)。CDB在命令PDU中從iSCSI發(fā)起者被發(fā)送到iSCSI目標(biāo)。CDB是在SCSI體系結(jié)構(gòu)中定義的。
●命令PDU包含SCSI命令的細(xì)節(jié)(特別是CDB)的iSCSI協(xié)議中的PDU。命令PDU還可包含立即數(shù)據(jù)輸出。
●命令序號通過iSCSI協(xié)議與SCSI命令相關(guān)的數(shù)值。序號由iSCSI發(fā)起者分配并在命令PDU的字段中傳送。命令序號是整個會話范圍內(nèi)的,并用于穿越會話的所有連接,連續(xù)地按次序地傳送目標(biāo)處的命令。需要iSCSI目標(biāo),以便以命令序號的連續(xù)順序向SCSI執(zhí)行引擎?zhèn)魉兔睢?br>
●連接發(fā)起者節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)之間的TCP連接。每個連接都屬于一個會話。在一個會話中可以有多個連接。在iSCSI協(xié)議中每個連接具有唯一的id。一個連接也可以通過本地TCP端口號在每一端識別。每個連接與單個服務(wù)等級相關(guān)聯(lián)。可以使用多個連接來支持一個會話中的多個服務(wù)等級。
●連接結(jié)合(allegiance)在雙方向上,通過同一連接發(fā)送單個SCSI命令的所有PDU的iSCSI需求。這包括命令PDU,數(shù)據(jù)PDU,響應(yīng)及控制PDU。
●數(shù)據(jù)輸入從目標(biāo)向發(fā)起者發(fā)送的作為SCSI讀命令的協(xié)議的一部分的數(shù)據(jù)。
●數(shù)據(jù)輸出從發(fā)起者向目標(biāo)發(fā)送的作為SCSI寫命令的協(xié)議的一部分的數(shù)據(jù)。數(shù)據(jù)輸出可以由目標(biāo)請求,或者不經(jīng)請求,主動提供。
●數(shù)據(jù)PDU在iSCSI協(xié)議中包含數(shù)據(jù)輸入或數(shù)據(jù)輸出的PDU。
●區(qū)別業(yè)務(wù)(DiffServ)根據(jù)業(yè)務(wù)分類,用于在因特網(wǎng)中實(shí)現(xiàn)可縮放的業(yè)務(wù)區(qū)別的標(biāo)準(zhǔn)(RFC 2474)。DiffServ是由因特網(wǎng)工程任務(wù)組(IETF)的網(wǎng)絡(luò)工作組定義的。
●過濾器規(guī)范在確定業(yè)務(wù)的服務(wù)等級時使用的一組屬性。過濾器規(guī)范屬性的例子可包括TCP四元組,LUN,會話id,等等。
●流(flow)可由DiffServ體系結(jié)構(gòu)區(qū)分的業(yè)務(wù)流的最細(xì)粒度。
●流規(guī)范在描述流時使用的一組參數(shù)。流規(guī)范參數(shù)的例子可包括帶寬需求,可接受的最大延遲,損失率,等等。每種服務(wù)等級都有其自己的流規(guī)范。
●一般SCSI執(zhí)行引擎與確定的I/O資源無關(guān)的SCSI執(zhí)行引擎。執(zhí)行引擎可以訪問本地SCSI LU,或者充當(dāng)另一網(wǎng)絡(luò)的網(wǎng)關(guān),如存儲區(qū)網(wǎng)絡(luò)(SAN)。
●立即數(shù)據(jù)作為iSCSI寫命令PDU的一部分發(fā)送的數(shù)據(jù)輸出。其構(gòu)成不經(jīng)請求主動提供的數(shù)據(jù)的第一(或唯一)部分。立即數(shù)據(jù)具有在發(fā)起者和目標(biāo)之間可協(xié)商的最大尺寸。
●發(fā)起者*iSCSI協(xié)議中的客戶端。其向稱為目標(biāo)的服務(wù)器發(fā)送請求,以訪問邏輯單元中存儲的數(shù)據(jù)。該術(shù)語還可用于識別實(shí)現(xiàn)發(fā)起者功能的系統(tǒng)組件(驅(qū)動器)。該術(shù)語還指SCSI協(xié)議中的客戶端,以及實(shí)現(xiàn)該功能的系統(tǒng)組件(驅(qū)動器)。
●發(fā)起者節(jié)點(diǎn)*包含SCSI和/或iSCSI發(fā)起者的功能的網(wǎng)絡(luò)節(jié)點(diǎn)。
*在此應(yīng)指出,根據(jù)上下文,術(shù)語“發(fā)起者”一般是指iSCSI發(fā)起者,SCSI發(fā)起者或發(fā)起者節(jié)點(diǎn)。
●iSCSI因特網(wǎng)SCSI——SCSI協(xié)議在TCP傳輸上的映射。在iSCSI中,發(fā)起者和目標(biāo)駐留在獨(dú)立的網(wǎng)絡(luò)節(jié)點(diǎn),并經(jīng)由通過TCP傳輸?shù)腜DU通信。iSCSI是由因特網(wǎng)工程任務(wù)組(IETF)的因特網(wǎng)協(xié)議存儲(IPS)工作組定義的標(biāo)準(zhǔn)。
●I-T-L聯(lián)系(Nexus)特定發(fā)起者,特定目標(biāo)以及特定邏輯單元之間的關(guān)系,定義SCSI命令傳送的環(huán)境。該術(shù)語與任務(wù)集松散相關(guān)。
●邏輯單元(LU)在目標(biāo)可訪問的數(shù)據(jù)裝置,在該數(shù)據(jù)裝置上執(zhí)行iSCSI命令。每個目標(biāo)可以提供對多個邏輯單元的接入。每個邏輯單元可唯一識別。
●邏輯單元號(LUN)識別目標(biāo)處的每個邏輯單元的唯一號碼。該術(shù)語還用于指一個特定的邏輯單元。
●標(biāo)記根據(jù)定義的策略,在分組的IP頭部中設(shè)置TOS字節(jié)的過程。
●非遵從發(fā)起者生成非遵從業(yè)務(wù)的iSCSI發(fā)起者。
●非遵從業(yè)務(wù)不符合特定服務(wù)等級的流規(guī)范的業(yè)務(wù)。
●策略定義例如在網(wǎng)絡(luò)中,如何在用戶之間共享資源的形式語句集。
●協(xié)議數(shù)據(jù)單元(PDU)從發(fā)起者向目標(biāo)或者從目標(biāo)向發(fā)起者發(fā)送的消息,作為iSCSI協(xié)議的一部分。PDU包含命令、響應(yīng)、控制信息以及數(shù)據(jù)。
●SCSI小型計(jì)算機(jī)系統(tǒng)接口——用于與I/O裝置,特別是存儲裝置通信的協(xié)議族。SCSI是由國家信息技術(shù)標(biāo)準(zhǔn)委員會(NCITS)的T10技術(shù)委員會定義的標(biāo)準(zhǔn)。其提供了客戶端/服務(wù)器體系結(jié)構(gòu),其中客戶端(稱為發(fā)起者)向服務(wù)器(稱為目標(biāo))發(fā)送命令以執(zhí)行I/O業(yè)務(wù),如讀和寫數(shù)據(jù)。
●SCSI執(zhí)行引擎在目標(biāo)節(jié)點(diǎn)處的組件。SCSI執(zhí)行引擎負(fù)責(zé)從iSCSI目標(biāo)接收從命令PDU中提取的SCSI命令,并提交該命令用于執(zhí)行。
●服務(wù)水平協(xié)定(SLA)業(yè)務(wù)提供者和用戶之間的合約,通常以可測量條款,指定由業(yè)務(wù)提供者向用戶提供什么業(yè)務(wù)。
●服務(wù)水平協(xié)定(SLA)服務(wù)器在網(wǎng)絡(luò)上維護(hù)SLA并能夠?qū)⑺鼈冝D(zhuǎn)換為策略的節(jié)點(diǎn)。SLA服務(wù)器負(fù)責(zé)向其它網(wǎng)絡(luò)節(jié)點(diǎn)散布策略。
●會話在iSCSI協(xié)議中特定發(fā)起者和特定目標(biāo)之間的關(guān)聯(lián)。會話由一個或多個連接組成。會話向發(fā)起者提供在目標(biāo)可訪問的LU的集合的一致視圖。SCSI命令以在整個會話內(nèi)的序列順序,在目標(biāo)處傳送。每個會話具有一組屬性,這組屬性控制協(xié)議并且可以在發(fā)起者和目標(biāo)之間協(xié)商。每個會話由該會話的每一側(cè)的一個唯一標(biāo)識符識別。在每個發(fā)起者和目標(biāo)之間可有多個會話。
●整形在一個服務(wù)等級內(nèi)延遲業(yè)務(wù),以使其符合一個確定的流規(guī)范的過程。
●請求的數(shù)據(jù)(solicited data)響應(yīng)來自目標(biāo)的請求發(fā)送的數(shù)據(jù)輸出。請求是以從目標(biāo)發(fā)送(R2T)PDU的請求的形式。對于給定的寫命令可以有多個R2T,每個R2T請求數(shù)據(jù)的一個不同部分。R2T的數(shù)量和每個數(shù)據(jù)部分的尺寸由目標(biāo)確定。
●目標(biāo)**iSCSI協(xié)議中的服務(wù)器。其可以訪問LU的集合。目標(biāo)從客戶端(稱為發(fā)起者)接收請求。該術(shù)語還用于識別實(shí)現(xiàn)目標(biāo)功能的系統(tǒng)組件(驅(qū)動器)。該術(shù)語還指SCSI協(xié)議中的服務(wù)器以及實(shí)現(xiàn)該功能的系統(tǒng)組件(驅(qū)動器)。
●目標(biāo)節(jié)點(diǎn)**包含SCSI和/或iSCSI目標(biāo)的功能的網(wǎng)絡(luò)節(jié)點(diǎn)。
**在此應(yīng)指出,根據(jù)上下文,術(shù)語“目標(biāo)”通常是指iSCSI目標(biāo),SCSI目標(biāo)或目標(biāo)節(jié)點(diǎn)。
●任務(wù)從發(fā)起者發(fā)出的iSCSI請求,來自目標(biāo)的針對該請求的響應(yīng)待定。該術(shù)語還指在進(jìn)行中的SCSI命令或SCSI命令的鏈接列表,如SCSI體系結(jié)構(gòu)中所定義的那樣。
●任務(wù)集訪問同一個邏輯單元的任務(wù)的集合。根據(jù)在目標(biāo)的配置,對于每一個LU,存在包含來自所有發(fā)起者的任務(wù)的單個任務(wù)集,或者每個發(fā)起者的獨(dú)立任務(wù)集,后者對應(yīng)于I-T-L聯(lián)系。
●服務(wù)類型(TOS)字節(jié)當(dāng)按照DiffServ解釋時,IPv4頭部的“服務(wù)類型”八位字節(jié)字段,或IPv6的“業(yè)務(wù)等級”八位字節(jié)字段。
●不經(jīng)請求主動提供的數(shù)據(jù)(unsolicited data)不等待來自目標(biāo)的請求發(fā)送的數(shù)據(jù)輸出。不經(jīng)請求主動提供的數(shù)據(jù)具有可協(xié)商的最大尺寸,并且在一個或多個PDU中發(fā)送。不經(jīng)請求主動提供的數(shù)據(jù)的第一部分可以是立即數(shù)據(jù)。
現(xiàn)在參照圖1,用于網(wǎng)絡(luò)存儲環(huán)境,如iSCSI環(huán)境的服務(wù)質(zhì)量(QoS)體系結(jié)構(gòu)和系統(tǒng)。QoS10可以提供用于iSCSI業(yè)務(wù)的端對端服務(wù)質(zhì)量的技術(shù)和協(xié)議。
為說明起見,應(yīng)指出,iSCSI能夠通過TCP傳輸SCSI協(xié)議。雖然本發(fā)明是在iSCSI環(huán)境中描述的,顯然本領(lǐng)域的技術(shù)人員知道,本發(fā)明可應(yīng)用于提供網(wǎng)絡(luò)存儲能力的其它技術(shù)或協(xié)議。
本發(fā)明的一個優(yōu)選實(shí)施例修改現(xiàn)有的網(wǎng)絡(luò)QoS技術(shù)以適用于iSCSI環(huán)境,然而,存在較大的方法差別。以下一些主要問題在現(xiàn)有技術(shù)的QoS系統(tǒng)中沒有得到解決,但是被QoS系統(tǒng)10解決1)用于iSCSI的端對端QoS涉及多種類型的資源,包括網(wǎng)絡(luò)資源和I/O資源。I/O資源可以是邏輯單元?,F(xiàn)有技術(shù)的QoS技術(shù)只解決了一種類型的資源,通常為網(wǎng)絡(luò)資源。
2)通過IP網(wǎng)絡(luò)傳輸SCSI業(yè)務(wù)對用于網(wǎng)絡(luò)的QoS造成了獨(dú)特的挑戰(zhàn),如a)嚴(yán)格的時間敏感性——由于SCSI性能需求,iSCSI業(yè)務(wù)通常比其它IP網(wǎng)絡(luò)業(yè)務(wù)對響應(yīng)時間更為敏感。通過網(wǎng)絡(luò)傳輸存儲業(yè)務(wù)可能引入額外的延遲,以及潛在的數(shù)據(jù)丟失,這些都會影響響應(yīng)時間;以及b)長時間的通信會話——網(wǎng)絡(luò)連接的典型使用都是短時間的。相反,iSCSI會話的連接意在時間更長;c)iSCSI業(yè)務(wù)是雙向的。在IP網(wǎng)絡(luò)中,通常大部分的繁忙業(yè)務(wù)是單向的,從服務(wù)器到客戶端。舉例來說,以從服務(wù)器到客戶端的下載形式。
現(xiàn)有技術(shù)的QoS技術(shù)沒有解決在2a),b)和c中列舉的獨(dú)特問題。
3)依賴于iSCSI協(xié)議的需求。在現(xiàn)有技術(shù)中,網(wǎng)絡(luò)QoS技術(shù)和協(xié)議是在TCP層中實(shí)現(xiàn)的。由于以下將要詳細(xì)說明的理由,由于有iSCSI需求,不可能在TCP層對iSCSI實(shí)現(xiàn)所有的QoS技術(shù)和協(xié)議。
4)iSCSI發(fā)起者可能與業(yè)務(wù)水平協(xié)定不一致。在iSCSI的分布式環(huán)境中,一些發(fā)起者可能與QoS策略不一致,或者甚至根本就沒有可實(shí)現(xiàn)的QoS。這些發(fā)起者可能使得目標(biāo)充滿命令PDU,引起目標(biāo)處的I/O擁塞。目標(biāo)應(yīng)具備QoS方法來防止這種情況的發(fā)生。在現(xiàn)有技術(shù)中,目的地并不跟蹤不一致源。
本發(fā)明的一個優(yōu)選實(shí)施例使DiffServ技術(shù)和協(xié)議適用于過濾器和流規(guī)范。本發(fā)明還另外識別新的過濾器規(guī)范屬性和新的流規(guī)范參數(shù)。
在一個優(yōu)選實(shí)施例中,多個QoS組件均處理一部分iSCSI業(yè)務(wù)。因此,每個QoS組件都可以沿著iSCSI業(yè)務(wù)的端對端路徑定位在一個不同資源,而且可以處理特定類型的業(yè)務(wù),如命令、數(shù)據(jù)輸入和數(shù)據(jù)輸出。
下面將詳細(xì)描述,QoS組件的布局可能受對于iSCSI的依賴性的影響。一些QoS活動可能發(fā)生在TCP層,而其它QoS活動可能發(fā)生在iSCSI組件中。
本領(lǐng)域的技術(shù)人員知道,本發(fā)明的QoS技術(shù)不同于所有業(yè)務(wù)都在TCP層中處理的現(xiàn)有技術(shù)的網(wǎng)絡(luò)QoS技術(shù)。
重新參考圖1,QoS系統(tǒng)10包括發(fā)起者節(jié)點(diǎn)20,目標(biāo)節(jié)點(diǎn)30和SLA服務(wù)器40。QoS10中的單元通過IP網(wǎng)絡(luò)46通信。盡管為了清晰起見,圖1只示意了一個發(fā)起者節(jié)點(diǎn)20和一個目標(biāo)節(jié)點(diǎn)30,但本領(lǐng)域的技術(shù)人員顯然知道,QoS10可以包括許多發(fā)起者節(jié)點(diǎn)20和許多目標(biāo)節(jié)點(diǎn)30,而且仍然落在本發(fā)明的原理之內(nèi)。SLA服務(wù)器40可以是與一個或多個發(fā)起者20以及一個或多個目標(biāo)30通信的分離的服務(wù)器。應(yīng)指出,SLA服務(wù)器在本領(lǐng)域中是已知的,因此在此不作進(jìn)一步說明。
發(fā)起者節(jié)點(diǎn)20可包括SCSI發(fā)起者組件22,iSCSI發(fā)起者組件24,QoS整形組件26,QoS標(biāo)記組件28以及TCP層32。目標(biāo)節(jié)點(diǎn)30可包括SCSI執(zhí)行引擎組件42,iSCSI目標(biāo)組件44,TCP層34以及QoS組件36和38。
會話可以在發(fā)起者節(jié)點(diǎn)20和目標(biāo)節(jié)點(diǎn)30之間建立。本領(lǐng)域的技術(shù)人員顯然知道,盡管在圖1中只示意了一個會話,但在每個發(fā)起者節(jié)點(diǎn)20和每個目標(biāo)節(jié)點(diǎn)30之間可以有多個會話,而且仍然落在本發(fā)明的真正的宗旨和原理之內(nèi)。
QoS10對兩種類型的資源使用QoS策略網(wǎng)絡(luò)和I/O。應(yīng)指出,發(fā)起者20處的整形組件26可以處理這兩種類型的資源。另外指出,QoS組件36和38均可處理一種類型的資源。QoS36處理網(wǎng)絡(luò)資源而QoS 38處理I/O資源。還應(yīng)指出,在發(fā)起者使用的QoS策略可以與在目標(biāo)使用的QoS策略系統(tǒng)相同或不同。
在一些優(yōu)選實(shí)施例中,SCSI執(zhí)行引擎42可以是一般性的。當(dāng)SCSI執(zhí)行引擎42是另一網(wǎng)絡(luò)的網(wǎng)關(guān)時,如存儲區(qū)網(wǎng)絡(luò)(SAN),SCSI網(wǎng)絡(luò)引擎42可以負(fù)責(zé)繼續(xù)執(zhí)行其它網(wǎng)絡(luò)中的QoS。
應(yīng)指出,在現(xiàn)有技術(shù)的實(shí)施例中,QoS整形和標(biāo)記都發(fā)生在TCP層。在本發(fā)明的優(yōu)選實(shí)施例中,在發(fā)起者節(jié)點(diǎn)處的整形可以從TCP移動到iSCSI發(fā)起者。在TCP之前執(zhí)行整形的目的是解決QoS策略和iSCSI協(xié)議需求之間的潛在的競態(tài)(race condition)條件,這將在之后進(jìn)行說明。然后在TCP中進(jìn)行標(biāo)記。
應(yīng)指出,在目標(biāo)節(jié)點(diǎn)沒有這種潛在的競態(tài)條件。因此,可以在TCP中同時進(jìn)行整形和標(biāo)記。
以下列出的附圖示意了SCSI業(yè)務(wù)流1)圖2A示意了發(fā)起者20和目標(biāo)30之間的會話。圖2A還示意了從發(fā)起者20到目標(biāo)30的SCSI讀/寫命令流。
2)圖2B示意了發(fā)起者20和目標(biāo)30之間的會話。圖2B還示意了從發(fā)起者20到目標(biāo)30的數(shù)據(jù)輸出PDU流。
3)圖3示意了發(fā)起者20和目標(biāo)30之間的會話。圖3還示意了從目標(biāo)30到發(fā)起者20的數(shù)據(jù)輸入PDU流。
從發(fā)起者20到目標(biāo)30的命令PDU的業(yè)務(wù)流現(xiàn)在參照圖2A,圖2A示意了發(fā)起者20和目標(biāo)30之間的會話,其上覆蓋了SCSI讀和寫命令的示例性業(yè)務(wù)流。
SCSI命令在SCSI發(fā)起者22中發(fā)起。這些命令然后可傳送(箭頭50)給iSCSI發(fā)起者24。iSCSI發(fā)起者24可將每個命令打包在PDU中,然后將命令PDU提交給QoS整形組件26用于整形。
應(yīng)指出,在本領(lǐng)域中已知的是,整形組件26在iSCSI,不在TCP。在TCP前在iSCSI中進(jìn)行整形的當(dāng)前目的是解決QoS策略和iSCSI協(xié)議需求之間的潛在競態(tài)條件,這將在以下進(jìn)行說明。
由iSCSI發(fā)起者24向TCP發(fā)送的命令PDU攜帶命令序號。命令序號用于通過同一會話的多個連接,連續(xù)地按次序傳送目標(biāo)30的命令。如果發(fā)起者處的整形將在TCP進(jìn)行,具有較低命令序號的命令PDU,在與低服務(wù)等級相關(guān)的連接上,將在TCP中被阻止。期間,具有較高序號的另一命令PDU可以通過具有快速服務(wù)等級的連接到達(dá)iSCSI目標(biāo)44。由于序號的順序,具有快速網(wǎng)絡(luò)服務(wù)等級的后一命令將在iSCSI目標(biāo)44被延遲,等待具有低網(wǎng)絡(luò)服務(wù)等級的前一命令。這種行為可能引起性能降級和使QoS的目的失效。
為了解決該潛在的競態(tài)條件,在發(fā)起者20的整形在分配命令序號之前進(jìn)行。在本發(fā)明的優(yōu)選實(shí)施例中,整形組件26被置于iSCSI發(fā)起者24內(nèi)。
在本發(fā)明中,根據(jù)用于I/O資源的QoS策略整形命令PDU。如果命令PDU也包含立即數(shù)據(jù),則根據(jù)用于網(wǎng)絡(luò)資源的QoS策略另外整形PDU。
iSCSI發(fā)起者24然后可發(fā)送(箭頭52)命令PDU給TCP層32。TCP層32然后可將業(yè)務(wù)發(fā)送(箭頭54)給QoS標(biāo)記組件28。
被標(biāo)記的業(yè)務(wù)可返回(箭頭56)給TCP層32。作為一種在本領(lǐng)域已知的處理,TCP層32可經(jīng)由IP網(wǎng)絡(luò)46將命令PDU發(fā)送(箭頭58)給目標(biāo)30。
目標(biāo)30的TCP層34然后可接收(箭頭60)目標(biāo)PDU。TCP層34可將命令PDU傳送(箭頭62)給iSCSI目標(biāo)44。iSCSI目標(biāo)44可提取出SCSI命令并將它們提交給QoS組件38用于整形。QoS組件38可在將命令傳送給SCSI執(zhí)行引擎之前對這些命令進(jìn)行整形。應(yīng)指出,盡管這些命令已經(jīng)通過QoS整形組件26被整形,它們?nèi)钥商峤唤oQoS組件38用于整形。這是因?yàn)闈撛诘卮嬖诜亲駨陌l(fā)起者,正如上面在本發(fā)明解決的第4條問題中解釋的那樣。iSCSI目標(biāo)44無法區(qū)分一致和非遵從業(yè)務(wù),因此必須提交所有到達(dá)的命令PDU用于整形。
應(yīng)指出,已經(jīng)通過QoS整形組件26被整形的來自一致發(fā)起者20的命令可能不受在QoS組件38的附加整形的影響。
iSCSI目標(biāo)44然后可將這些命令以適當(dāng)?shù)捻樞騻魉?箭頭64)給SCSI執(zhí)行引擎42。
應(yīng)指出,本示意描繪了與TCP層32分離的QoS標(biāo)記組件28。然而,在可選實(shí)施例中,QoS標(biāo)記組件28可以在TCP層32之內(nèi),而且仍然落在本實(shí)施例的原理之內(nèi)。
另外指出,標(biāo)記組件28可負(fù)責(zé)標(biāo)記從發(fā)起者節(jié)點(diǎn)20輸出的所有網(wǎng)絡(luò)業(yè)務(wù),包括來自iSCSI以外的應(yīng)用的業(yè)務(wù)。另外,發(fā)起者節(jié)點(diǎn)20可在TCP層中包含第二整形組件(未示出)。第二整形組件可負(fù)責(zé)整形iSCSI以外的應(yīng)用的網(wǎng)絡(luò)業(yè)務(wù)。應(yīng)理解,上述替換包含在本發(fā)明的真正的宗旨和范圍之內(nèi)。
從發(fā)起者20到目標(biāo)30的數(shù)據(jù)輸出PDU的業(yè)務(wù)流現(xiàn)在參照圖2B,圖2B示意了發(fā)起者20和目標(biāo)30之間的會話,其上覆蓋了數(shù)據(jù)輸出PDU的示例性業(yè)務(wù)流。
數(shù)據(jù)輸出在SCSI發(fā)起者22中發(fā)出,發(fā)起者22可將其傳送(箭頭70)給iSCSI發(fā)起者24。iSCSI發(fā)起者24可創(chuàng)建數(shù)據(jù)輸出PDU,而且數(shù)據(jù)輸出PDU然后可被提交給QoS整形組件26用于整形。
QoS整形組件26可將數(shù)據(jù)輸出PDU發(fā)送(箭頭72)給TCP層32。TCP層32可提交(箭頭74)業(yè)務(wù)給QoS標(biāo)記組件28用于標(biāo)記。QoS標(biāo)記組件28然后可返回(箭頭76)標(biāo)記的業(yè)務(wù)給TCP 32,TCP32可通過IP網(wǎng)絡(luò)46將數(shù)據(jù)輸出PDU發(fā)送(箭頭78)給目標(biāo)30。
TCP層34可接收(箭頭80)數(shù)據(jù)輸出PDU并將它們傳送(箭頭82)給iSCSI目標(biāo)44。iSCSI目標(biāo)44可從PDU中提取出數(shù)據(jù),而且該數(shù)據(jù)然后可被傳送(箭頭84)給SCSI執(zhí)行引擎42。
從目標(biāo)30到發(fā)起者20的數(shù)據(jù)輸入PDU的業(yè)務(wù)流現(xiàn)在參照圖3,圖3示意了發(fā)起者20和目標(biāo)30之間的會話,其上覆蓋了數(shù)據(jù)輸入PDU的示例性業(yè)務(wù)流。
數(shù)據(jù)輸入在SCSI LU(未示出)中發(fā)出。在本實(shí)施例中,SCSI執(zhí)行引擎可傳送(箭頭90)數(shù)據(jù)輸入給iSCSI目標(biāo)44。ISCSI目標(biāo)44可創(chuàng)建數(shù)據(jù)輸入PDU并將數(shù)據(jù)輸入PDU輸送(箭頭92)給TCP層34。
在現(xiàn)有技術(shù)的網(wǎng)絡(luò)QoS環(huán)境中已知的是,TCP層34然后可整形和標(biāo)記在目標(biāo)處的網(wǎng)絡(luò)業(yè)務(wù)。因此,TCP層34將數(shù)據(jù)輸入PDU提交(箭頭94)給QoS組件36用于整形和標(biāo)記。
應(yīng)指出,在目標(biāo)節(jié)點(diǎn)30的網(wǎng)絡(luò)過濾器規(guī)范可能比在發(fā)起者節(jié)點(diǎn)20的簡單。這是由于iSCSI連接結(jié)合需求,而且因?yàn)槊總€連接在每個方向只能有一個服務(wù)等級。發(fā)起者負(fù)責(zé)選擇用于每個命令的連接,而且該目標(biāo)必須使用這個連接用于該命令的所有業(yè)務(wù)。因此,在目標(biāo)的服務(wù)等級可以根據(jù)連接的身份或發(fā)起者的身份來簡單地確定。
QoS組件36然后可返回(箭頭96)整形/標(biāo)記的業(yè)務(wù)給TCP層34。TCP層34可經(jīng)由IP網(wǎng)絡(luò)46將數(shù)據(jù)輸入PDU發(fā)送(箭頭98)給發(fā)起者20。
TCP層32可接收(箭頭100)數(shù)據(jù)輸入PDU并將它們傳送(箭頭102)給iSCSI發(fā)起者24。iSCSI發(fā)起者24可從PDU中提取出該數(shù)據(jù)并將數(shù)據(jù)輸入傳送(箭頭104)給SCSI發(fā)起者22。
應(yīng)指出,本示意描繪了QoS組件36與TCP層34分離。然而,在可選實(shí)施例中,QoS標(biāo)記組件36可以在TCP層34之內(nèi),并且仍落在本實(shí)施例的原理之內(nèi)。
另外指出,在一些實(shí)施例中,QoS組件36可負(fù)責(zé)整形和標(biāo)記從目標(biāo)節(jié)點(diǎn)30輸出的所有網(wǎng)絡(luò)業(yè)務(wù),包括來自iSCSI以外的應(yīng)用的業(yè)務(wù)。
多個網(wǎng)絡(luò)服務(wù)等級每個TCP連接可以只與每個方向上的一個服務(wù)等級相關(guān)。為了提供會話中的多個服務(wù)等級,可以使用多個連接。
在一些實(shí)施例中,iSCSI發(fā)起者24或iSCSI目標(biāo)44可能無法支持每個會話的多個連接。作為選擇,可以使用用于每個服務(wù)等級的獨(dú)立的會話。
應(yīng)指出,在發(fā)起者20中使用的操作系統(tǒng)環(huán)境或文件系統(tǒng)可能成為限制,需要多個會話接入不相交LU。在此情況下,可能無法使用多個網(wǎng)絡(luò)服務(wù)等級來從同一發(fā)起者接入同一LU。
用于同一邏輯單元的多個I/O服務(wù)等級SCSI體系結(jié)構(gòu)提供了配置邏輯單元對每個I-T-L聯(lián)系使用獨(dú)立的任務(wù)集的能力。本發(fā)明的優(yōu)選實(shí)施例因此定義了對于同一LU的多個I/O服務(wù)等級。每個I-T-L聯(lián)系的任務(wù)集,連同其讀命令和寫命令,可以被分配一個不同的I/O服務(wù)等級。作為選擇,可以在同一LU的多個任務(wù)集之間共享I/O服務(wù)等級,由此為來自多個不同發(fā)起者的業(yè)務(wù)在目標(biāo)給予相同的I/O級別。
I/O流超過量(I/O flow excess)由于系統(tǒng)10的突發(fā)特性,可能存在,在發(fā)起者符合I/O流規(guī)范的命令PDU在到達(dá)目標(biāo)時變得不符合的情形。為了消除突發(fā)行為,本發(fā)明的一些實(shí)施例可能允許在所選擇的I/O服務(wù)等級中的I/O流超過量。在目標(biāo)30由QoS組件38使用的I/O流規(guī)范可包括用于過量字節(jié)率和過量I/O率的參數(shù)。
應(yīng)指出,在目標(biāo)的非遵從命令可能被QoS組件38用“任務(wù)集滿”或“忙”錯誤來拒絕。這些錯誤應(yīng)盡可能避免。I/O流超過量參數(shù)可以補(bǔ)償由系統(tǒng)和網(wǎng)絡(luò)起伏引起的瞬間不一致。I/O流超過量將不會補(bǔ)償根本不使用QoS的發(fā)起者。
過濾器規(guī)范和流規(guī)范可以選擇在存在QoS時,影響iSCSI流的區(qū)別的過濾器規(guī)范屬性。這些過濾器屬性的例子包括TCP四元組(發(fā)起者和目標(biāo)IP地址和端口),LUN,發(fā)起者用戶ID,會話ID,應(yīng)用識別屬性,活動時間,等等。上面的列舉只是借助舉例,并不是想限制;應(yīng)理解,沒有列舉但可能影響iSCSI流的性能的其它過濾器屬性,也包含在本發(fā)明的范圍之內(nèi)。
應(yīng)指出,在一些實(shí)施例中,在過濾器屬性中有冗余。舉例來說,當(dāng)指定四元組時,會話id可能冗余。然而,冗余可用于在分配服務(wù)等級時支持模式。舉例來說,服務(wù)等級可設(shè)計(jì)為會話內(nèi)的所有連接。該分類方法允許使用屬性的子集或?qū)τ诿總€屬性的值的范圍。
QoS10可使用獨(dú)立的流規(guī)范用于網(wǎng)絡(luò)資源和I/O資源。
對于網(wǎng)絡(luò),可以使用標(biāo)準(zhǔn)的流規(guī)范參數(shù),如為DiffServ定義的流規(guī)范參數(shù)。網(wǎng)絡(luò)流參數(shù)的例子包括平均字節(jié)率,峰值字節(jié)率,突發(fā)大小。
對于I/O,沒有現(xiàn)行的標(biāo)準(zhǔn)。QoS10的優(yōu)選實(shí)施例可以選擇影響SCSI執(zhí)行引擎42的I/O資源共享的流規(guī)范參數(shù)。流參數(shù)的例子可包括字節(jié)率,I/O率,I/O流超過量,等等。上面的列舉僅僅是借助舉例,并不想限制;應(yīng)理解,沒有列舉但可能影響SCSI執(zhí)行引擎42的共享的其它流規(guī)范參數(shù),也包含在本發(fā)明的范圍之內(nèi)。
應(yīng)指出,在發(fā)起者使用的過濾器規(guī)范屬性和/或流規(guī)范參數(shù)可能與在目標(biāo)使用的不同。
應(yīng)指出,I/O率和字節(jié)率可以在隨機(jī)和順序存取之間提供折中。隨機(jī)存取通常的特征是數(shù)據(jù)長度小,并主要受I/O率的限制。另一方面,順序存取通常的特征是數(shù)據(jù)長度大,并主要受字節(jié)率的限制。
在此描述的實(shí)施例適用于iSCSI和/或TCP/IP的軟件和硬件實(shí)現(xiàn),以及軟件和硬件實(shí)現(xiàn)的任何組合。另外,一個節(jié)點(diǎn)可以具有一個以上網(wǎng)絡(luò)接口卡或一個以上網(wǎng)絡(luò)鏈路。而且,在同一會話中的發(fā)起者和目標(biāo)之間的多個連接可以使用不同的IP地址。所有這些變化都包含在本發(fā)明的真正宗旨和范圍之內(nèi)。
雖然在此公開的方法、設(shè)備和系統(tǒng)可能或可能沒有參照特定計(jì)算機(jī)硬件或軟件描述,但顯然,在此描述的方法、設(shè)備和系統(tǒng)可以很容易在使用常規(guī)技術(shù)的計(jì)算機(jī)硬件或軟件中實(shí)現(xiàn)。
雖然本發(fā)明是參照一個或多個特定實(shí)施例描述的,但本說明書意在從整體上示意本發(fā)明,并不認(rèn)為是將本發(fā)明局限為所示的實(shí)施例。顯然,本領(lǐng)域的技術(shù)人員知道,在此沒有特別示出的各種修改也在本發(fā)明的真正宗旨和范圍之內(nèi)。
權(quán)利要求
1.一種適合于為iSCSI環(huán)境提供服務(wù)質(zhì)量(QoS)的發(fā)起者,該發(fā)起者包括iSCSI發(fā)起者,所述iSCSI發(fā)起者包括QoS整形器,所述QoS整形器用于根據(jù)QoS策略為一個或多個PDU進(jìn)行整形;以及TCP層,所述TCP層用于從所述iSCSI發(fā)起者接收所述PDU,并包括用于根據(jù)所述QoS策略對所述PDU進(jìn)行標(biāo)記的QoS標(biāo)記器。
2.根據(jù)權(quán)利要求1的發(fā)起者,其中所述QoS策略包括以下的一個或多個用于網(wǎng)絡(luò)資源的策略和用于I/O資源的策略。
3.根據(jù)權(quán)利要求1的發(fā)起者,其中所述PDU為命令PDU,并且其中所述整形器在所述命令PDU接收命令序號之前,對所述命令PDU進(jìn)行整形。
4.根據(jù)權(quán)利要求1的發(fā)起者,其中所述PDU是數(shù)據(jù)PDU和命令PDU,其中所述數(shù)據(jù)PDU和命令PDU于在所述TCP層中被接收之前被整形。
5.根據(jù)權(quán)利要求1的發(fā)起者,進(jìn)一步包括在TCP層中的第二整形器,用于對除iSCSI之外的應(yīng)用的網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行整形。
6.一種適合于為iSCSI環(huán)境提供服務(wù)質(zhì)量的目標(biāo),該目標(biāo)包括在iSCSI目標(biāo)中的第一QoS組件,所述第一QoS組件用于處理I/O資源,并用于根據(jù)QoS策略對一個或多個讀命令和一個或多個寫命令進(jìn)行整形,從而為來自非遵從發(fā)起者的業(yè)務(wù)提供QoS;以及TCP層中的第二QoS組件,用于處理網(wǎng)絡(luò)資源,其中iSCSI PDU根據(jù)iSCSI的QoS策略被整形和標(biāo)記。
7.根據(jù)權(quán)利要求6的目標(biāo),其中所述QoS策略包括以下的一個或多個用于網(wǎng)絡(luò)資源的策略和用于I/O資源的策略。
8.根據(jù)權(quán)利要求6的目標(biāo),其中所述目標(biāo)提供對多個邏輯單元(LU)的接入,每一個所述LU都具有多個任務(wù)集,每一個所述任務(wù)集都具有相關(guān)的服務(wù)等級,其中兩個或更多的所述相關(guān)服務(wù)等級是相同的。
9.根據(jù)權(quán)利要求8的目標(biāo),其中兩個或更多的所述相關(guān)服務(wù)等級彼此不同。
10.一種適合于為iSCSI環(huán)境提供服務(wù)質(zhì)量(QoS)的系統(tǒng),該系統(tǒng)包括一個或多個發(fā)起者,每個所述發(fā)起者包括iSCSI發(fā)起者,所述iSCSI發(fā)起者包括發(fā)起者QoS整形器,所述發(fā)起者QoS整形器用于利用QoS策略對一個或多個PDU進(jìn)行整形;以及TCP層,所述TCP層用于從所述iSCSI發(fā)起者接收所述PDU,并包括用于利用所述QoS策略對所述PDU進(jìn)行標(biāo)記的QoS標(biāo)記器;以及一個或多個目標(biāo),用于通過IP網(wǎng)絡(luò)從所述發(fā)起者接收所述PDU,每一個所述目標(biāo)包括在iSCSI目標(biāo)中的第一QoS組件,用于處理I/O資源,所述第一QoS組件用于利用QoS策略對從所述PDU提取的一個或多個讀命令和一個或多個寫命令進(jìn)行整形;以及TCP層中的第二QoS組件,用于處理網(wǎng)絡(luò)資源,其中iSCSI PDU利用iSCSI的QoS策略被整形和標(biāo)記。
11.根據(jù)權(quán)利要求10的系統(tǒng),其中,所述QoS策略包括以下的一個或多個用于網(wǎng)絡(luò)資源的策略和用于I/O資源的策略。
12.根據(jù)權(quán)利要求10的系統(tǒng),其中,所述發(fā)起者QoS整形器所使用的所述QoS策略不同于在所述目標(biāo)中的所述第一和第二QoS組件所使用的所述QoS策略。
13.根據(jù)權(quán)利要求10的系統(tǒng),進(jìn)一步包括與所述發(fā)起者和目標(biāo)通信的服務(wù)水平協(xié)定(SLA)代理,其中所述SLA代理為所述發(fā)起者和所述目標(biāo)提供所述QoS策略。
14.根據(jù)權(quán)利要求10的系統(tǒng),其中,所述發(fā)起者和所述目標(biāo)對于每個iSCSI會話的多種服務(wù)等級支持多種獨(dú)立的連接。
15.一種適合于iSCSI環(huán)境的QoS系統(tǒng),該QoS系統(tǒng)包括多個過濾器規(guī)范屬性,其中所述過濾器規(guī)范屬性中的一個或多個適合于反映iSCSI業(yè)務(wù)類型。
16.根據(jù)權(quán)利要求15的QoS系統(tǒng),其中所述過濾器規(guī)范屬性包括以下的一個或多個TCP四元組,iSCSI會話id,LUN,發(fā)起者用戶id和應(yīng)用識別屬性。
17.根據(jù)權(quán)利要求15的QoS系統(tǒng),其中所述過濾器規(guī)范屬性適合于為網(wǎng)絡(luò)資源和I/O資源提供QoS。
18.根據(jù)權(quán)利要求15的QoS系統(tǒng),其中所述過濾器規(guī)范屬性被一個或多個發(fā)起者以及一個或多個目標(biāo)使用,并且其中所述發(fā)起者所使用的所述過濾器規(guī)范屬性不同于所述目標(biāo)所使用的所述過濾器規(guī)范屬性。
19.一種適合于iSCSI環(huán)境的QoS系統(tǒng),該QoS系統(tǒng)包括多個流規(guī)范參數(shù),其中所述流規(guī)范參數(shù)中的一個或多個適合于iSCSI業(yè)務(wù)類型。
20.根據(jù)權(quán)利要求19的QoS系統(tǒng),其中所述流規(guī)范參數(shù)包括以下的一個或多個I/O率,字節(jié)率和I/O流超過量。
21.根據(jù)權(quán)利要求19的QoS系統(tǒng),其中所述流規(guī)范參數(shù)適合于為網(wǎng)絡(luò)資源和I/O資源提供QoS。
22.根據(jù)權(quán)利要求19的QoS系統(tǒng),其中所述流規(guī)范參數(shù)被一個或多個發(fā)起者以及一個或多個目標(biāo)使用,并且其中所述發(fā)起者所使用的所述流規(guī)范參數(shù)不同于所述目標(biāo)所使用的所述流規(guī)范參數(shù)。
23.一種適合于iSCSI環(huán)境的QoS系統(tǒng),該QoS系統(tǒng)包括在iSCSI發(fā)起者中的整形器,用于根據(jù)QoS策略對一個或多個PDU進(jìn)行整形;在發(fā)起者的TCP層中的標(biāo)記器,用于從所述iSCSI發(fā)起者接收所述PDU,以及用于根據(jù)所述QoS策略對所述PDU進(jìn)行標(biāo)記;以及在iSCSI目標(biāo)中的第一目標(biāo)QoS組件,用于接收從所述PDU中提取出的一個或多個命令,并根據(jù)QoS策略對所述命令進(jìn)行整形。
24.根據(jù)權(quán)利要求23的QoS系統(tǒng),其中所述第一目標(biāo)QoS組件處理I/O資源,并且進(jìn)一步包括在TCP層中的第二目標(biāo)QoS組件,用于處理網(wǎng)絡(luò)資源,其中iSCSI PDU根據(jù)用于iSCSI的QoS策略被整形和標(biāo)記。
25.一種用于為iSCSI環(huán)境提供QoS的方法,該方法包括步驟根據(jù)QoS策略對iSCSI發(fā)起者中的一個或多個PDU進(jìn)行整形;以及根據(jù)所述QoS策略在發(fā)起者的TCP層中對所述整形的PDU進(jìn)行標(biāo)記。
26.根據(jù)權(quán)利要求25的方法,其中所述QoS策略包括以下的一個或多個用于網(wǎng)絡(luò)資源的策略和用于I/O資源的策略。
27.根據(jù)權(quán)利要求25的方法,其中所述PDU為命令PDU,并且其中所述命令PDU的所述整形發(fā)生在為所述命令PDU分配命令序號之前。
28.根據(jù)權(quán)利要求27的方法,其中所述命令PDU的所述整形依據(jù)用于I/O資源的QoS策略。
29.根據(jù)權(quán)利要求28的方法,其中所述命令PDU是包含立即數(shù)據(jù)的寫命令PDU,其中所述寫命令PDU的整形也依據(jù)用于網(wǎng)絡(luò)資源的QoS策略。
30.根據(jù)權(quán)利要求25的方法,其中所述PDU是數(shù)據(jù)PDU和命令PDU,其中在所述iSCSI發(fā)起者中的所述數(shù)據(jù)PDU和命令PDU的所述整形發(fā)生在將所述數(shù)據(jù)PDU和所述命令PDU發(fā)送給所述TCP層之前。
31.根據(jù)權(quán)利要求25的方法,其中所述PDU是數(shù)據(jù)PDU,其中所述數(shù)據(jù)PDU的所述整形依據(jù)用于網(wǎng)絡(luò)資源的QoS策略。
32.根據(jù)權(quán)利要求25的方法,進(jìn)一步包括步驟通過IP網(wǎng)絡(luò)在目標(biāo)接收所述PDU;以及在iSCSI目標(biāo)中,根據(jù)用于I/O資源的QoS策略,對從所述PDU中提取的一個或多個讀命令和一個或多個寫命令進(jìn)行整形,從而為非遵從業(yè)務(wù)提供QoS。
33.一種為iSCSI環(huán)境提供QoS的方法,該方法包括步驟在iSCSI目標(biāo)處從一個或多個LU接收數(shù)據(jù);以及根據(jù)用于iSCSI的QoS策略對QoS組件中的所述數(shù)據(jù)進(jìn)行整形和標(biāo)記,其中所述QoS策略為用于網(wǎng)絡(luò)資源的策略。
34.一種為iSCSI環(huán)境提供服務(wù)質(zhì)量的系統(tǒng),該系統(tǒng)包括用于根據(jù)QoS策略對iSCSI發(fā)起者中的一個或多個PDU進(jìn)行整形的裝置;以及用于根據(jù)所述QoS策略在發(fā)起者的TCP層中對所述整形的PDU進(jìn)行標(biāo)記的裝置。
35.根據(jù)權(quán)利要求34的系統(tǒng),其中所述QoS策略包括以下的一個或多個用于網(wǎng)絡(luò)資源的策略和用于I/O資源的策略。
36.根據(jù)權(quán)利要求34的系統(tǒng),其中所述PDU為命令PDU,并且其中所述命令PDU的整形發(fā)生在為所述命令PDU分配命令序號之前。
37.根據(jù)權(quán)利要求34的系統(tǒng),其中所述PDU是數(shù)據(jù)PDU和命令PDU,其中在向所述TCP層發(fā)送所述數(shù)據(jù)PDU和所述命令PDU之前,對所述iSCSI發(fā)起者中的所述數(shù)據(jù)PDU和所述命令PDU整形。
38.根據(jù)權(quán)利要求34的系統(tǒng),進(jìn)一步包括用于通過IP網(wǎng)絡(luò)在目標(biāo)接收所述PDU的裝置;以及用于根據(jù)QoS策略在iSCSI目標(biāo)對從所述PDU中提取的一個或多個讀命令和一個或多個寫命令進(jìn)行整形,從而為非遵從業(yè)務(wù)提供QoS的裝置。
39.一種包含在計(jì)算機(jī)可讀介質(zhì)軟件中的計(jì)算機(jī)程序,該計(jì)算機(jī)程序包括用于根據(jù)QoS策略對iSCSI發(fā)起者中的一個或多個PDU進(jìn)行整形的第一程序段;以及用于根據(jù)QoS策略在發(fā)起者的TCP層中對所述整形的PDU進(jìn)行標(biāo)記的第二程序段。
40.根據(jù)權(quán)利要求39的計(jì)算機(jī)程序,其中所述QoS策略包括以下的一個或多個用于網(wǎng)絡(luò)資源的策略和用于I/O資源的策略。
41.根據(jù)權(quán)利要求39的計(jì)算機(jī)程序,進(jìn)一步包括用于通過IP網(wǎng)絡(luò)在目標(biāo)接收所述PDU的第三程序段;以及用于根據(jù)QoS策略在iSCSI目標(biāo)對從所述PDU提取的一個或多個讀命令和一個或多個寫命令進(jìn)行整形,從而為非遵從業(yè)務(wù)提供QoS的第四程序段。
全文摘要
一種適合于為iSCSI環(huán)境提供服務(wù)質(zhì)量(QoS)的系統(tǒng),該系統(tǒng)包括一個或多個發(fā)起者以及一個或多個目標(biāo)。每個發(fā)起者包括iSCSI發(fā)起者和TCP層。iSCSI發(fā)起者包括用于根據(jù)QoS策略為一個或多個iSCSI PDU進(jìn)行整形的QoS整形器。TCP層包括用于根據(jù)QoS策略對PDU進(jìn)行標(biāo)記的QoS標(biāo)記器。該目標(biāo)包括第一和第二QoS組件。第一QoS組件處于iSCSI目標(biāo)中并處理I/O資源。第一QoS組件根據(jù)QoS策略對讀命令和寫命令進(jìn)行整形。第二QoS組件在TCP層中并且處理網(wǎng)絡(luò)資源。iSCSI PDU根據(jù)iSCSI的QoS策略被整形和標(biāo)記。發(fā)起者和目標(biāo)所使用的QoS包括用于網(wǎng)絡(luò)資源的策略和用于I/O資源的策略。
文檔編號H04L12/00GK1732664SQ200380107949
公開日2006年2月8日 申請日期2003年12月12日 優(yōu)先權(quán)日2002年12月31日
發(fā)明者特斯博拉·巴澤萊, 約翰·瑪伯格 申請人:國際商業(yè)機(jī)器公司