專利名稱:一種iSCSI服務的磁盤虛擬化方法
技術領域:
本發(fā)明涉及電子類,特別涉及一種應用于iSCSI服務的磁盤虛擬化方法,尤指一種 將磁盤陣列磁盤驅動器分割成至少一個iSCSI LUN的iSCSI服務的磁盤虛擬化方法。
背景技術:
iSCSI標準定義于RFC-3720內,是一個劃時代的磁盤存取標準,它讓計算機可以 跨Internet存取遠程的iSCSI儲存器。自從計算機被發(fā)明以來SCSI技術一直是服務器 計算機和工作站計算機所采用的標準儲存裝置接口,過去SCSI接口的儲存裝置有硬盤、 光驅、光盤燒錄器、磁帶機等等儲存裝置。但SCSI裝置受限于SCSI實體聯(lián)機最長只能 12米(Ultraiide SCSI),所以SCSI界面只能被限定在同一室內的儲存裝置連接。今 曰,Internet已經是普及的技術,它采用TCP/IP為標準的通訊協(xié)議,讓通訊能跨越世 界傳遞數(shù)據(jù)。iSCSI則是將SCSI接口結合TCP/IP通訊協(xié)議,成為一個跨越世界的儲存 裝置接口。 iSCSI可以把儲存裝置和該儲存裝置的驅動程序間的SCSI接口的命令封裝 成標準的TCP/IP封包,讓儲存裝置和執(zhí)行該驅動程序的作業(yè)環(huán)境分隔于相同或是不同 的網域,因此儲存裝置和執(zhí)行該驅動程序的作業(yè)環(huán)境間的距離可以在同一間機房內或是 分處于數(shù)百、數(shù)千甚至數(shù)萬公里的兩端。
iSCSI標準只有定義將一個SCSI裝置的命令和結果用因特網傳送,因此一個SCSI 裝置只能同時被一個使用者所使用,這個SCSI裝置可能是一個RAID LUN、 一顆硬盤、 一臺光驅或一臺磁帶機等等。但是,硬盤的速度和儲存空間隨著新技術的誕生,它的反 應速度、讀寫速度和儲存容量不斷的提升,并且價格越來越便宜。例如,在公元2000 年時, 一顆3. 5吋硬盤只不過40GB到120GB,但是在2008年硬盤己經160GB到1500GB (1.5TB)的容量,且每GB的最低價格約為O. 12美元。所以, 一臺16 bays,安裝16 顆1500TB的iSCSI磁盤陣列系統(tǒng),使用RAID 0來整合這16顆1500GB的硬盤最大可提 供24000GB的空間。若這24000GB的空間只能提供256個iSCSI LUN (所有磁盤陣列系 統(tǒng)或磁盤陣列卡都落在這個限制內)給使用者,則每個iSCSI LUN可分配到93.75GB, 這個空間若被企業(yè)用在服務器數(shù)據(jù)的備份也許是適當?shù)娜萘?,但是若是企業(yè)配給員工備 份工作數(shù)據(jù)則太大。除此以外, 一部16 bays,安裝16顆1500GB的磁盤陣列系統(tǒng)的建 置成本約8425美元,若只分配給256個員工備份,則每個員工的備份成本為32. 9美元。
上述iSCSI儲存器于使用時,存在下列問題與缺失尚待改進
根據(jù)Gartner研究報告指出, 一個員工只要有20GB的空間就足以備份該員工的工 作數(shù)據(jù),所以iSCSI儲存器必須分割出更多獨立的iSCSILUN。假設iSCSI儲存裝置可 以提供更多的iSCSI LUN,則每個員工備份工作數(shù)據(jù)的成本可以降低。例如當該iSCSI 磁盤陣列系統(tǒng)以24000GB可以提供1200個iSCSI LUN時,每一個員工可以分配到約20GB,而每個員工的備份成本可以降低到7. 02美元,這是只能分出256個iSCSI LUN的iSCSI 儲存器不到四分的一的成本。當備份成本降低,企業(yè)應該更積極的建立iSCSI這跨越因 特網的備份技術,讓外務人員也可以輕易的在世界各地備份數(shù)據(jù)。
發(fā)明內容
本發(fā)明的目的在于提供一種iSCSI服務的磁盤虛擬化方法,將磁盤陣列磁盤驅動器 分割成至少一個iSCSI LUN的一種iSCSI服務的磁盤虛擬化方法,該各iSCSI LUN(因 特網小計算機系統(tǒng)接口邏輯硬盤驅動器)可供使用者進行存取動作。
本發(fā)明技術方案是iSCSI(因特網小計算機系統(tǒng)接口)儲存器要提供超過256個 iSCSI LUN(因特網小計算機系統(tǒng)接口邏輯硬盤驅動器),唯有依靠本專利所提出的磁盤 虛擬化技術。其中該各iSCSI LUN(因特網小計算機系統(tǒng)接口邏輯硬盤驅動器)可屬于至 少一個iSCSI Target (因特網小計算機系統(tǒng)接口指針);其中該iSCSI Target (因特網小 計算機系統(tǒng)接口指針)包括有一私有iSCSI Target (因特網小計算機系統(tǒng)接口指針)與一 分享iSCSI Target(因特網小計算機系統(tǒng)接口指針);其中該私有iSCSI Target(因特網 小計算機系統(tǒng)接口指針)包括有一擁有者,該擁有者可以對該iSCSI Target(因特網小 計算機系統(tǒng)接口指針)下的iSCSI LUN(因特網小計算機系統(tǒng)接口邏輯硬盤驅動器)擁有 讀寫權;其中該分享iSCSI Target(因特網小計算機系統(tǒng)接口指針)包括有一擁有者, 并可以被設定給至少一個群組,群組內的所有使用者可以讀取該分享iSCSI Target(因 特網小計算機系統(tǒng)接口指針)下的所有iSCSI LUN(因特網小計算機系統(tǒng)接口邏輯硬盤驅 動器)的數(shù)據(jù)。
本發(fā)明 理論上可以把單一儲存裝置虛擬成無限多個虛擬裝置,但礙于iSCSI儲存器 的內存的容量及儲存裝置容量(硬盤容量)的限制而有所限制。例如, 一部16Bays的 iSCSI儲存器用它的磁盤陣列系統(tǒng)將該16顆硬盤制作成1個iSCSI LUN。若沒有本發(fā)明 在該iSCSI儲存器上,該iSCSI儲存器只能給一個使用者使用或分享給多個使用者但只 能存取同一個磁盤空間;在多個使用者存取同一個磁盤空間的狀況下,使用者可以讀取 其它使用者的數(shù)據(jù),所以這個磁盤非只屬于一個使用者。采用本發(fā)明的磁盤虛擬化的方 法,該16顆硬盤制作成的1個iSCSI LUN可以被分成數(shù)百或數(shù)千的完全獨立的iSCSI LUN,且每一個iSCSI LUN可以是個人的儲存空間或是可以分享資料的儲存空間。這樣 做iSCSI儲存器的功能不僅僅能服務服務器,而是可以直接的服務使用者,提供使用者 備份或是存取數(shù)據(jù)的功能。
因為本發(fā)明用磁盤虛擬化技術讓iSCSI儲存器可以提供數(shù)百、數(shù)千甚至數(shù)百萬個完 全獨立的iSCSI LUN,所以管理iSCSI儲存器不能只是分割空間管理和使用者的登入認 證如此單純而已。本發(fā)明必須嚴格的管理使用者存取iSCSILUN的權限。本發(fā)明訂立管 理iSCSI LUN的權限的原則,這些原則如下列針)。但一個iSCSI Target可擁有超過1個iSCSI LUN。
原則2: iSCSI Target被分成私有的iSCSI Target和分享的iSCSI Target。
原則3:私有的iSCSI Target內的iSCSI LUN必為私有的iSCSI LUN。
原則4:分享的iSCSI Target內的iSCSI LUN必為分享的iSCSI LUN。
原則5:私有的iSCSI Target只能有一個擁有者可以讀取和寫入該私有的iSCSI
Target內的私有的iSCSI LUN。
原則6:分享的iSCSI Target的權限管理,使用者分成2類,即擁有者和分享者。 原則7:分享的iSCSI Target只能有一個擁有者可以讀取和寫入該分享的iSCSI
Target內分享的iSCSI LUN。
原則8:分享的iSCSI Target可以屬于數(shù)個群組,每個群組內的分享者可以讀取
該分享的iSCSI Target內分享的iSCSI LUN的數(shù)據(jù)。
原則9:分享的iSCSI Target被擁有者登入后,分享者自動離線,直到擁有者注
銷該分享的iSCSI Target后,分享者才可以登入和讀取該分享的iSCSI Target內分享
的iSCSI LUN。
本發(fā)明的優(yōu)點在于 一種iSCSI服務的磁盤虛擬化方法為可改善原有的技術關鍵在 于:利用磁盤虛擬化技術將磁盤陣列磁盤驅動器分割成至少一個iSCSI LUN,理論上, 可以虛擬成無限多個虛擬裝置,并且,每一個iSCSILUN可以是個人的儲存空間或是可 以分享資料的儲存空間。這樣做iSCSI儲存器的功能不僅僅能服務服務器,而是可以直 接的服務使用者。
附圖1為本發(fā)明較佳實施例的實施示意圖。 附圖2為本發(fā)明較佳實施例的實施示意圖。 附圖3為本發(fā)明另一較佳實施例的實施示意圖。 附圖4為本發(fā)明較佳實施例的硬件架構圖。 附圖5為本發(fā)明較佳實施例的方塊圖。 附圖6為本發(fā)明較佳實施例的另一方塊圖。
具體實施例方式
如全部附圖所示,系為本發(fā)明較佳實施例的實施示意圖、第一較佳實施例的實施示 意圖、第二較佳實施例的實施示意圖、較佳實施例的硬件架構圖、方塊圖1與方塊圖2,
由圖中可清楚看出本發(fā)明系包括
附圖1、磁盤陣列空間虛擬化概念。
RAIDLUN(11)是由磁盤陣列系統(tǒng)利用l顆或是數(shù)顆硬盤所建構出來的儲存空間。這 個空間提供磁盤虛擬化模塊產出iSCSI LUN。
iSCSI LUN 1(12)是磁盤虛擬化模塊利用RAID LUN(ll)所生產的iSCSI儲存空間, iSCSI LUN 1(12)必只屬于一個iSCSI Target 。而該iSCSI Target為私有的iSCSI Target且屬于使用者l。
iSCSI LUN 2(13)是磁盤虛擬化模塊利用RAID LUN(11)所生產的iSCSI儲存空間, iSCSI LUN 2(13)必只屬于一個iSCSI Target 。而該iSCSI Target為私有的iSCSI Target 且屬于使用者2。
iSCSI LUN n(14)是磁盤虛擬化模塊利用RAID LUN(11)所生產的iSCSI儲存空間, iSCSI LUN n(14)必只屬于一個iSCSI Target。而該iSCSI Target為私有的iSCSI Target 且屬于使用者n。
iSCSI LUN s(15)是磁盤虛擬化模塊利用RAID LUN(ll)所生產的iSCSI儲存空間, iSCSI LUN s(15)必只屬于一個iSCSI Target。而該iSCSI Target為分享的iSCSI Target。該iSCSI Target有一個擁有者使用者s,他擁有iSCSI LUN s(15)讀寫的權力。 該iSCSI Target又屬于群組1、群組2…群組m。屬于這些群組的使用者可以讀iSCSI LUN s(15)內的數(shù)據(jù)。
iSCSI LUN x(16)是磁盤虛擬化模塊利用RAID LUN(ll)所生產的iSCSI儲存空間, iSCSI LUN x(16)必只屬于一個iSCSI Target。而該iSCSI Target為分享的iSCSI Target。該iSCSI Target有一個擁有者使用者x,他擁有iSCSI LUN x(16)讀寫的權力。 該iSCSI Target又屬于群組1、群組6…群組z。屬于這些群組的使用者可以讀iSCSI LUN x(16)內的數(shù)據(jù)。
附圖2、私有的iSCSI LUN和使用者間的關系。
這些iSCSILUN和使用者間的關系實作于iSCSI服務(54, 64) 。 iSCSI LUN (28, 29, 210, 211)則由磁盤虛擬化模塊(55, 65)產生。RAID LUN (212)由磁盤陣列系統(tǒng) 程序(56, 67)產生。使用者(21, 22, 23)則存在于管理系統(tǒng)(58)或iSCSI儲存器管理(66) 上。iSCSI Target (24, 25, 26),則由iSCSI服務(54, 64)產生。
使用者l (擁有者)(21)表示一個使用者在iSCSI儲存器上的賬號。 使用者2 (擁有者)(22)表示一個使用者在iSCSI儲存器上的賬號。 使用者m (擁有者)(23)表示一個使用者在iSCSI儲存器上的賬號。 iSCSI Target 1 (24)表示由iSCSI通訊協(xié)議接口所建立的一個私有的iSCSI Target。該私有的iSCSI Target屬于使用者1 (擁有者)(21)。所以使用者1 (擁有者)
(21) 可以對iSCSI Target 1 (24)下的所有iSCSI LUN 1(27) iSCSI LUN nl(28)做讀 寫。
iSCSI Target 2 (25)表示由iSCSI通訊協(xié)議接口所建立的一個私有的iSCSI Target。該私有的iSCSI Target屬于使用者2 (擁有者)(22)。所以使用者2 (擁有者)
(22) 可以對iSCSI Target 2 (25)下的iSCSI LUN nl+l(29)做讀寫。
iSCSI Target m (26)表示由iSCSI通訊協(xié)議接口所建立的一個私有的iSCSI Target。該私有的iSCSI Target屬于使用者m (擁有者)(23)。所以使用者m (擁有者)
(23) 可以對iSCSI Target m (26)下的所有iSCSI LUN nl+2(210) iSCSI LUN n2(211)做讀寫。
iSCSI LUN 1(27)表示由磁盤虛擬化模塊利用RAID LUN(212)所建立的一個iSCSI LUN。該iSCSI LUN只屬于iSCSI Target 1 (24)。因為iSCSI Target 1 (24)為私有的 iSCSI Target,所以iSCSI LUN 1 (27)為私有的iSCSI LUN,并只能給iSCSI Target 1 (24)的擁有者使用者1 (擁有者)(21)讀寫。
iSCSI LUN nl(28)表示由磁盤虛擬化模塊利用RAID LUN(212)所建立的一個iSCSI LUN。該iSCSI LUN只屬于iSCSI Target 1 (24)。因為iSCSI Target 1 (24)為私有的 iSCSI Target,所以iSCSI LUN nl(28)為私有的iSCSI LUN,并只能給iSCSI Target 1 (24)的擁有者使用者1 (擁有者)(21)讀寫。
iSCSI LUN nl+l(29)表示由磁盤虛擬化模塊利用RAID LUN(212)所建立的一個 iSCSI LUN。該iSCSI LUN只屬于iSCSI Target 2 (25)。因為iSCSI Target 2 (25) 為私有的iSCSI Target,所以iSCSI LUN nl+1 (29)為私有的iSCSI LUN,并只能給iSCSI Target 2 (25)的擁有者使用者2 (擁有者)(22)讀寫。
iSCSI LUN nl+2(210)表示由磁盤虛擬化模塊利用RAID LUN(212)所建立的一個 iSCSI LUN。該iSCSI LUN只屬于iSCSI Target m (26)。因為iSCSI Target m (26) 為私有的iSCSI Target,所以iSCSI LUN nl+2(210)為私有的iSCSI LUN,并只能給iSCSI Target m (26)的擁有者使用者m (擁有者)(23)讀寫。
iSCSI LUN n2(211)表示由磁盤虛擬化模塊利用RAID LUN(212)所建立的一個iSCSI LUN。該iSCSI LUN只屬于iSCSI Target m (26)。因為iSCSI Target m (26)為私有的 iSCSI Target,所以iSCSI LUN n2 (211)為私有的iSCSI LUN,并只能給iSCSI Target m (26)的擁有者使用者m (擁有者)(23)讀寫。
RAID LUN(212)為磁盤陣列系統(tǒng)利用1顆或是數(shù)顆硬盤所建構出來的儲存空間。這 個空間提供磁盤虛擬化模塊產出iSCSI LUN。
附圖3、分享的iSCSI LUN和使用者間的關系。
這些iSCSILUN和使用者間的關系實作于iSCSI服務(54, 64) 。 iSCSI LUN(310, 311, 312, 313, 314, 315)則由磁盤虛擬化模塊(55, 65)產生。RAID LUN(316)由磁 盤陣列系統(tǒng)程序(56, 67)產生。使用者(31, 32, 33, 34)則存在于管理系統(tǒng)(58)或iSCSI儲 存器管理(66)上。iSCSI Target (37, 38, 39)和群組(35, 36),則由iSCSI服務(54,64) 產生。
使用者l (擁有者)(31)表示一個使用者在iSCSI儲存器上的賬號。 使用者2 (擁有者)(32)表示一個使用者在iSCSI儲存器上的賬號。 使用者3 (分享者)(33)表示一個使用者在iSCSI儲存器上的賬號。 使用者4 (分享者)(34)表示一個使用者在iSCSI儲存器上的賬號。 群組l(35)表示在iSCSI儲存器上的一個群組。群組專為分享iSCSI LUN設計,一 個群組可包括1到數(shù)個使用者賬號和1到數(shù)個分享的iSCSI Target。這些使用者可以讀取這些iSCSI Target下的所有iSCSILUN。群組1 (35)包括使用者2 (擁有者)(32)、 使用者3 (分享者)(33)和使用者4 (分享者)(34)三個使用者,這三個使用者可以讀 取iSCSI Target 1 (37)下的iSCSI LUN 1(310)到iSCSI LUN nl(311)和iSCSI Target m (38)下的iSCSI LUN nl+l (312)到iSCSI LUN n2(313)這些iSCSI LUN。
群組2(36)表示在iSCSI儲存器上的一個群組。群組專為分享iSCSI LUN設計,一 個群組可包括1到數(shù)個使用者賬號和1到數(shù)個分享的iSCSI Target。這些使用者可以 讀取這些iSCSI Target下的所有iSCSI LUN。群組2(36)包括使用者4 (分享者)(34) 一個使用者,這使用者可以讀取iSCSI Target m (38)下的iSCSI LUN nl+l (312)到iSCSI LUN n2(313)和iSCSI Target m+l (39)下的iSCSI LUN n2+l(314)到iSCSI LUN n3(315) 這些iSCSI LUN。
iSCSI Target 1 (37)表示由iSCSI通訊協(xié)議接口所建立的一個分享的iSCSI Target。該分享的iSCSI Target屬于使用者1 (擁有者)(31)。所以使用者1 (擁有者)
(31) 可以對iSCSI Target 1 (37)下的所有iSCSI LUN 1(310) iSCSI LUN nl(311) 做讀寫。iSCSI Target 1 (37)被歸屬于群組1 (35),因此屬于群組1 (35)的使用者,包 括使用者2 (擁有者)(32)、使用者3 (分享者)(33)和使用者4 (分享者)(34),都 可以讀取iSCSI Target 1 (37)下的iSCSI LUN 1(310) ~ iSCSI LUN nl(311)的資料。
iSCSI Target m (38)表示由iSCSI通訊協(xié)議接口所建立的一個分享的iSCSI Target。該分享的iSCSI Target屬于使用者2 (擁有者)(32)。所以使用者2 (擁有者)
(32) 可以對iSCSI Target m (38)下的所有iSCSI LUN nl+l (312) iSCSI LUN n2(313) 做讀寫。iSCSI Target m (38)被歸屬于群組1 (35)和群組2(36),因此屬于群組1(35) 的使用者,包括使用者2 (擁有者)(32)、使用者3 (分享者)(33)和使用者4 (分享 者)(34),都可以讀取iSCSI Target m (38)下的iSCSI LUN nl+l (312) ~ iSCSI LUN n2 (313) 的資料。還有群組2(36)的使用者,包括使用者4(分享者)(34),都可以讀取iSCSI Target m (38)下的iSCSI LUN nl+l (312) ~ iSCSI LUN n2(313)的資料。
iSCSI Target m+l (39):
iSCSI Target m+l (39)表示由iSCSI通訊協(xié)議接口所建立的一個分享的iSCSI Target。該分享的iSCSI Target屬于使用者2 (擁有者)(32)。所以使用者2 (擁有者) (32)可以對iSCSI Target m+l (39)下的所有iSCSI LUN n2+l(314) ~ iSCSI LUN n3(315) 做讀寫。iSCSI Target m+l (39)被歸屬于群組2 (36),因此屬于群組2 (36)的使用者, 包括使用者4(分享者)(34),都可以讀取iSCSI Target m+l (39)下的iSCSI LUN n2+l (314) iSCSI LUN n3(315)的資料。
iSCSI LUN 1(310)表示由磁盤虛擬化模塊利用RAID LUN(316)所建立的一個iSCSI LUN。該iSCSI LUN只屬于iSCSI Target 1 (37)。因為iSCSI Target 1 (37)為分享的 iSCSI Target,所以iSCSI LUN 1(310)為分享的iSCSI LUN。該分享的iSCSI Target 屬于使用者l (擁有者)(31)。所以使用者l (擁有者)(31)可以對iSCSI LUN 1(310)做讀寫。而iSCSI Target 1 (37)被設定在群組1 (38)下,所以群組1 (35)上的使用者, 包括使用者2 (擁有者)(32)、使用者3 (分享者)(33)和使用者4 (分享者)(34)都 可以讀取iSCSI LUN 1(310)上的數(shù)據(jù)。
iSCSI LUN nl (311)表示由磁盤虛擬化模塊利用RAID LUN(316)所建立的一個iSCSI LUN。該iSCSI LUN只屬于iSCSI Target 1 (37)。因為iSCSI Target 1 (37)為分享的 iSCSI Target,所以iSCSI LUN nl (311)為分享的iSCSI LUN。該分享的iSCSI Target 屬于使用者l (擁有者)(31)。所以使用者l (擁有者)(31)可以對iSCSILUNn1(311) 做讀寫。而iSCSI Target 1 (37)被設定在群組1 (38)下,所以群組1 (35)上的使用者, 包括使用者2 (擁有者)(32)、使用者3 (分享者)(33)和使用者4 (分享者)(34)都 可以讀取iSCSI LUN nl(311)上的數(shù)據(jù)。
iSCSI LUN nl+l(312)表示由磁盤虛擬化模塊利用RAID LUN(316)所建立的一個 iSCSI LUN。該iSCSI LUN只屬于iSCSI Target m (38)。因為iSCSI Target m (38) 為分享的iSCSI Target,所以iSCSI LUN nl+l (312)為分享的iSCSI LUN。該分享的iSCSI Target屬于使用者2 (擁有者)(32)。所以使用者2 (擁有者)(32)可以對iSCSI LUN nl+l(312)做讀寫。而iSCSI Target m (38)被設定在群組1 (35)和群組2(36)下,所以 群組1(35)上的使用者,包括使用者2 (擁有者)(32)、使用者3 (分享者)(33)和使 用者4 (分享者)(34)都可以讀取iSCSI LUN nl+l (312)上的數(shù)據(jù)。還有群組2(36)上 的使用者,包括使用者4 (分享者)(34)也都可以讀取iSCSILUNnl+l(312)上的數(shù)據(jù)。
iSCSI LUNn2(313)表示由磁盤虛擬化模塊利用RAID LUN (316)所建立的一個iSCSI LUN。該iSCSI LUN只屬于iSCSI Target m (38)。因為iSCSI Target m (38)為分享的 iSCSI Target,所以iSCSI LUN n2 (313)為分享的iSCSI LUN。該分享的iSCSI Target 屬于使用者2 (擁有者)(32)。所以使用者2 (擁有者)(32)可以對iSCSILUNn2(313) 做讀寫。而iSCSI Target m (38)被設定在群組1(35)和群組2(36)下,所以群組1(35) 上的使用者,包括使用者2 (擁有者)(32)、使用者3 (分享者)(33)和使用者4 (分 享者)(34)都可以讀取iSCSI LUN n2(313)上的數(shù)據(jù)。還有群組2(36)上的使用者,包 括使用者4 (分享者)(34)也都可以讀取iSCSI LUN n2(313)上的數(shù)據(jù)。
iSCSI LUN n2+l(314)表示由磁盤虛擬化模塊利用RAID LUN(316)所建立的一個 iSCSI LUN。該iSCSI LUN只屬于iSCSI Target m+l (39)。因為iSCSI Target m+l (39) 為分享的iSCSI Target,所以iSCSI LUN n2+l (314)為分享的iSCSI LUN。該分享的iSCSI Target屬于使用者2 (擁有者)(32)。所以使用者2 (擁有者)(32)可以對iSCSI LUN n2+l(314)做讀寫。而iSCSI Target m+l (39)被設定在群組2(36)下,所以群組2(36) 上的使用者,包括使用者4 (分享者)(34)都可以讀取iSCSI LUN n2(313)上的數(shù)據(jù)。
iSCSI LUN n3(315)表示由磁盤虛擬化模塊利用RAID LUN(316)所建立的一個iSCSI LUN。該iSCSI LUN只屬于iSCSI Target m+l (39)。因為iSCSI Target m+l (39)為分 享的iSCSI Target,所以iSCSI LUN n3(315)為分享的iSCSI LUN。該分享的iSCSI Target屬于使用者2 (擁有者)(32)。所以使用者2 (擁有者)(32)可以對iSCSILUNn3(315) 做讀寫。而iSCSI Target m+l (39)被設定在群組2(36)下,所以群組2(36)上的使用 者,包括使用者4 (分享者)(34)都可以讀取iSCSI LUN n3(315)上的數(shù)據(jù)。
RAID LUN(316)為磁盤陣列系統(tǒng)利用1顆或是數(shù)顆硬盤所建構出來的儲存空間。這 個空間提供磁盤虛擬化模塊產出iSCSI LUN。
附圖4、磁盤虛擬化技術硬件架構。
iSCSI儲存器硬件(41),為一臺iSCSI儲存器除了機殼和電源供應器外的核心硬件
組件。iSCSI儲存器硬件(41)必須包括4種硬件,包括網絡卡(42) 、 iSCSI處理硬件(43)、
磁盤陣列處理硬件(44)和硬盤(45)。
網絡卡(42)負責收送TCP/IP的封包,這些TCP/IP的封包封裝iSCSI的命令和回應。 iSCSI處理硬件(43)包括中央處理器、內存、周邊裝置溝通接口、系統(tǒng)儲存裝置等
等硬件。依據(jù)上述的2種實作架構,iSCSI處理硬件(43)執(zhí)行的內容可以分為下列2種
方法-
iSCSI處理硬件(43)和磁盤陣列處理硬件(44)為同硬件。
若是iSCSI處理硬件(43)和磁盤陣列處理硬件(44)為同一組硬件執(zhí)行,這個硬件必 須除了中央處理器、內存、周邊裝置溝通接口和系統(tǒng)儲存裝置等硬件裝置外,在加上硬 盤控制接口。中央處理器執(zhí)行iSCSI儲存器上的操作系統(tǒng)(51)、網絡卡驅動程序(52)、 TCP/IP (53)、 iSCSI服務(54)、磁盤虛擬化模塊(55)、磁盤陣列系統(tǒng)程序(56)、儲存裝 置接口驅動程序(57)和iSCSI儲存管理(58)。內存則提供中央處理器暫存資料。周邊裝 置溝通接口變得不是必須要的接口。系統(tǒng)儲存裝置則儲存中央處理器執(zhí)行的所有軟件, 包括操作系統(tǒng)(51)、網絡卡驅動程序(52)、 TCP/IP (53)、 iSCSI服務(54)、磁盤虛擬化 模塊(55)、磁盤陣列系統(tǒng)程序(56)、儲存裝置接口驅動程序(57)和管理系統(tǒng)(58)。硬盤 控制接口負責控制和存取硬盤(45)。
iSCSI處理硬件(43)和磁盤陣列處理硬件(44)為不同硬件。
若是iSCSI處理硬件(43)和磁盤陣列處理硬件(44)為不同硬件執(zhí)行,中央處理器執(zhí) 行iSCSI儲存器上的操作系統(tǒng)(61)、網絡卡驅動程序(62) 、TCP/IP(63) 、iSCSI服務(64)、 磁盤虛擬化模塊(65)和iSCSI儲存管理(66)。內存則提供中央處理器暫存資料。周邊裝 置溝通接口則和獨立的磁盤陣列處理硬件(44)連接,該接口可能為PCI、 PCI-X、 PCI-E 等接口。系統(tǒng)儲存裝置則儲存中央處理器執(zhí)行的所有軟件,包括操作系統(tǒng)(61)、網絡卡 驅動程序(62)、 TCP/IP (63)、 iSCSI服務(64)、磁盤虛擬化模塊(65)和iSCSI儲存管理 (66)。
磁盤陣列系統(tǒng)硬件(44)可能和iSCSI處理硬件(43)為同一套硬件。若是為不同一套 硬件,這硬件為完全獨立運作的計算機系統(tǒng),iSCSI處理硬件(43)和磁盤陣列處理硬件 (44)之間透過周邊裝置溝通接口相互連接,該接口可能為PCI、 PCI-X、 PCI-E等接口。 磁盤陣列系統(tǒng)硬件(44)包括中央處理器、內存、周邊裝置溝通接口、系統(tǒng)儲存裝置和硬盤控制接口等等硬件。中央處理器執(zhí)行磁盤陣列操作系統(tǒng)(610)、磁盤陣列系統(tǒng)程序
(67) 、儲存裝置接口驅動程序(68)和磁盤陣列管理(69)。內存則提供中央處理器暫存資 料。周邊裝置溝通接口和iSCSI處理硬件(43)溝通。系統(tǒng)儲存裝置則儲存中央處理器執(zhí) 行的所有軟件,包括操作系統(tǒng)(610)、磁盤陣列系統(tǒng)程序(67)、儲存裝置接口驅動程序
(68) 和磁盤陣列管理(69)。硬盤控制接口負責控制和存取硬盤(45)。 硬盤(45)被硬盤控制接口控制,若以iSCSI處理硬件(43)和磁盤陣列處理硬件(44)
為同一硬件,硬盤控制接口控制被包含于iSCSI處理硬件(43)內。若以iSCSI處理硬件 (43)和磁盤陣列處理硬件(44)為不同硬件。 附圖5、磁盤虛擬化技術軟件實作l。
iSCSI儲存器操作系統(tǒng)(51)執(zhí)行于iSCSI處理硬件(43)上,iSCSI處理硬件(43)同 時tii是磁盤陣列系統(tǒng)硬件(44),所以必須同時執(zhí)行iSCSI儲存器軟件和磁盤陣列系統(tǒng)。 因此,iSCSI儲存器操作系統(tǒng)(51)必須執(zhí)行一個iSCSI儲存器的所有軟件,包括網絡卡 驅動程序(52)、 TCP/IP (53)、 iSCSI服務(54)、磁盤虛擬化模塊(55)、磁盤陣列系統(tǒng)程 序(56)、儲存裝置接口驅動程序(57)、管理系統(tǒng)(58)。
網絡卡驅動程序(52)必執(zhí)行于iSCSI處理硬件(43),負責傳送和接收被TCP/IP封 裝的iSCSI命令。
TCP/IP(53)是TCP/IP通訊協(xié)議的程序,這程序存在操作系統(tǒng)(51)的系統(tǒng)核心中。 TCP/IP(53)將接收到的封包送給iSCSI服務,并接收iSCSI服務需要傳送的iSCSI命令 執(zhí)行結果。若管理系統(tǒng)(58)用網絡提供iSCSI儲存器管理者遠程管理的能力,則 TCP/IP (53)也必須同時服務管理系統(tǒng)(58)需要的TCP/IP通訊。
iSCSI服務(54)執(zhí)行iSCSI通訊協(xié)議,負責從TCP/IP(53)接收TCP/IP封包并轉換 成iSCSI命令后,執(zhí)行這個命令。執(zhí)行該iSCSI命令結束后,iSCSI服務(54)將結果在 封裝成TCP/IP封包后,再用TCP/IP(53)送回給使用者。除此的外,iSCSI服務(54)必 須根據(jù)管理系統(tǒng)(58)所提供的信息,執(zhí)行管理使用者和iSCSILUN的權限關系。因此再 上述的iSCSI Target、群組、使用者(擁有者)、使用者(分享者)間的關系都是由iSCSI 服務(54)來實作。
磁盤虛擬化模塊(55)為本發(fā)明最重要的組件,磁盤虛擬化模塊(55)負責將磁盤陣列 系統(tǒng)程序(56)所提供的RAID LUN分割成數(shù)百到數(shù)千個iSCSI LUN。而這分割的信息來 自管理系統(tǒng)(58)。
磁盤陣列系統(tǒng)程序(56)執(zhí)行于iSCSI處理硬件(43)上,負責將硬盤(45)制作成RAID LUN(212)。 RAID LUN(316)依據(jù)不同的RAID技術可以做成RAID 0、 1、 10、 5、 50、 6、 60和JBOD等等磁盤陣列型態(tài)。
儲存裝置接口驅動程序(57)建立于操作系統(tǒng)(51)內,負責驅動硬盤控制接口。 管理系統(tǒng)(58)必須提供磁盤虛擬化模塊(55)和iSCSI服務(54)信息,執(zhí)行本發(fā)明的 磁盤虛擬化技術。上述iSCSI LUN、 iSCSI Target、群組、使用者(擁有者)和使用者(分享者)的關系必須詳細的定義在管理系統(tǒng)(58)內,等磁盤虛擬化模塊(55)和iSCSI 服務(54)開始運作后,管理系統(tǒng)(58)將這些信息提供給這2個模塊來規(guī)劃這iSCSI儲 存器。管理系統(tǒng)(58)除了提供本發(fā)明的重要信息外,也必須管理其它的軟件組件,例如 磁盤陣列系統(tǒng)程序(56)和操作系統(tǒng)(51)的設定。管理系統(tǒng)(58)也必須提供iSCSI儲存器 管理者管理接口 ,讓iSCSI儲存器管理者可以透過遠程控制的方式控制該iSCSI儲存器。 附圖6、磁盤虛擬化技術軟件實作2。
iSCSI儲存器操作系統(tǒng)(61)執(zhí)行于iSCSI處理硬件(43)上,iSCSI處理硬件(43)和 磁盤陣列系統(tǒng)硬件(44)是完全獨立的計算機系統(tǒng);兩者透過周邊裝置溝通接口來連接。 所以,iSCSI儲存器操作系統(tǒng)(61)只需要執(zhí)行一個iSCSI儲存器上關于iSCSI服務的相 關軟件即可,包括網絡卡驅動程序(62)、 TCP/IP(63)、 iSCSI服務(64)、磁盤虛擬化模 塊(65)和iSCSI儲存器管理(66)等軟件。至于磁盤陣列系統(tǒng)程序(67)、儲存裝置接口驅 動程序(68)和磁盤陣列管理(69)則交由磁盤陣列操作系統(tǒng)(610)執(zhí)行。
網絡卡驅動程序(62)必執(zhí)行于iSCSI處理硬件(43),負責傳送和接收被TCP/IP封 裝的iSCSI命令。
TCP/IP(63)是TCP/IP通訊協(xié)議的程序,這程序存在iSCSI儲存器操作系統(tǒng)(61)的 系統(tǒng)核心中。TCP/IP(63)將接收到的封包送給iSCSI服務,并接收iSCSI服務需要傳送 的iSCSI命令執(zhí)行結果。若iSCSI儲存器管理(66)用網絡提供iSCSI儲存器管理者遠程 管理的能力,則TCP/IP(63)也必須同時服務iSCSI儲存器管理(66)需要的TCP/IP通訊。
iSCSI服務(64)執(zhí)行iSCSI通訊協(xié)議,負責從TCP/IP(63)接收TCP/IP封包并轉換 成iSCSI命令后,執(zhí)行這個命令。執(zhí)行該iSCSI命令結束后,iSCSI服務(64)將結果在 封裝成TCP/IP封包后,再用TCP/IP(63)送回給使用者。除此的外,iSCSI服務(64)必 須根據(jù)管理系統(tǒng)(66)所提供的信息,執(zhí)行管理使用者和iSCSILUN的權限關系。因此再 上述的iSCSITarget、群組、使用者(擁有者)、使用者(分享者)間的關系都是由iSCSI 服務(64)來實作。
磁盤虛擬化模塊(65)為本發(fā)明最重要的組件,磁盤虛擬化模塊(65)負責將磁盤陣列 系統(tǒng)程序(67)所提供的RAID LUN分割成數(shù)百到數(shù)千個iSCSI LUN。而這分割的信息來 自iSCSI儲存器管理(66)。
iSCSI儲存器管理(66)必須提供磁盤虛擬化模塊(65)和iSCSI服務(64)信息,執(zhí)行 本發(fā)明的磁盤虛擬化技術。上述iSCSI LUN、 iSCSI Target、群組、使用者(擁有者) 和使用者(分享者)的關系必須詳細的定義在iSCSI儲存器管理(66)內,等磁盤虛擬化 模塊(65)和iSCSI服務(64)開始運作后,iSCSI儲存器管理(66)將這些信息提供給這2 個模塊來規(guī)劃這iSCSI儲存器。iSCSI儲存器管理(66)除了提供本發(fā)明的重要信息外, 也必須管理其它的軟件組件,例如iSCSI儲存器操作系統(tǒng)(61)的設定。iSCSI儲存器管 理(66)也必須提供iSCSI儲存器管理者管理接口,讓iSCSI儲存器管理者可以透過遠程 控制的方式控制該iSCSI儲存器。磁盤陣列系統(tǒng)程序(67)執(zhí)行于磁盤陣列系統(tǒng)硬件(44)上,負責將硬盤(45)制作成 RAID LUN (212) 。 RAID LUN (316)依據(jù)不同的RAID技術可以做成RAID 0、 1、 10、 5、 50、 6、 60和JBOD等等磁盤陣列型態(tài)。
儲存裝置接口驅動程序(68)建立于磁盤陣列操作系統(tǒng)(610)內,負責驅動硬盤控制 接口。
磁盤陣列管理(69)必須提供磁盤陣列系統(tǒng)程序(67)信息,執(zhí)行磁盤陣列將一顆以上 的硬盤(45)規(guī)劃成RAID0、 1、 10、 5、 50、 6、 60和JBOD等等RAID形式。磁盤陣列管 理(69)除了提供磁盤陣列系統(tǒng)程序(67)信息外,也必須提供iSCSI儲存器管理(66)管理 磁盤陣列系統(tǒng)程序(67)的功能,讓磁盤陣列系統(tǒng)程序(67)和iSCSI服務(64)能完全的整 合。
磁盤陣列操作系統(tǒng)(610)必執(zhí)行于磁盤陣列系統(tǒng)硬件(44)上,磁盤陣列操作系統(tǒng) (610)執(zhí)行磁盤陣列系統(tǒng)程序(67)、儲存裝置接口驅動程序(68)和磁盤陣列管理(69)。 其中,本發(fā)明的管理原則以圖1來說明
磁盤陣列磁盤驅動器(11)是由磁盤陣列系統(tǒng)(56, 57)提供的 一 個RAID LUN (212, 316)。對操作系統(tǒng)(51, 61)來說,RAID LUN (212, 316)是一顆實體的磁盤驅動器。 過去的iSCSI技術只能將該RAID LUN(212, 316)做成一個iSCSI LUN讓使用者存取。利 用本技術磁盤陣列磁盤驅動器(ll)在本發(fā)明中,利用磁盤虛擬化技術,將磁盤陣列磁盤 驅動器(ll)分割成數(shù)百或數(shù)千個iSCSILUN,在的前的iSCSI技術是必須由數(shù)百或數(shù)千 個RAID LUN來實現(xiàn),現(xiàn)在利用本發(fā)明只要一個磁盤陣列磁盤驅動器(ll)便可以做到。
iSCSI LUN 1 (12)、 iSCSI LUN 2 (13)和iSCSI LUN n (14)是由RAID LUN (11) 的部份儲存區(qū)定義成完全獨立的iSCSI LUN。每一個iSCSI LUN等完全同于過去的iSCSI 技術用一個RAID LUN做成一個iSCSI LUN。 (12, 13, 14)表示有n顆私有的iSCSI LUN, 因此這n顆iSCSI LUN都只屬于一個使用者,例如iSCSI LUN 1屬于使用者1 (12)、 iSCSI LUN 2 (13)屬于使用者2和iSCSI LUN n (14)屬于使用者n。
附圖2表示私有的iSCSI LUN(27,28,29,210,211)、 iSCSI Target (24, 25, 26)和 使用者(21,22,23)間的關系。根據(jù)原則5, iSCSI LUN被定義成私有的iSCSI LUN必屬 于一個被定義成私有的iSCSI Target,且每一個iSCSI LUN都只能屬于一個iSCSI Target。每一個私有的iSCSI Target可以擁有數(shù)個到理論上無限多個iSCSI LUN。而 每一個私有的iSCSI Target必只有一個擁有者,這個擁有者可以對屬于該私有的iSCSI Target的所有iSCSI LUN做讀寫。例如iSCSI LUN廣nl (27, 28)屬于iSCSI Target 1 (24), iSCSI Target 1 (24)屬于使用者1 (21),所以使用者1可以存取iSCSI LUN廣nl (27, 28)。 相對的,使用者2(22)對于iSCSI LUN廣nl (27,28)就沒有存取權限。所有的iSCSI LUN(27, 28, 29, 210, 211)都是由同一個RAID LUN提供儲存空間。
這些私有的iSCSI LUN只能被擁有者所存取,所以擁有者的數(shù)據(jù)不會被泄漏出去。 反觀現(xiàn)有的iSCSI儲存器沒有向本發(fā)明的管理系統(tǒng),當一個使用者登入iSCSI儲存器后,該使用者可以存取所有的iSCSI LUN,對于使用者來說,數(shù)據(jù)可能被別的使用者讀取是 危險的。比較含本發(fā)明的iSCSI儲存器和現(xiàn)有的,現(xiàn)有的適合作為服務器的儲存器,因 為現(xiàn)有的儲存器無法控制不同使用者和iSCSI LUN的權限,這些權限的關系必須由服務 器管理。例如若是iSCSI儲存器作為NAS服務器的儲存器,使用者權限和儲存空間存取 權由NAS服務器管理。使用本發(fā)明,iSCSI儲存器就有使用者權限和儲存空間存取權的 管理機制,因此不需要在iSCSI儲存器前再加一臺NAS服務器就可以直接服務使用者; 本發(fā)明的架構可以節(jié)省一臺服務器的支出。
本發(fā)明更重要的是提供可分享的iSCSI LUN,讓多人只讀某一個iSCSI LUN。因應 分享的iSCSI LUN的發(fā)明,本發(fā)明提出群組管理的方法管理一個分享的iSCSI LUN的讀 取權。用圖1來說明,iSCSI LUN s (15)和iSCSI LUN x (16)是分享的iSCSI LUN。 iSCSI LUN s (15)和iSCSI LUN x (16)必各有一個唯一的擁有者,例如iSCSI LUN s (15)的 擁有者為使用者s, iSCSI LUNs (16)的擁有者為使用者x。使用者s可以對iSCSI LUN s (15)讀取和寫入的作業(yè);使用者s是唯一對iSCSI LUN s (15)有寫入權力的使用者。 iSCSI LUN s (15)讀取的權力則藉由群組管理的方法管理。以圖1的(15)和(16)說明, iSCSI LUN s (15)可以屬于數(shù)個群組,每一個群組內的使用者都有iSCSI LUN s (15) 的讀取權。而一個群組可以設定數(shù)個分享的iSCSI LUN,例如群組1就有iSCSI LUN s (15) 和iSCSI LUN x (16)的讀取權。
iSCSI LUN、 iSCSI Target、群組和使用者間的關系用圖3深入的說明。在iSCSI 標準中,iSCSI L潔被設定成iSCSI Target的結構, 一個iSCSI使用者用iSCSI Initiator 內的iSCSI Target尋找功能來得到在一個iSCSI儲存系統(tǒng)中有那些iSCSI Target可以 使用。每一個iSCSI Target擁有完全存取iSCSI LUN的權力。 一個iSCSI Target可以 有超過1個iSCSI LUN。因此,當一個使用者通過iSCSI Target的認證,該使用者可 以存取該iSCSI Target下的所有iSCSI LUN。
本發(fā)明更進一步將iSCSI Target規(guī)范成私有的iSCSI Target和分享的iSCSI Target,私有的iSCSI Target和一般的iSCSI定義的一樣,但是分享的iSCSI Target 則是本發(fā)明才有的功能。 一個分享的iSCSI LUN必屬于一個分享的iSCSI Target。圖3 內,這臺iSCSI儲存器有m+1個iSCSI Target(37,38,39)被設定完成,iSCSI LUN 1 iSCSI LUN nl(310,3U)屬于iSCSI Target 1(37)、 iSCSI LUN nl+1 iSCSI LUN n2(312, 313)屬于iSCSI Target m(38)禾口 iSCSI LUN n2+l iSCSI LUN n3(314,315)屬 于iSCSI Target m+l(39)。上述的每一個iSCSI LUN(310, 311, 312, 313, 314, 315)都是 由同一個RAID LUN(316)所提供的儲存空間。iSCSI Target 1 (37) 、 iSCSI Target m(38) 和iSCSI Target m+1 (39)分別各有一個擁有者使用者1 (31)和使用者2 (32)。其中, 使用者2(32)擁有iSCSI Target m(38)和iSCSI Target m+1 (39)兩個iSCSI Target的 寫入權。群組1(35)包括使用者2(32)、使用者3(33)和使用者4(34);使用者2(32)雖 然是iSCSI Target m(38)和iSCSI Target m+l(39)的擁有者,但是使用者2(32)還是可以加入任意群組。群組1(35)被設定擁有iSCSI Target 1(37)和iSCSI Target m(38) 的讀取權,因此使用者2(32)、使用者3(33)和使用者4(34)都可以任意的讀取iSCSI Target 1(37)和iSCSI Target m(38)內所有的iSCSI LUN內的數(shù)據(jù),包括iSCSI LUN l iSCSI LUN n1(310, 311)和iSCSI LUN nl+l iSCSI LUN n2(312,313)。但是,這樣的 設定會有一個麻煩,因為使用者2(32)為iSCSITargetm(38)的擁有者,因此當使用者 2(32)登入時,iSCSI Target m(38)下的所有iSCSI LUN變成可擦寫,使用者3(33)和 使用者4(34)便不可以讀取資料。因此建議,若使用者2(32)要讀數(shù)據(jù)時,還是另外建 立一個賬號,例如使用者5,該賬號不是iSCSI Target m(38)的擁有者才方便使用者 2(32)讀取數(shù)據(jù)。群組2(36)則包含iSCSI Target m(38)和iSCSI Target m+l(39),其 中iSCSITargetm(38)也屬于群組l,這樣的設定在本發(fā)明并不沖突。只要使用者2 (32) 不登入,iSCSI Target m(38)內可以被使用者4(34)讀取。
本發(fā)明的分享的iSCSI Target管理機制讓iSCSI LUN可以被有限制的分享,而不 是分享后,所有的使用者都可以使用的漫無目的的分享。利用使用者、群組和分享的 iSCSI Target間的定義,讓使用者可以讀取使用者有權限讀取的數(shù)據(jù),既提供數(shù)據(jù)分 享的方便性,也提供數(shù)據(jù)安全的保護性。安全性和保護性的平衡則透過該機制交由iSCSI 儲存器管理者來決定。
本發(fā)明iSCSI儲存器硬件架構。
iSCSI儲存器硬件通常是一部嵌入式系統(tǒng)、PC計算機、工作站或服務器,iSCSI客 戶端可以用硬件的方式或軟件的方式來實現(xiàn)。該計算機必須提供一個運算的平臺,讓 iSCSI系統(tǒng)可以被執(zhí)行。這系統(tǒng)必須包括下列組件
iSCSI處理硬件(43)負責執(zhí)行iSCSI儲存系統(tǒng)的運算和儲存系統(tǒng)設定數(shù)據(jù)庫,本發(fā) 明的磁盤虛擬化技術內含于iSCSI儲存系統(tǒng)內,所以也在iSCSI處理硬件(43)執(zhí)行。 這硬件必須包括至少一棵中央處理器、內存和大量儲存裝置。大量儲存裝置必須儲存 iSCSI處理硬件的操作系統(tǒng)、iSCSI系統(tǒng)程序和儲存系統(tǒng)設定數(shù)據(jù)庫。另外,iSCSI處 理硬件(43)必須能和網絡卡(42)與磁盤陣列系統(tǒng)溝通。由網絡卡(42)接收iSCSI Initiator的命令或管理的指令,送到iSCSI處理硬件(43)處理,然后對磁盤陣列系統(tǒng) 發(fā)出IO命令。
磁盤陣列處理硬件(44)負責執(zhí)行磁盤陣列系統(tǒng)。這硬件(44)必須包括至少一棵中央 處理器、內存、硬盤控制接口和大量儲存裝置。大量儲存裝置必須儲存磁盤陣列處理硬 件(44)的操作系統(tǒng)。若iSCSI儲存器使用獨立的磁盤陣列系統(tǒng),例如磁盤陣列適配卡, 則磁盤陣列處理硬件(44)和iSCSI處理硬件(43)完全互相獨立。但是、iSCSI儲存器用 iSCSI處理硬件(43)執(zhí)行磁盤陣列系統(tǒng)程序,則磁盤陣列處理硬件(44)和iSCSI處理 硬件(43)使用同一套硬設備,不過執(zhí)行磁盤陣列系統(tǒng)程序必須在iSCSI處理硬件(43) 加上硬盤控制接口來控制大量的硬盤。
網絡卡(42)負責接收從iSCSI initiator來的iSCSI命令,透過硬件接口將iSCSI命令送到iSCSI處理硬件處理(43)。這些iSCSI命令的處理結果也會透過硬件接口送 到這網絡卡上,再由網絡卡送回給iSCSI initiator。在iSCSI儲存系統(tǒng)上可能有超過 1張以上的網絡卡(42),這些網絡卡(42)會透過PCI或PCI-E接口和iSCSI處理硬件(43) 結合。而這些網絡卡(42)可能為GbE或10 GbE等可以執(zhí)行TCP/IP (53, 63)的網絡接口 形式。
硬盤(45)則提供iSCSI儲存系統(tǒng)的磁盤儲存空間,本發(fā)明的磁盤虛擬化技術也是在 控制由磁盤陣列系統(tǒng)所操作的這些磁盤空間。這些硬盤的接口必須和硬盤控制接口一樣 或是兼容,這些接口可能為IDE、 SCSI、 SATA、 SAS、 External SATA、 External SAS 和光纖等等磁盤控制接口。
本發(fā)明iSCSI儲存器軟件架構。
一個標準的iSCSI儲存器軟件架構如附圖5所示。iSCSI儲存器操作系統(tǒng)(51,61) 是負責驅動iSCSI儲存器硬件,包括iSCSI處理器硬件(43)、磁盤陣列系統(tǒng)硬件(44) 和網絡卡(42)。若iSCSI處理器硬件(43)和磁盤陣列系統(tǒng)硬件(44)是相互獨立的系統(tǒng), 操作系統(tǒng)必須包含磁盤陣列系統(tǒng)驅動程序,例如若iSCSI儲存器使用3WARE的磁盤陣列 卡,iSCSI儲存器操作系統(tǒng)(31)便需要該磁盤陣列卡的驅動程序。在此架構下,磁盤陣 列系統(tǒng)程序(67)和儲存裝置接口驅動程序(68)是由另一個硬件運算,因此除了 iSCSI儲 存器操作系統(tǒng)(51)外,還有一個磁盤陣列操作系統(tǒng)(610)來執(zhí)行磁盤陣列系統(tǒng)程序(67) 和儲存裝置接口驅動程序(68)。若是iSCSI處理器硬件(43)和磁盤陣列系統(tǒng)硬件(44) 是相同一套硬件,則iSCSI儲存器操作系統(tǒng)(51)必須包含儲存裝置接口驅動程序(57)。 例如iSCSI儲存器使用Intel芯片組上的硬盤控制器所控制的硬盤當成磁盤陣列的硬 盤,iSCSI儲存器操作系統(tǒng)(51,61)便需要該硬盤控制器的驅動程序。
磁盤虛擬化模塊(55, 65)必執(zhí)行于iSCSI儲存器操作系統(tǒng)(51, 61)上,該技術最重要 的功能是將磁盤陣列系統(tǒng)程序(56, 67)建立的RAID LUN分割成多個iSCSI LUN,且這些 iSCSI LUN在RAID LUN上的范圍是絕對沒有交集。因此,權限管理系統(tǒng)會記錄每一個 iSCSI LUN在一個RAID LUN的相對位置,當使用者存取某一個iSCSI LUN時,權限管 理系統(tǒng)會告知磁盤虛擬化模塊(55,65)該iSCSI LUN的存取范圍。當磁盤虛擬化模塊 (55, 65) 了解該iSCSI LUN的范圍后,磁盤虛擬化模塊(55, 65)將收到的10命令的存取 位置轉換成對應于RAID LUN的位置。例如,使用者1發(fā)出的10命令是存取iSCSI LUN 位置A,但是送入磁盤虛擬化模塊(55,65)后,根據(jù)權限管理系統(tǒng)給予該iSCSI LUN的 范圍,磁盤虛擬化模塊(55, 65)將該位置A轉換為位置B的位置,位置B是使用者1的 10命令預期存取的數(shù)據(jù)在RAID LUN上的實際位置。藉由這個技術,可以將一個RAID LUN 分割成數(shù)百或數(shù)千個iSCSI LUN。 iSCSI儲存器有這磁盤虛擬化模塊(55,65),它便有提 供數(shù)百或數(shù)千個iSCSI Target給數(shù)百或數(shù)千個使用者的潛力。這個技術加上前述的管 理原則,讓原本專門服務服務器的iSCSI儲存器技術變成可以服務個人使用者,并且可 以節(jié)省一臺前端服務器的成本。此外,讓iSCSI儲存器服務數(shù)百或數(shù)千個使用者可以讓這臺iSCSI儲存器的功效最大化。
磁盤虛擬化模塊(55,65)產生出iSCSI LUN后,iSCSI服務(54, 64)將iSCSI LUN再 定義成許多的iSCSI Target 。 iSCSI服務(54, 64)再賦予這些iSCSI Target和使用者或 是群組間的關系。依據(jù)權限管理系統(tǒng)的設定,被定義成私有的iSCSI Target必只能有 一個擁有者,且不能成為任何一個群組的iSCSITarget。當該擁有者登入和完成iSCSI Discovery流程后,該iSCSI Target變成可以選擇聯(lián)機的iSCSI Target。若為分享的 iSCSI Target也必只能有一個擁有者,但是該分享的iSCSI Target可以被設定于幾個 群組內。只要使用者屬于這些群組,該使用者可以讀取該分享的iSCSI Target。 iSCSI 服務(54,64)也是使用者用iSCSI Initiator聯(lián)機的目標軟件。iSCSI通訊協(xié)議接口接 受iSCSI Initiator聯(lián)機后并認證該使用者的賬號密碼。當使用者通過賬號密碼的驗證 后,iSCSI通訊協(xié)議接口通知該使用者可以存取的iSCSI Target的列表。使用者選擇 想要聯(lián)機的iSCSI Target后,iSCSI服務(54, 64)開始接受由iSCSI Initiator發(fā)出的 10命令。iSCSI服務(54, 64)從TCP/IP(53, 63)模塊收到TCP封包內的資料后,它將這 些數(shù)據(jù)解讀為iSCSI命令。iSCSI服務(54,64)再根據(jù)這些命令的內容對磁盤虛擬化模 塊(55,65)下達10命令。當這些命令完成后,iSCSI服務(54,64)將這些結果再封裝成 iSCSI命令,再用TCP的聯(lián)機送為iSCSI Initiator。
管理系統(tǒng)將根據(jù)磁盤陣列系統(tǒng)的硬件形式不同而可能有2種實作的方式
磁盤陣列處理硬件(43)和iSCSI (44)處理硬件為共享同一套硬件系統(tǒng)一這樣的硬件 條件下,管理系統(tǒng)(58)以圖5表示。該管理系統(tǒng)內包括操作系統(tǒng)管理、iSCSI管理、磁 盤陣列系統(tǒng)管理和使用者管理四大部分。其負責的功能如下
操作系統(tǒng)管理包括iSCSI儲存器的IP Address設定、iSCSI儲存器系統(tǒng)時間和 遠程遙控關機或重新開機。
iSCSI管理它負責管理iSCSI Target、 iSCSI LUN。 iSCSI管理提供iSCSI Target 的新增、更新和刪除,也提供iSCSI LUN的新增、更新和刪除。除此的外,iSCSI LUN 是透過磁盤虛擬化模塊(55)建立在磁盤陣列系統(tǒng)程序(56)所產生的RAID LUN上,因此 iSCSI管理上也包括可用的RAID LUN尋找機制,將可用的RAID LUN作為建立iSCSI LUN 的資源。
磁盤陣列管理它負責將iSCSI儲存器內的硬盤設定成各種的磁盤陣列形式,例如 RAID 0, 1, 10, 5, 50, 6, 60, JB0D或Single Disk。它所提供的功能有RAID的新增、 更新、擴充、刪除、修復等等。
使用者管理使用者管理在傳統(tǒng)的iSCSI儲存器上非常陽春。因為本發(fā)明磁盤虛擬 化模塊讓iSCSI儲存器可以提供數(shù)百或數(shù)千個iSCSI LUN和提供分享的iSCSI LUN的功 能,因此本發(fā)明必須提供完整的使用者管理機制,管理包括使用者賬號密碼、使用者使 用iSCSI LUN的權限、使用者加入或移出群組、群組管理等等進階的管理機制。
這樣的管理系統(tǒng)的整合性非常的高,iSCSI儲存器制造商只要制作一個管理系統(tǒng)就可以管理iSCSI儲存器內的所有組件。
磁盤陣列處理硬件(44)和iSCSI處理硬件(43)為獨立的硬件系統(tǒng)一 這樣的硬件條件下,管理系統(tǒng)以圖5表示。該管理系統(tǒng)必須先分為2個部分iSCSI 儲存器管理和磁盤陣列管理。iSCSI儲存器管理執(zhí)行于iSCSI處理硬件上,而磁盤陣列 管理執(zhí)行于磁盤陣列處理硬件(44) 。 iSCSI儲存器管理系統(tǒng)內包括操作系統(tǒng)管理、iSCSI 管理和使用者管理四大部分,不包含磁盤陣列系統(tǒng)管理。這四個管理系統(tǒng)所負責的功能 如下
操作系統(tǒng)管理包括iSCSI儲存器的IP Address設定、iSCSI儲存器系統(tǒng)時間和 遠程遙控關機或重新開機。
iSCSI管理:它負責管理iSCSI Target、 iSCSI LUN。 iSCSI管理提供iSCSI Target 的新增、更新和刪除,也提供iSCSI LUN的新增、更新和刪除。除此的外,iSCSI LUN 是透過磁盤虛擬化模塊(65)建立在磁盤陣列系統(tǒng)程序(67)所產生的RAID LUN上,因此 iSCSI管理上也包括可用的RAID LUN尋找機制,將可用的RAID LUN作為建立iSCSI LUN 的資源。
磁盤陣列管理接口這個磁盤陣列管理接口不是真正執(zhí)行磁盤陣列管理的軟件,因 為磁盤陣列系統(tǒng)程序(67)執(zhí)行于另一個硬件上,這個磁盤陣列管理接口透過該硬件的驅 動程序將控制命令送到于磁盤陣列處理硬件(44)上的磁盤陣列管理上做實際的磁盤陣 列管理。
使用者管理使用者管理在傳統(tǒng)的iSCSI儲存器上非常陽春。因為本發(fā)明磁盤虛擬 化模塊(65)讓iSCSI儲存器可以提供數(shù)百或數(shù)千個iSCSI LUN和提供分享的iSCSI LUN 的功能,因此本發(fā)明必須提供完整的使用者管理機制,管理包括使用者賬號密碼、使用 者使用iSCSI LUN的權限、使用者加入或移出群組、群組管理等等進階的管理機制。
磁盤陣列管理(69)執(zhí)行于磁盤陣列處理硬件(44)上,磁盤陣列管理接口可以透過磁 盤陣列處理硬件(44)的驅動程序將磁盤陣列的操作命令送到磁盤陣列管理。磁盤陣列管 理負責將iSCSI儲存器內的硬盤設定成各種的磁盤陣列形式,例如RAID0, 1, 10, 5, 50, 6, 60, JB0D或Single Disk。它所提供的功能有RAID的新增、更新、擴充、刪除、 修復等等。
權利要求
1、一種iSCSI服務的磁盤虛擬化方法,其特征在于包括利用磁盤虛擬化技術將RAID LUN(磁盤陣列磁盤驅動器)分割成至少一個iSCSI LUN(因特網小計算機系統(tǒng)接口邏輯硬盤驅動器);該各iSCSI LUN(因特網小計算機系統(tǒng)接口邏輯硬盤驅動器)可供使用者進行存取動作。
2 、根據(jù)權利要求1所述的一種iSCSI服務的磁盤虛擬化方法,其 特征在于其中該各iSCSI LUN(因特網小計算機系統(tǒng)接口邏輯硬盤驅動 器)可屬于至少一個iSCSI Target (因特網小計算機系統(tǒng)接口指針)。
3 、根據(jù)權利要求1所述的一種iSCSI服務的磁盤虛擬化方法,其 特征在于其中該iSCSI Target(因特網小計算機系統(tǒng)接口指針)包括有 一私有iSCSI Target(因特網小計算機系統(tǒng)接口指針)與一分享iSCSI Target (因特網小計算機系統(tǒng)接口指針)。
4 、根據(jù)權利要求3所述的一種iSCSI服務的磁盤虛擬化方法,其 特征在于其中該私有iSCSI Target(因特網小計算機系統(tǒng)接口指針) 包括有一擁有者,該擁有者可以對該iSCSI Target (因特網小計算機系 統(tǒng)接口指針)下的iSCSI LUN(因特網小計算機系統(tǒng)接口邏輯硬盤驅動器) 擁有讀寫權。
5、 根據(jù)權利要求3所述的一種iSCSI服務的磁盤虛擬化方法,其 特征在于其中該分享iSCSI Target(因特網小計算機系統(tǒng)接口指針) 包括有一擁有者,該擁有者可以對該iSCSI Target (因特網小計算機系 統(tǒng)接口指針)下的iSCSI LUN(因特網小計算機系統(tǒng)接口邏輯硬盤驅動器) 擁有讀寫權。
6、 根據(jù)權利要求3所述的一種iSCSI服務的磁盤虛擬化方法,其 特征在于其中該分享iSCSI Target(因特網小計算機系統(tǒng)接口指針) 可以被設定給至少一個群組,群組內的所有使用者可以讀取該分享 iSCSI Target (因特網小計算機系統(tǒng)接口指針)下的所有iSCSI LUN(因特 網小計算機系統(tǒng)接口邏輯硬盤驅動器)的數(shù)據(jù)。
全文摘要
本發(fā)明有關一種iSCSI服務的磁盤虛擬化方法,屬于電子類。一種iSCSI服務的磁盤虛擬化方法,系可利用磁盤虛擬化技術將磁盤陣列磁盤驅動器分割成至少一個iSCSI LUN,且每一個iSCSI LUN可以是個人的儲存空間或是可以分享資料的儲存空間。這樣做iSCSI儲存器的功能不僅能服務服務器,而且可以直接服務使用者,提供給使用者備份或存取數(shù)據(jù)的功能。
文檔編號H04L29/08GK101626403SQ20091015922
公開日2010年1月13日 申請日期2009年7月31日 優(yōu)先權日2009年7月31日
發(fā)明者張揚揮, 林瑞興 申請人:瑞紅科技股份有限公司