杭州師范大學理學院 孫紅鶯
由于計算機技術多方面的發(fā)展和應用,人們對數據存儲的需求有了巨大的變化,對存儲的容量和速度的要求越來越高,對存儲系統(tǒng)的容量提出了前所未有的需求。原有的以服務器為中心的存儲技術已經不適應今天的存儲需求,而以網絡為中心的存儲技術得到快速發(fā)展。
存儲結構的發(fā)展經歷幾個階段,大致包括DAS、NAS和SAN,其中的網絡存儲技術能夠有效地管理一定范圍內的數據存儲,將存儲系統(tǒng)從傳統(tǒng)的集成計算機系統(tǒng)中獨立出來,使得存儲與計算脫離,這對于存儲系統(tǒng)的各方面特性的專門研究開辟了更大的空間;同時,高速網絡的迅猛發(fā)展和普及也為網絡存儲提供了底層支持,使大規(guī)模遠距離的網絡存儲系統(tǒng)成為可能。網絡存儲技術為解決海量存儲中存儲設備的分散性、I/O的并行性以及協議的高效性提供了一種很好的手段[1]。
對存儲網絡系統(tǒng)I/O請求響應時間的分析和建模,國內外的研究者作了大量的工作,但是這些研究大都是定性的[2-4],而定量研究模型不多,比如:曹強[5]是從網絡存儲的存取過程入手,分析影響網絡存儲性能的各種因素,提出針對網絡存儲系統(tǒng)中的I/O響應時間的性能評估模型并進行了驗證;崔寶江[6]通過分析建立網絡RAID存儲系統(tǒng)的閉合排隊網絡模型,研究的是網絡RAID存儲系統(tǒng)的I/O響應時間的性能邊界;周薇[7]是基于使用光纖通道的磁盤陣列構建的存儲區(qū)域,利用排隊模型評估的是不同的預取策略對于存儲系統(tǒng)性能的影響。但是他們的分析僅僅是對網絡存儲系統(tǒng)性能的分析,而沒有再進一步,比如可以探討訪問模式和具體配置優(yōu)化的相關性等等。
本文是對iSCSI-SAN存儲系統(tǒng)中請求I/O的平均響應時間進行分析并建立排隊論數學模型,用帶寬比例求解方法,即系統(tǒng)負載所需的帶寬與陣列所能提供的帶寬的比例,來確定該存儲配置是否能滿足用戶的需求,達到優(yōu)化配置目的。
RAID(Redundant Array of Inexpensive Disks),簡稱“磁盤陣列”,這種磁盤陣列在提高存儲系統(tǒng)的容量、速度的同時,也提高了數據可靠性和數據管理,成為存儲系統(tǒng)的基礎存儲設備之一。
RAID可以將離散的磁盤變成RAID子系統(tǒng)。由于不同磁盤上的數據可以同時讀取,提高磁盤的帶寬,因此具有較高的性能;所有的磁盤可以并行執(zhí)行尋道工作,減少尋道時間,提高整體性能;還能保證一定程度的容錯性。
DAS(Direct Attached Storage)是服務器直接連接存儲的縮寫,是一種傳統(tǒng)的基本存儲結構,存儲設備直接連接在主機上。在中小型系統(tǒng)中,存儲設備和處理器是處在同一個機箱中的;在大型系統(tǒng)中,存儲設備和服務器分別處在不同的單元中,通過SCSI電纜、光纜或其他的纜線進行連接。具體如圖1所示。
圖1 DAS存儲架構圖
但是,當用戶進行大量數據訪問時還是容易造成“瓶頸”效應,因為服務器和多次存儲轉發(fā)的開銷對系統(tǒng)性能的制約作用,使得服務器成為整個系統(tǒng)的“瓶頸”。而且多個服務器之間各有各的存儲設備,不能實現存儲空間的共享,無法實現統(tǒng)一的管理軟件,在系統(tǒng)的管理上增加很大的難度和維護成本。
因此,直接連接存儲DAS這種存儲方式遠遠不能滿足企業(yè)分布式業(yè)務的需要,于是就發(fā)展出了網絡存儲技術。
網絡存儲技術就是將網絡技術和存儲I/O技術集成,利用網絡的可尋址能力、即插即用、連續(xù)性和靈活性,存儲具有高性能和高效率,提供基于網絡的數據存取和共享服務,在超大數據的存儲管理方面具有很顯著的優(yōu)勢。網絡存儲一般可以分為三大類:NAS、FC-SAN和iSCSI-SAN。
NAS(Network Attached Storage)是附網存儲的縮寫,這一概念是1996年從美國硅谷提出的,源于基于以太網的數據訪問技術,并以網絡服務器為模型。NAS在物理連接上是將存儲器直接連到網絡,是一種專用的數據存儲設備,可以向網絡用戶提供跨平臺的文件級海量數據信息共享。如圖2所示。
圖2 NAS存儲架構圖
NAS主要采用兩種基本的文件共享協議:NFS協議(網絡文件系統(tǒng))和CIFS協議(公用互聯網文件系統(tǒng)),從而能實現不同網絡環(huán)境下,用戶跨平臺共享數據。
但是,NAS存儲的缺點是帶寬消耗大,在進行數據備份時,由于多個存儲設備在同一個TCP/IP網絡上,備份時會占用大量的LAN資源。
SAN(Storage Area Network)[8]是存儲區(qū)域網絡的縮寫,它是將存儲設備從網絡分離出來,通過專用的存儲交換設備再連接到一群計算機上,采用高速的光纖通道作為傳輸媒體。SAN存儲有三個主要部分組成:計算機主機、光纖通道(Fiber Channel,FC)交換機和存儲設備,如圖3所示。
圖3 SAN存儲架構圖
從上圖3可以看到,由于SAN提供多主機的連接,使得網絡中的任何服務器都可以連接到任何的存儲陣列,于是不管數據存放在哪里,服務器都可以直接存取所需的數據,實現數據共享。并且隨著存儲容量的劇增,用戶只需增加磁盤陣列中的磁盤或是增加新的磁盤陣列就可以擴充企業(yè)或單位所需的存儲容量??梢?,SAN可以簡化管理,實現數據的集中存放和控制。SAN不只是一種產品,同時還是配置網絡化存儲的一種方法。它支持遠距離通信,并允許存儲設備真正與服務器隔離,使得存儲設備成為所有服務器共享的資源。
從上圖3中還可以看到系統(tǒng)有兩個網絡,一個是通常所使用的TCP/IP網絡,即互聯網;另一個是服務器和存儲設備之間的SAN網絡。
iSCSI即Internet SCSI,把SCSI命令裝在TCP中在IP網絡中傳輸,使得采用iSCSI協議接口的存儲設備可以直接掛接在互聯網上,構成IP-SAN。它既結合SAN結構的優(yōu)越性能,又充分利用了現有以太網設施。這是由IETF(Internet Engineering Task Force,互聯網工程任務組)開發(fā)的一種基于IP存儲網絡的新的技術標準。
iSCSI的工作原理如圖4所示。iSCSI協議是推動存儲區(qū)域網絡(SAN)技術快速發(fā)展的關鍵技術之一,因為它使數據存儲的傳送更加快捷。
圖4 iSCSI的協議棧
iSCSI-SAN技術結合了以太網和傳統(tǒng)I/O技術的特點,真正實現了系統(tǒng)中服務器端和存儲設備的分離。用戶可以根據需要在存儲網絡中增加服務器和存儲設備,而不改變現有的網絡結構以及當前應用的運行[9]。
排隊論(Queuing Theory)是研究排隊現象的理論和應用的學科,專門研究由于隨機因素的影響而產生擁擠現象的科學,也稱為隨機服務系統(tǒng)。排隊分析是計算機和網絡人員的重要工具之一[10]。
排隊系統(tǒng)有輸入過程、排隊規(guī)則、服務機構三部分組成,具體見圖5所示。最簡單的輸入過程是服從參數為λ的泊松分布,服務過程一般是服從參數為μ的負指數分布。
圖5 排隊系統(tǒng)一般模型圖
當系統(tǒng)中只有一個服務窗,顧客按參數為λ的泊松分布到達,并且任務到達的時間間隔與服務系統(tǒng)為每個顧客服務的時間均為負指數分布,這樣的排隊系統(tǒng)構成了M/M/1排隊模型。
其穩(wěn)定分布為:
如果服務窗為顧客服務的時間是一般分布G,系統(tǒng)就構成M/G/1排隊模型。它的平均排隊等待時間為:
在存儲系統(tǒng)中最常用到的排隊模型就是上述這幾類。
iSCSI-SAN存儲是基于iSCSI協議實現的IP-SAN存儲系統(tǒng),和SAN存儲系統(tǒng)的I/O路徑相比,只是光纖通道卡和光纖通道協議變?yōu)閕SCSI適配卡和iSCSI協議。所以,當用戶發(fā)出I/O請求時,應用程序通過調用訪問文件系統(tǒng),文件系統(tǒng)經分析這個I/O所在的設備和地址后,再發(fā)送給SCSI驅動程序,將相應的I/O轉化為SCSI命令,傳給iSCSI協議,將SCSI命令加入IP封裝打包后,經iSCSI適配卡送到TCP/IP網絡,經過IP網絡再經iSCSI適配卡和iSCSI協議傳送到iSCSI目標器的反向解包,還原出SCSI命令,傳送到RAID驅動程序,由它完成I/O請求的數據處理,之后按照相反的路徑將結果返回給用戶。
通過以上的I/O路徑的分析,可以知道在iSCSI-SAN存儲中的數據請求I/O響應時間是由命令延遲時間、數據校驗時間和數據傳輸時間組成(iSCSI協議的性能是不受iSCSI目標器設備的影響的)。
圖6 iSCSI-SAN的隊列模型[11]
上圖顯示iSCSI-SAN的隊列模型。當用戶I/O請求通過iSCSI協議到達SCSI陣列控制器后,SCSI陣列控制器根據陣列中的數據分布情況向陣列中的磁盤發(fā)出子I/O請求。磁盤收到I/O命令后,執(zhí)行請求,并由SCSI陣列控制器通過iSCSI網絡把結果返回給用戶。
可考慮將該系統(tǒng)分為3個基本的串行排隊模型,即服務器級的交換傳輸隊列、iSCSI協議中的服務隊列和存儲級的調度服務隊列。我們知道在排隊系統(tǒng)中,串行的多個排隊子系統(tǒng)的任務的響應時間可以分別計算,最后將各個滯留時間進行累計相加就是任務在系統(tǒng)中的總的響應時間,即:
其中,TSERVER為I/O請求在服務器級中的響應時間,TRAID為I/O請求在存儲級中的響應時間,而TiSCSI為I/O請求在iSCSI協議中的響應時間[11]。
在iSCSI-SAN存儲中的存儲環(huán)境復雜,要完成復雜系統(tǒng)的配置工作相應很有難度,因為其中的存儲設備不再屬于某個服務器,而是在存儲網絡中共享,同時服務器也可以在多個存儲設備上存儲數據。這就需要根據用戶具體的負載狀況進行優(yōu)化配置,合理分配存儲資源而不至于造成資源的浪費。
在iSCSI-SAN存儲中,可由用戶的應用負載相對存儲系統(tǒng)的帶寬比例關系,即系統(tǒng)負載所需的帶寬與陣列所能提供的帶寬的比例,來確定該存儲配置是否能滿足用戶的需求:如果帶寬比例小于等于1,表示該陣列的配置能滿足用戶需求;如果帶寬比例大于1,表示該陣列的配置是不能滿足用戶需求的;如果帶寬比例遠小于1,表示用戶的負載不能充分利用存儲資源,需要根據系統(tǒng)負載進行重新優(yōu)化配置,達到既能滿足用戶需求又能充分利用存儲資源的目的。
4.3.1 用戶負載
用戶負載應該包括該負載所占用的空間、I/O請求的到達率、平均I/O請求的大小、在I/O請求中讀寫請求分別占用的百分比以及在I/O請求中順序I/O請求和隨機I/O請求所占的比率等等,也可能存在多個用戶負載共享相同的存儲資源情況,這需要把這些用戶負載綜合起來考慮[12]。
4.3.2 帶寬比例的表示
如果iSCSI-SAN要滿足存儲網絡中有負載的帶寬,就必須滿足:作用在磁盤陣列上的負載所占用的帶寬小于域存儲控制器所允許的帶寬[13],即:
其中,i:表示用戶的負載;
R(Li):表示平均請求大小;
Bcontraller:表示域存儲控制器所允許的帶寬
4.3.3 iSCSI-SAN存儲中的iSCSI-SCSI陣列帶寬比例
由于磁盤陣列是iSCSI-SAN存儲中的最基本組成部分,也是存儲系統(tǒng)配置的基本單元,因此研究磁盤陣列在iSCSI-SAN存儲中的帶寬比例相當的重要。
iSCSI-SAN存儲中的磁盤陣列主要有兩種:L
(1)使用iSCSI協議連接到主機的磁盤陣列(簡稱iSCSISCSI陣列),如圖6所示;
(2)由iSCSI磁盤所組成的網絡磁盤陣列(簡稱iSCSI-iSCSI陣列)。
圖6所示的隊列模型中,iSCSI-SCSI陣列的帶寬比例取決于iSCSI網絡的帶寬比例和SCSI陣列中的帶寬比例,即:
如果SCSI陣列所提供的帶寬低于以太網的帶寬,那么SCSI磁盤陣列的帶寬比例就會高于iSCSI網絡的帶寬比例。又因為假設負載是均勻分布在系統(tǒng)中的各個磁盤上的,SCSI陣列的平均帶寬比例UiSCSI?RAID可以近似看成陣列中磁盤的平均帶寬比例USCSI?RAID,就有USCSI-RAID≈USCSI-Disk,那么就有帶寬比例的表達式:
其中,其中λ為I/O請求到達率,TDisk?server是系統(tǒng)中磁盤對I/O請求的服務時間。從式子中可以知道:iSCSI-SCSI陣列的帶寬比例只與SCSI陣列的帶寬比例有關,而與iSCSI網絡的性質沒有關系。
在(6)式子中的TDisk?server為磁盤的I/O服務時間,是由磁盤訪問延遲時間和磁盤傳輸時間組成的,磁盤訪問延遲時間包括尋道延遲和旋轉延遲,都可以從磁盤本身的出廠的參數中得到。
將(7)代入(6)就可以求得iSCSI-SAN存儲中iSCSI-SCSI陣列的帶寬比例表示式,將數據代入表達式后看,是否大于1?小于等于1?還是遠小于1?從而判斷出該系統(tǒng)的配置是否達到優(yōu)化配置?
iSCSI-SAN存儲的存儲環(huán)境較復雜,要完成系統(tǒng)的配置工作相應有難度,需要根據用戶具體的負載狀況進行優(yōu)化配置,合理分配存儲資源而不至于造成資源的浪費。本文通過分析,找到了用戶的應用負載相對存儲系統(tǒng)的帶寬比例關系,即系統(tǒng)負載所需的帶寬與陣列所能提供的帶寬的比例,來確定該存儲配置是否能滿足用戶的需求:如果帶寬比例小于等于1,表示該陣列的配置能滿足用戶需求;如果帶寬比例大于1,表示該陣列的配置是不能滿足用戶需求的;如果帶寬比例遠小于1,表示用戶的負載不能充分利用存儲資源,需要根據系統(tǒng)負載進行重新優(yōu)化配置,達到既能滿足用戶需求又能充分利用存儲資源的目的。本文僅從理論上進行了分析,有待進一步進行實證檢驗。
[1]張江陵,馮丹著.海量信息存儲(第1版)[M].北京:科學出版社,2003:22-24.
[2]Luyp,David.Performance study of Iscsi-based storage subsystems [J].IEEE Communications Magazine,2003,41(8):76-82.
[3]Hexb, Beedanagari,Zhou D.Performance evaluation of distributed iSCSI RAID[A].Proceedings of the 2003 IEEE/ACM International Workshop on Storage Network Architecture and Parallel I/O(SNAPI'03).New Orleans,LA, USA,2003.
[4]Weetn,Hillyer,Shriver E.Obtaining high performance for storage outsourcing[A].Procee-dings of Conference on File and Storage Technologies (FAST'02).Monterey,California,2002:145-158.
[5]曹強,謝長生.網絡存儲系統(tǒng)中I/O請求時間的研究[J].計算機研究與發(fā)展,2003,40(8):1271-1275.
[6]崔寶江等.網絡存儲系統(tǒng)I/O響應時間邊界性能研究[J].通信學報,2006,27(1):70-74.
[7]周薇等.排隊論在計算機存儲系統(tǒng)性能中的應用和分析[J].微計算機信息,2006,22(7-3):271-296.
[8][美]Marc Farley著,孫功星等譯.SAN存儲區(qū)域網絡(第2版)[M].機械工業(yè)出版社,2002:12-34.
[9]B.Phillips.Have storage area networks come of age.Computer[J].1998,31(7):10-12.
[10]徐玖平等編著.運籌學[M].北京:科學出版社,2004:247-275.
[11]向東.iSCSI-SAN網絡異構存儲系統(tǒng)管理策略的研究.[博士學位論文].中國:華中科技大學,2002.
[12]C.Ruemmler,J.Wilkes.Unix disk access patterns.Winter USENIX,January 1993:405-420.
[13]林闖.計算機網絡和計算機系統(tǒng)的性能評價(第1版)[M].北京:清華大學出版社,2001:356.