IT技術(shù)的發(fā)展經(jīng)歷三次浪潮:第一次浪潮以處理技術(shù)為中心,以處理器的發(fā)展為核心動(dòng)力,產(chǎn)生了計(jì)算機(jī)工業(yè),促進(jìn)了計(jì)算機(jī)的迅速普及和應(yīng)用;第二次浪潮以傳輸技術(shù)為中心,以網(wǎng)絡(luò)的發(fā)展為核心動(dòng)力。這兩次浪潮極大地加速了信息數(shù)字化進(jìn)程,使得越來(lái)越多的人類信息活動(dòng)轉(zhuǎn)變?yōu)閿?shù)字形式,從而導(dǎo)致數(shù)字化信息爆炸性地增長(zhǎng),進(jìn)而引發(fā)IT技術(shù)的第三次發(fā)展浪潮:存儲(chǔ)技術(shù)浪潮。
存儲(chǔ)技術(shù)浪潮的核心是基于網(wǎng)絡(luò)的存儲(chǔ)技術(shù)。目前,流行的網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)主要有兩種:附網(wǎng)存儲(chǔ)(NAS)和存儲(chǔ)區(qū)域網(wǎng)(SAN)。按照存儲(chǔ)網(wǎng)絡(luò)工業(yè)協(xié)會(huì)(SNIA)的定義:NAS是可以直接聯(lián)到網(wǎng)絡(luò)上向用戶提供文件級(jí)服務(wù)的存儲(chǔ)設(shè)備,而SAN是一種利用FibreChannel等互聯(lián)協(xié)議連接起來(lái)的可以在服務(wù)器和存儲(chǔ)系統(tǒng)之間直接傳送數(shù)據(jù)的網(wǎng)絡(luò)。NAS是一種存儲(chǔ)設(shè)備,有其自己簡(jiǎn)化的實(shí)時(shí)操作系統(tǒng),它將硬件和軟件有效地集成在一起,用以提供文件服務(wù),具有良好的共享性、開放性、可擴(kuò)展性。SAN技術(shù)的存儲(chǔ)設(shè)備是用專用網(wǎng)絡(luò)相連的,這個(gè)網(wǎng)絡(luò)是一個(gè)基于光纖通道協(xié)議的網(wǎng)絡(luò)。由于光纖通道的存儲(chǔ)網(wǎng)和LAN分開,性能就很高。在SAN中,容量擴(kuò)展、數(shù)據(jù)遷移、數(shù)據(jù)本地備份和遠(yuǎn)程容災(zāi)數(shù)據(jù)備份都比較方便,整個(gè)SAN成為一個(gè)統(tǒng)一管理的存儲(chǔ)池(storagepool)。由于具有這些優(yōu)異的性能,SAN已成為企業(yè)存儲(chǔ)的重要技術(shù)。
但在實(shí)際應(yīng)用中NAS和SAN也存在很多缺陷,越來(lái)越不能滿足IT技術(shù)的快速發(fā)展和數(shù)字化信息爆炸性地增長(zhǎng)的需求。如NAS設(shè)備存在如下缺陷:(1)數(shù)據(jù)的傳輸速度慢,因?yàn)镹AS只能提供文件級(jí)而不能提供塊級(jí)的數(shù)據(jù)傳輸;(2)數(shù)據(jù)備份時(shí)性能較低,NAS在數(shù)據(jù)備份時(shí)要占用其大部分網(wǎng)絡(luò)帶寬,其它I/O性能受到影響;(3)只能管理單個(gè)NAS,很難將位于同一局域網(wǎng)中的多個(gè)NAS集中管理。SAN也存在以下缺陷:(1)設(shè)備的互操作性較差,不同廠家的設(shè)備很難互操作;(2)構(gòu)建SAN成本高,目前只有實(shí)力較大的企業(yè)構(gòu)建自己的SAN;(3)管理和維護(hù)成本高,企業(yè)需要花錢培訓(xùn)專門的管理和維護(hù)人員;(4)SAN只能提供存儲(chǔ)空間共享而不能提供異構(gòu)環(huán)境下的文件共享。
針對(duì)NAS和SAN的優(yōu)缺點(diǎn),目前出現(xiàn)了多種新的網(wǎng)絡(luò)存儲(chǔ)技術(shù),如:NASGateway(NAShead)、基于IP的SAN技術(shù)、對(duì)象存儲(chǔ)技術(shù)。NAS網(wǎng)關(guān)能將SAN連結(jié)到IP網(wǎng)絡(luò),使IP網(wǎng)絡(luò)用戶能通過(guò)NAS網(wǎng)關(guān)直接訪問(wèn)SAN中的存儲(chǔ)設(shè)備,所以NAS網(wǎng)關(guān)具有以下優(yōu)點(diǎn):能使NAS和SAN互連在同一LAN中,突破了FC拓?fù)涞南拗?,允許FC設(shè)備在IP網(wǎng)絡(luò)使用;減少了光纖設(shè)備的訪問(wèn)成本,允許訪問(wèn)未有充分利用的SAN存儲(chǔ)空間?;贗P的SAN互連技術(shù)主要包括:FCIP(IPtunneling)、iFCP、iSCSI、Infiniband、mFCP,其代表技術(shù)是iSCSI技術(shù)。iSCSI技術(shù)原理是將SCSI協(xié)議映射到TCP/IP之上,即將主機(jī)的SCSI命令封裝成TCP/IP數(shù)據(jù)包,在IP網(wǎng)絡(luò)上傳輸,到達(dá)目的節(jié)點(diǎn)后,再恢復(fù)成封裝前的SCSI命令,從而實(shí)現(xiàn)SCSI命令在IP網(wǎng)絡(luò)上的直接、透明傳輸,使訪問(wèn)遠(yuǎn)程的SCSI盤可以像本地的硬盤一樣方便。存儲(chǔ)對(duì)象具有文件和塊二者的優(yōu)點(diǎn):象數(shù)據(jù)塊一樣在存儲(chǔ)設(shè)備上被直接訪問(wèn);通過(guò)一個(gè)對(duì)象接口,能象文件一樣,在不同操作系統(tǒng)平臺(tái)上實(shí)現(xiàn)數(shù)據(jù)共享。NASGateway雖實(shí)現(xiàn)了NAS和SAN在IP的融合,但不是真正的融合,因?yàn)樗荒軐AS設(shè)備和SAN設(shè)備融合起來(lái)向用戶提供統(tǒng)一的存儲(chǔ)池,用戶也只能以文件I/O的方式訪問(wèn)存儲(chǔ)設(shè)備。對(duì)象存儲(chǔ)雖具有NAS和SAN的優(yōu)點(diǎn),但需要設(shè)計(jì)專門的對(duì)象存儲(chǔ)接口,需要對(duì)現(xiàn)有的文件系統(tǒng)進(jìn)行修改,這阻礙了它的進(jìn)一步普及推廣。
本文提出并實(shí)現(xiàn)了一種在IP協(xié)議下融合iSCSI、NAS、SAN的統(tǒng)一存儲(chǔ)網(wǎng)絡(luò)(簡(jiǎn)稱USN)。在USN中,NAS設(shè)備、iSCSI設(shè)備和SAN設(shè)備并存,用戶可以塊I/O的方式訪問(wèn)USN中的iSCSI設(shè)備和SAN存儲(chǔ)設(shè)備,也可以文件I/O方式訪問(wèn)USN中的NAS存儲(chǔ)設(shè)備和SAN存儲(chǔ)設(shè)備,整個(gè)USN是一個(gè)統(tǒng)一的存儲(chǔ)池。并且,USN能同時(shí)提供服務(wù)器通道和附網(wǎng)高速通道向客戶機(jī)提供數(shù)據(jù),減少了服務(wù)器瓶頸,提高系統(tǒng)的I/O速度。USN既有NAS的優(yōu)點(diǎn)(低成本、開放性、文件共享),又有SAN的優(yōu)點(diǎn)(高性能、高擴(kuò)展性)。USN同NASGateway(NAShead)技術(shù)、基于IP的SAN技術(shù)、對(duì)象存儲(chǔ)技術(shù)相比具有明顯的優(yōu)勢(shì)。
USN總體結(jié)構(gòu)
USN系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。USN由NAS設(shè)備、iSCSI設(shè)備和SAN設(shè)備,以及元數(shù)據(jù)服務(wù)器和應(yīng)用服務(wù)器組成。用戶可以文件I/O的方式訪問(wèn)USN中的NAS設(shè)備和經(jīng)過(guò)NAS頭訪問(wèn)SAN中的存儲(chǔ)設(shè)備,也可以塊I/O的方式訪問(wèn)USN中的iSCSI設(shè)備和SAN中的存儲(chǔ)設(shè)備。USN同時(shí)向用戶提供服務(wù)器通道和附網(wǎng)高速通道,對(duì)于元數(shù)據(jù)和小數(shù)據(jù)請(qǐng)求都經(jīng)過(guò)服務(wù)器通道完成,對(duì)于大數(shù)據(jù)請(qǐng)求則經(jīng)過(guò)附網(wǎng)高速通道完成,這樣大大提高整個(gè)系統(tǒng)的I/O速度,減少服務(wù)器瓶頸。整個(gè)USN是用基于IP的技術(shù)構(gòu)建,可以兼容現(xiàn)有的存儲(chǔ)系統(tǒng),添加和刪除存儲(chǔ)設(shè)備都很方便。所以,整個(gè)系統(tǒng)的性能、擴(kuò)展性都很好。USN真正實(shí)現(xiàn)了NAS和SAN的統(tǒng)一,即同一存儲(chǔ)網(wǎng)絡(luò)中既有NAS設(shè)備,又有SAN結(jié)構(gòu);實(shí)現(xiàn)文件I/O和塊I/O的統(tǒng)一,即用戶可以文件I/O方式(文件為單位)也可以塊I/O方式(塊為單位)訪問(wèn)USN中的設(shè)備;實(shí)現(xiàn)了文件協(xié)議和塊協(xié)議在TCP/IP協(xié)議上的統(tǒng)一,用戶可以NFS(Unix用戶)和CIFS(Windows用戶)訪問(wèn)USN,也可以SCSI(iSCSI用戶)訪問(wèn)USN。
圖2是USN的軟件結(jié)構(gòu)圖,其中GMPFS是全局多協(xié)議文件系統(tǒng),位于USN系統(tǒng)中的各個(gè)應(yīng)用服務(wù)器上,它支持使用CIFS協(xié)議的Windows用戶對(duì)USN的訪問(wèn),支持使用NFS協(xié)議的UNIX用戶對(duì)USN的訪問(wèn),也支持使用iSCSI協(xié)議的塊協(xié)議用戶對(duì)USN的訪問(wèn)。GMPFS通過(guò)對(duì)目前存儲(chǔ)系統(tǒng)所使用的元數(shù)據(jù)進(jìn)行擴(kuò)展,采用啟發(fā)式的方法,收集用戶應(yīng)用信息,為用戶提供統(tǒng)一、方便、快捷的存儲(chǔ)訪問(wèn)接口以及合理的數(shù)據(jù)存儲(chǔ)方案。ASA是自主存儲(chǔ)代理模塊,它能夠自動(dòng)地發(fā)現(xiàn)海量存儲(chǔ)系統(tǒng)中存儲(chǔ)設(shè)備的種類和可利用的各種資源,自主地對(duì)這些存儲(chǔ)設(shè)備和資源進(jìn)行有效的統(tǒng)一管理和優(yōu)化。ASA根據(jù)應(yīng)用的不同和應(yīng)用的具體需求,安排與應(yīng)用相適應(yīng)的存儲(chǔ)設(shè)備種類、性能以及可靠性和可用性等級(jí)等,并為I/O請(qǐng)求選擇合適的數(shù)據(jù)通道,使應(yīng)用得到最優(yōu)的存儲(chǔ)資源分配,從而使整個(gè)系統(tǒng)的性能達(dá)到最佳。
系統(tǒng)設(shè)計(jì)
USN是一個(gè)復(fù)雜的系統(tǒng),涉及到許多復(fù)雜的技術(shù),本文主要論述其核心技術(shù)的設(shè)計(jì)和實(shí)現(xiàn),即GMPFS、ASA和iSCSI系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。GMPFS可以駐留在多種操作系統(tǒng)平臺(tái)上(UNIX,Windows,Linux),支持各種協(xié)議用戶的訪問(wèn)(NFS,CIFS,iSCSI),為用戶或應(yīng)用程序提供對(duì)網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)的數(shù)據(jù)訪問(wèn)服務(wù)。ASA將多種存儲(chǔ)技術(shù)(這些存儲(chǔ)技術(shù)各有所長(zhǎng),也各有所短)整合為一個(gè)統(tǒng)一的海量存儲(chǔ)系統(tǒng),充分發(fā)揮各種存儲(chǔ)技術(shù)的優(yōu)勢(shì),使得該存儲(chǔ)系統(tǒng)對(duì)特定的應(yīng)用程序而言服務(wù)性能達(dá)到最優(yōu),有效地滿足多方面的應(yīng)用需求。iSCSI真正的實(shí)現(xiàn)了塊I/O和文件I/O在IP網(wǎng)絡(luò)上的統(tǒng)一,文件協(xié)議和塊協(xié)議在IP協(xié)議上的統(tǒng)一。
全局多協(xié)議文件系統(tǒng)的設(shè)計(jì)
GMPFS保留了分布式文件系統(tǒng)的靈活性和高性能的優(yōu)點(diǎn),而克服了其在不同I/O協(xié)議支持方面的缺陷,能同時(shí)支持NFS、CIFS和iSCSI協(xié)議用戶的訪問(wèn)。GMPFS在提供文件存取的方法和文件目錄結(jié)構(gòu)的同時(shí),還為每種存儲(chǔ)卷提供特定的存儲(chǔ)模式。每種存儲(chǔ)模式包含某種文件系統(tǒng)的元數(shù)據(jù)結(jié)構(gòu),操作接口(文件類型和數(shù)據(jù)塊類型),功能函數(shù)集(格式化,檢索等),優(yōu)化方法(cache方法和預(yù)取等)和存儲(chǔ)空間分配回收方法及數(shù)據(jù)結(jié)構(gòu)。對(duì)于文件卷而言,存儲(chǔ)模式包含實(shí)現(xiàn)POSIX語(yǔ)義的操作函數(shù)和文件目錄結(jié)構(gòu);對(duì)于分區(qū)卷而言,存儲(chǔ)模式必須面向特定分區(qū)類型,如NTFS,ext3。所有的存儲(chǔ)模式都必須在元數(shù)據(jù)服務(wù)器中的ASA系統(tǒng)中注冊(cè),以便ASA為用戶的I/O請(qǐng)求進(jìn)行通道選擇。
GMPFS的結(jié)構(gòu)如圖3所示。其中協(xié)議轉(zhuǎn)換接口主要通過(guò)NFS的擴(kuò)展程序模塊和samba模塊的組合對(duì)NFS協(xié)議和CIFS協(xié)議的支持,并通過(guò)iSCSI目標(biāo)器驅(qū)動(dòng)程序的擴(kuò)展對(duì)iSCSI協(xié)議的支持。啟發(fā)式數(shù)據(jù)管理接口主要是用啟發(fā)式方法獲得用戶對(duì)存儲(chǔ)數(shù)據(jù)的需要,如性能、使用率以及安全性等。GMPFS數(shù)據(jù)組織邏輯界面提供數(shù)據(jù)組織的邏輯視圖,這一點(diǎn)正是針對(duì)傳統(tǒng)文件系統(tǒng)文件目錄結(jié)構(gòu)對(duì)于海量數(shù)據(jù)難以管理的弱點(diǎn),在增加元數(shù)據(jù)信息的前提下,通過(guò)查詢和檢索,按照用戶需要提供各種類型文件視圖,例如根據(jù)文件創(chuàng)建的用戶和時(shí)間進(jìn)行分類。擴(kuò)展的文件或卷操作接口、數(shù)據(jù)組織與分配管理、元數(shù)據(jù)組織結(jié)構(gòu)和I/O定向器等主要是保證與傳統(tǒng)的文件系統(tǒng)操作語(yǔ)義兼容,實(shí)現(xiàn)程序級(jí)的數(shù)據(jù)訪問(wèn)。應(yīng)用程序無(wú)需修改就可以使用USN系統(tǒng)中的數(shù)據(jù)。提供與元數(shù)據(jù)服務(wù)器中的ASA及存儲(chǔ)資源的接口和通訊,能充分利用ASA系統(tǒng)所掌握的存儲(chǔ)資源,合理組織數(shù)據(jù),滿足用戶或應(yīng)用程序?qū)?shù)據(jù)存儲(chǔ)的多方面、個(gè)性化要求。如通過(guò)同時(shí)提供服務(wù)器通道和附網(wǎng)高速通道,改善用戶的I/O性能服務(wù),減少服務(wù)器瓶頸。
iSCSI系統(tǒng)設(shè)計(jì)
iSCSI協(xié)議定義的是SCSI到TCP/IP的映射,即將主機(jī)的SCSI命令封裝成IP數(shù)據(jù)包,在IP網(wǎng)絡(luò)上傳輸,到達(dá)目的節(jié)點(diǎn)后,再恢復(fù)成封裝前的SCSI命令,從而實(shí)現(xiàn)SCSI命令在IP網(wǎng)絡(luò)上的直接、透明傳輸。它整合了現(xiàn)有的存儲(chǔ)協(xié)議SCSI和主流網(wǎng)絡(luò)協(xié)議TCP/IP等兩種主流協(xié)議,實(shí)現(xiàn)了存儲(chǔ)和網(wǎng)絡(luò)的無(wú)縫融合。從應(yīng)用的角度看,iSCSI一方面通過(guò)SCSI命令的遠(yuǎn)程傳送,實(shí)現(xiàn)了和遠(yuǎn)程存儲(chǔ)設(shè)備的命令級(jí)交互,使用戶訪問(wèn)遠(yuǎn)程的SCSI設(shè)備像本地的SCSI設(shè)備一樣方便,而且具有高速度;另一方面也可用于改造傳統(tǒng)的NAS、SAN技術(shù),實(shí)現(xiàn)NAS和SAN的融合。iSCSI系統(tǒng)是USN系統(tǒng)的核心部分之一,iSCSI的設(shè)計(jì)實(shí)現(xiàn)了基于IP的數(shù)據(jù)塊訪問(wèn)機(jī)制。
目前iSCSI的實(shí)現(xiàn)方式可以考慮采用以下三種方式:純軟件方式、智能iSCSI網(wǎng)卡實(shí)現(xiàn)方式、iSCSIHBA卡實(shí)現(xiàn)方式。由于我們是設(shè)計(jì)USN的原形系統(tǒng),所以只采用純軟件方式,iSCSIHBA卡方式是下一步產(chǎn)品化我們將實(shí)現(xiàn)的目標(biāo)。iSCSI系統(tǒng)整體設(shè)計(jì)模型如圖4所示(不包括管理模塊)。服務(wù)器端(Target)采用linux操作系統(tǒng),客戶端(Initiator)采用Windows2000。SCSI微端口驅(qū)動(dòng)在系統(tǒng)中生成一個(gè)虛擬的SCSI磁盤,過(guò)濾驅(qū)動(dòng)截獲系統(tǒng)發(fā)給SCSI磁盤的SCSI命令,通過(guò)核心態(tài)的網(wǎng)絡(luò)接口發(fā)給服務(wù)器處理。
自主存儲(chǔ)代理系統(tǒng)的設(shè)計(jì)
自主存儲(chǔ)代理ASA的一端面對(duì)海量存儲(chǔ)系統(tǒng)。目前的存儲(chǔ)系統(tǒng)有DAS(直連存儲(chǔ))、NAS、SAN、iSCSI等,ASA能夠自動(dòng)地發(fā)現(xiàn)海量存儲(chǔ)系統(tǒng)中存儲(chǔ)設(shè)備的種類和可利用的各種資源,自主地對(duì)這些存儲(chǔ)設(shè)備和資源進(jìn)行有效的統(tǒng)一管理和優(yōu)化;根據(jù)應(yīng)用的不同和應(yīng)用程序的具體需求,安排與應(yīng)用程序相適應(yīng)的存儲(chǔ)設(shè)備種類、性能以及可靠性和可用性等級(jí)等,使應(yīng)用程序得到最優(yōu)的存儲(chǔ)資源分配。
ASA的另一端面對(duì)應(yīng)用程序(GMPFS)。ASA通過(guò)對(duì)目前存儲(chǔ)系統(tǒng)所使用的元數(shù)據(jù)進(jìn)行擴(kuò)展,采用啟發(fā)式的方法,收集用戶應(yīng)用信息,為用戶提供統(tǒng)一、方便、快捷的存儲(chǔ)訪問(wèn)接口以及合理的數(shù)據(jù)存儲(chǔ)方案;根據(jù)用戶I/O請(qǐng)求所涉及數(shù)據(jù)的屬性,選擇客戶端與存儲(chǔ)設(shè)備交互數(shù)據(jù)的通道,即元數(shù)據(jù)(目錄、卷信息等)和小數(shù)據(jù)I/O請(qǐng)求,選擇服務(wù)器通道,對(duì)大數(shù)據(jù)I/O請(qǐng)求選擇高速附網(wǎng)通道。大、小數(shù)據(jù)I/O請(qǐng)求由ASA自主地根據(jù)整個(gè)系統(tǒng)的I/O信息量進(jìn)行調(diào)整。ASA系統(tǒng)結(jié)構(gòu)如圖5所示。
客戶端與USN交互流程
USN系統(tǒng)中包括三類用戶:Windows文件I/O用戶(使用CIFS協(xié)議),Unix文件I/O用戶(使用NFS協(xié)議),iSCSI塊I/O用戶(使用iSCSI協(xié)議)。用戶在客戶端與USN系統(tǒng)交互流程與圖6所示。
塊I/O客戶的具體的數(shù)據(jù)讀寫流程為(如圖6):(1)客戶1上的應(yīng)用程序發(fā)出的塊I/O命令(SCSI命令)經(jīng)iSCSI設(shè)備驅(qū)動(dòng)層和TCP/IP協(xié)議棧之后,封裝成IP數(shù)據(jù)包,在IP網(wǎng)絡(luò)上傳輸;(2)封裝后的SCSI命令達(dá)到USN服務(wù)器之后,經(jīng)解封裝,恢復(fù)成封裝前的SCSI命令,USN服務(wù)器利用這些SCSI命令對(duì)iSCSI存儲(chǔ)設(shè)備發(fā)出塊I/O讀寫請(qǐng)求;(3)被請(qǐng)求的數(shù)據(jù)塊經(jīng)iSCSI設(shè)備中的iSCSI層和TCP/IP協(xié)議棧封裝成PDU,iSCSI設(shè)備傳送的PDU到客戶端可經(jīng)兩個(gè)途徑:一種是經(jīng)過(guò)服務(wù)器轉(zhuǎn)發(fā),一種是經(jīng)過(guò)高速附網(wǎng)通道直接傳到客戶端;(4)PDU經(jīng)IP網(wǎng)絡(luò)上傳輸返回到客戶1后,PDU經(jīng)客戶1解封裝并由其文件系統(tǒng)組合成文件。
當(dāng)USN系統(tǒng)提供FileI/O服務(wù)時(shí),其數(shù)據(jù)讀寫過(guò)程(如圖6所示):(1)客戶2(文件I/O)向USN服務(wù)器發(fā)出文件讀寫請(qǐng)求(其工作方式和傳統(tǒng)的NAS相同);(2)USN服務(wù)器接到客戶端的文件讀寫請(qǐng)求后:一方面,將該I/O請(qǐng)求發(fā)給對(duì)應(yīng)的NAS設(shè)備或NAS頭,NAS設(shè)備或NAS頭將所請(qǐng)求數(shù)據(jù)傳給USN服務(wù)器,再經(jīng)USN服務(wù)器傳到客戶端;另一方面USN服務(wù)器不把文件I/O請(qǐng)求傳到NAS或NAS頭,而是將NAS或NAS頭的IP地址傳給客戶端,客戶端通過(guò)該IP地址直接與NAS或NAS頭進(jìn)行數(shù)據(jù)交互。
這里的NAS頭主要是支持FC協(xié)議的SAN設(shè)備能直接掛到TCP/IP網(wǎng)絡(luò),支持NFS/CIFS用戶的訪問(wèn),NAS頭也可安裝iSCSI目標(biāo)器驅(qū)動(dòng)程序支持iSCSI用戶的訪問(wèn)。不論是塊I/O請(qǐng)求還是文件I/O請(qǐng)求,都可通過(guò)附網(wǎng)高速通道實(shí)現(xiàn)客戶端與存儲(chǔ)設(shè)備的數(shù)據(jù)交互。
試驗(yàn)評(píng)估
從客戶端對(duì)構(gòu)建USN的各子存儲(chǔ)系統(tǒng)以及整個(gè)USN進(jìn)行功能和性能評(píng)測(cè),并作進(jìn)一步的比較。我們從兩個(gè)方面對(duì)統(tǒng)一存儲(chǔ)網(wǎng)進(jìn)行測(cè)試:功能測(cè)試和性能測(cè)試。功能測(cè)試包括:(1)構(gòu)建100M及1000M以太網(wǎng)環(huán)境,將iSCSI存儲(chǔ)設(shè)備與服務(wù)器連接;在服務(wù)器操作系統(tǒng)中安裝iSCSI軟件包后,使用戶能夠通過(guò)網(wǎng)絡(luò)獲得iSCSI存儲(chǔ)設(shè)備提供的存儲(chǔ)空間,并能象使用本地硬盤一樣對(duì)其進(jìn)行操作。
本測(cè)試項(xiàng)測(cè)試服務(wù)器端iSCSI盤安裝、設(shè)置、管理和使用等各項(xiàng)功能;(2)iSCSI存儲(chǔ)設(shè)備作為NAS頭的存儲(chǔ)設(shè)備,與NAS頭組成一個(gè)NAS存儲(chǔ)系統(tǒng),本測(cè)試項(xiàng)測(cè)試iSCSI盤在NAS中的安裝、設(shè)置、管理和使用等各項(xiàng)功能;(3)iSCSI盤與本地盤、FC-RAID盤構(gòu)成各種冗余度的RAID,本測(cè)試項(xiàng)測(cè)試各種存儲(chǔ)盤在RAID中的安裝、配置、管理和使用等各項(xiàng)功能;(4)多個(gè)NAS、iSCSI設(shè)備、NAS頭連接FC-RAID通過(guò)多GMPFS和ASA構(gòu)建成USN海量存儲(chǔ)系統(tǒng),本項(xiàng)測(cè)試測(cè)試GMPFS和ASA系統(tǒng)在融合NAS、iSCSI和SAN的系統(tǒng)中的安裝、配置及使用等各項(xiàng)功能。
性能測(cè)試包括:測(cè)試在100M和1000M網(wǎng)環(huán)境中不同工作負(fù)載下NAS存儲(chǔ)設(shè)備、iSCSI存儲(chǔ)設(shè)備、FC-RAID、本地硬盤以及它們組成的海量USN系統(tǒng)的數(shù)據(jù)傳輸性能:包括單位時(shí)間內(nèi)的IO次數(shù)、一次IO的平均響應(yīng)時(shí)間、數(shù)據(jù)傳輸率和CPU利用率。該項(xiàng)測(cè)試的主要思想是針對(duì)不同的網(wǎng)絡(luò)應(yīng)用環(huán)境,對(duì)各種存儲(chǔ)設(shè)備和各種傳輸通道進(jìn)行頻繁的IO處理,在確定時(shí)間內(nèi)統(tǒng)計(jì)并計(jì)算IO率、數(shù)傳率、響應(yīng)時(shí)間、CPU利用率等性能參數(shù),從而得到的各種性能評(píng)估。
測(cè)試環(huán)境
iSCSI存儲(chǔ)設(shè)備:P42.0GHzCPU,256MBDRAM,IBMDPSS31835018G硬盤,RedhatLinux9.0操作系統(tǒng);LINUX服務(wù)器:Pentium42.66GHz(FC2PGA)CPU,256MBDRAM,80GBUltraATA/1007,200rpm硬盤,RedhatLinux9.0操作系統(tǒng);WINDOWS服務(wù)器端:XEON3.06GHzCPU,512MDRAM內(nèi)存,SmartArray6i(板載)存儲(chǔ)控制器,QlogicQLA2300PCIFCAdapter光纖適配器,IBM36。4GB(32P0726)10Krpm硬盤,MicrosoftWindows2003操作系統(tǒng);FC-RAID:NexStor4000S,CPU600MHZ,512MSDRAM,10×ST314680FC硬盤;普通NAS存儲(chǔ)設(shè)備:P42.66GHzCPU,512MBDDR,Maxtor160G硬盤,RedhatLinux9.0操作系統(tǒng)。
網(wǎng)絡(luò)連接:iSCSI設(shè)備和普通NAS設(shè)備都使用100M以太網(wǎng)卡RealtekRTL8139;Windows服務(wù)器使用1000M以太網(wǎng)卡HPNC7782GigabitServerAdapter;Linux服務(wù)器使用1000M以太網(wǎng)卡。HPNC7782GigabitServerAdapter。
功能測(cè)試
根據(jù)測(cè)試流程,功能測(cè)試包括三個(gè)方面的內(nèi)容:(2)平臺(tái)的統(tǒng)一,即在Windows下能通過(guò)單一目錄樹方式訪問(wèn)多個(gè)存儲(chǔ)節(jié)點(diǎn),功能與Linux下的pvfs相似;(2)協(xié)議的統(tǒng)一,即通過(guò)Windows的“計(jì)算機(jī)管理”和Initiator發(fā)起端(iSCSI客戶端)可以管理FC-RAID和iSCSITarget及普通的NAS設(shè)備,并利用“動(dòng)態(tài)磁盤機(jī)制”實(shí)現(xiàn)多種冗余;設(shè)備的統(tǒng)一,即iSCSITarget通過(guò)和initiator配合,使得該Target成為NAS系統(tǒng)中的一個(gè)存儲(chǔ)設(shè)備。
性能測(cè)試
測(cè)試內(nèi)容
采用第三方的IOMETER測(cè)試軟件進(jìn)行的測(cè)試。IOMETER是INTEL公司專門開發(fā)的用于測(cè)試系統(tǒng)I/O性能的測(cè)試程序。它的測(cè)試參數(shù)比較全面,能非常全面的反映服務(wù)器的I/O性能。為了說(shuō)明USN存儲(chǔ)系統(tǒng)的性能,在相同條件下測(cè)試以下項(xiàng)目進(jìn)行對(duì)比分析:(1)對(duì)USN服務(wù)器本地硬盤讀寫性能測(cè)試;(2)100M以太網(wǎng)環(huán)境下FC-RAID盤讀寫性能測(cè)試;(3)100M以太網(wǎng)環(huán)境下遠(yuǎn)程iSCSI盤讀寫性能測(cè)試;(4)100M以太網(wǎng)環(huán)境下FC-RAID盤和遠(yuǎn)程iSCSI盤構(gòu)建的各級(jí)RAID盤的讀寫性能測(cè)試;(5)1000M以太網(wǎng)環(huán)境下遠(yuǎn)程iSCSI盤讀寫性能測(cè)試;(6)100M以太網(wǎng)環(huán)境下USN系統(tǒng)的讀寫性能測(cè)試。
實(shí)驗(yàn)結(jié)果比較
本地IDE硬盤、100MiSCSI硬盤、1000MiSCSI硬盤、FC-RAID、FC-RAID與iSCSI構(gòu)成的RAID0及USN系統(tǒng)數(shù)據(jù)傳輸率性能比較如圖7所示。
本地IDE硬盤、100MiSCSI硬盤、1000MiSCSI硬盤、FC-RAID及FC-RAID與iSCSI構(gòu)成的RAID0,以及USN的IO/s性能比較如圖8所示。
本地IDE硬盤、100MiSCSI硬盤、1000MiSCSI硬盤、FC-RAID及FC-RAID與iSCSI構(gòu)成的RAID0,以及USN的平均響應(yīng)時(shí)間性能比較如圖9所示。
本地IDE硬盤、100MiSCSI硬盤、1000MiSCSI硬盤、FC-RAID及FC-RAID與iSCSI構(gòu)成的RAID0,以及USN的CPU占用率比較如圖10所示。
實(shí)驗(yàn)結(jié)果分析
請(qǐng)求文件或數(shù)據(jù)塊大小對(duì)存儲(chǔ)系統(tǒng)性能的影響從圖7、圖8和圖9中單條曲線的走勢(shì)可以看出,當(dāng)請(qǐng)求文件或數(shù)據(jù)塊較大時(shí),從目的盤或系統(tǒng)上讀寫數(shù)據(jù)耗費(fèi)的時(shí)間長(zhǎng),通過(guò)網(wǎng)絡(luò)傳輸?shù)臅r(shí)間也相應(yīng)增加,所以:小包的平均響應(yīng)時(shí)間<;大包的平均響應(yīng)時(shí)間,小包的IOps>;大包的IOps。請(qǐng)求包大時(shí),針對(duì)一個(gè)請(qǐng)求包所進(jìn)行的額外操作較請(qǐng)求包小時(shí)少,連續(xù)的讀寫所耗費(fèi)的時(shí)間小于小包讀寫所耗費(fèi)的時(shí)間,因此:小包的MBps<;大包的MBps。
服務(wù)器端iSCSI盤的各項(xiàng)性能表現(xiàn)趨勢(shì)在100M以太網(wǎng)和千兆以太網(wǎng)環(huán)境中不同請(qǐng)求包大小的情況下符合上述規(guī)律,本地IDE硬盤、FC-RAID和USN系統(tǒng)也符合上述述規(guī)律。
性能分析
從圖7、圖8和圖9可以看出,I/O請(qǐng)求在1k~128kB時(shí),USN系統(tǒng)的I/O請(qǐng)求響應(yīng)速度比本地IDE硬盤、FC-RAID、100M遠(yuǎn)程iSCSI硬盤和1000MiSCSI硬盤快的多。當(dāng)I/O請(qǐng)求大于128kB時(shí),USN系統(tǒng)的I/O請(qǐng)求響應(yīng)速度比FC-RAID的I/O請(qǐng)求響應(yīng)速度略慢,比其它存儲(chǔ)子系統(tǒng)的速度快的多,最高速度可達(dá)45MB/s。其原因是我們?cè)赨SN的服務(wù)器端除加載了GMPFS(支持使用多種訪問(wèn)協(xié)議用戶)和ASA(提供服務(wù)器通道和附網(wǎng)高速通道)的同時(shí),還加載了我們實(shí)驗(yàn)室以前開發(fā)的智能預(yù)取、硬盤緩存技術(shù)(DCD)、負(fù)載均衡和零拷貝系統(tǒng)或軟件模塊,所以,不論是大I/O請(qǐng)求還小I/O請(qǐng)求,都能提供極好的I/O請(qǐng)求響應(yīng)性能。而FC-RAID由于自身的數(shù)據(jù)校驗(yàn)等時(shí)延等特性,對(duì)小的I/O請(qǐng)求響應(yīng)速度較慢,對(duì)越大的I/O請(qǐng)求響應(yīng)速度越快。
對(duì)于USN的iSCSI盤存儲(chǔ)子系統(tǒng),從實(shí)驗(yàn)結(jié)果可以看出,當(dāng)請(qǐng)求數(shù)據(jù)塊較小時(shí),100M網(wǎng)絡(luò)環(huán)境下的性能和1000M網(wǎng)絡(luò)環(huán)境下的性能差別不明顯,隨著請(qǐng)求塊或文件逐步增大,兩者IOps和MBps的差距越來(lái)越大。請(qǐng)求數(shù)據(jù)塊為1024K時(shí),僅更換網(wǎng)絡(luò)傳輸中的數(shù)據(jù)鏈路層和物理層,從100M網(wǎng)絡(luò)環(huán)境提升到1000M網(wǎng)絡(luò)環(huán)境,磁盤數(shù)據(jù)傳輸率得到較大的提高,后者約是前者的3倍。
從圖10可以看出,100M的iSCSI存儲(chǔ)子系統(tǒng)的CPU占用率最高,原因是在響應(yīng)用戶的I/O請(qǐng)求,要求服務(wù)器不斷的對(duì)iSCSI的協(xié)議數(shù)據(jù)單元進(jìn)行封裝和解封裝。本地的IED硬盤CPU占用率最低,USN系統(tǒng)的服務(wù)器端CPU占用率次之,原因是USN系統(tǒng)中小的I/O請(qǐng)求直接經(jīng)過(guò)服務(wù)器處理,而大的I/O請(qǐng)求經(jīng)過(guò)附網(wǎng)高速通道由存儲(chǔ)設(shè)備自身處理。
結(jié)論和展望
我們提出、設(shè)計(jì)和實(shí)現(xiàn)的統(tǒng)一存儲(chǔ)網(wǎng)絡(luò)系統(tǒng),全部采用IP互聯(lián)設(shè)備,價(jià)格比光纖通道低得多,在管理軟件的開發(fā)實(shí)現(xiàn)上以及系統(tǒng)的使用維護(hù)上,都具有多得多的資源和經(jīng)驗(yàn)。并且,千兆以太網(wǎng)技術(shù)比光纖通道技術(shù)發(fā)展迅速,10Gbps以太網(wǎng)交換機(jī)已經(jīng)推出并在市場(chǎng)上熱銷,其性能前景也比光纖通道交換機(jī)好得多。所有這些為統(tǒng)一存儲(chǔ)網(wǎng)絡(luò)的產(chǎn)品化打下了堅(jiān)實(shí)的基礎(chǔ)。
目前,我們已經(jīng)從理論、結(jié)構(gòu)和實(shí)踐上實(shí)現(xiàn)了統(tǒng)一存儲(chǔ)網(wǎng)絡(luò)原型系統(tǒng),現(xiàn)在,我們正在開發(fā)和完善多用戶、多功能、多種平臺(tái)支持的iSCSI設(shè)備,設(shè)計(jì)和實(shí)現(xiàn)新的安全和高可用文件系統(tǒng),以便為統(tǒng)一存儲(chǔ)網(wǎng)絡(luò)系統(tǒng)產(chǎn)品化后能真正為廣大企業(yè),尤其是為廣大中小企業(yè)提供開放性、性能、可展性、性/價(jià)比都更好的海量存儲(chǔ)系統(tǒng)。