任毅
【摘 要】近年來,服務(wù)器及存儲(chǔ)技術(shù)得到了迅猛發(fā)展,特別是iSCSI[1]的應(yīng)用越來越廣泛,數(shù)據(jù)庫(kù)系統(tǒng)如SQL Server群集[2]、Oracle RAC[3][4]等的實(shí)現(xiàn),都依賴于存儲(chǔ)設(shè)備,但存儲(chǔ)設(shè)備價(jià)格往往比較昂貴,不利于在教學(xué)環(huán)境或科研環(huán)境中去購(gòu)買。Starwind軟件可在主機(jī)上模擬出iSCSI存儲(chǔ)設(shè)備,通過IP網(wǎng)絡(luò)即可訪問該iSCSI存儲(chǔ),提供與真實(shí)環(huán)境相似的服務(wù),而且配置相對(duì)簡(jiǎn)單,對(duì)于教學(xué)和實(shí)驗(yàn)環(huán)境,可大大縮短架設(shè)周期和費(fèi)用。
【關(guān)鍵詞】ISCSI;存儲(chǔ);模擬;IP SAN
0 引言
當(dāng)今的許多應(yīng)用都離不開數(shù)據(jù)庫(kù)系統(tǒng)的支持,一般來說數(shù)據(jù)庫(kù)文件是存放在存儲(chǔ)設(shè)備中,以實(shí)現(xiàn)多機(jī)同時(shí)訪問,還能利用存儲(chǔ)設(shè)備的特性提供高可用和高可靠性的訪問服務(wù)。但在教學(xué)環(huán)境和實(shí)驗(yàn)環(huán)境中,購(gòu)買一套存儲(chǔ)設(shè)備是不實(shí)現(xiàn)的,這是因?yàn)榇鎯?chǔ)設(shè)備價(jià)格往往較高,迫切需要能夠通過軟件模擬來實(shí)現(xiàn),通過軟件模擬,目前只能實(shí)現(xiàn)基于IP的存儲(chǔ),即IP SAN[5]。
1 iSCSI和Starwind簡(jiǎn)介
iSCSI是一種基于 TCP/IP的協(xié)議,用來建立和管理 IP 存儲(chǔ)設(shè)備、主機(jī)和客戶機(jī)等之間的相互連接,并創(chuàng)建存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN),SAN 使得 SCSI 協(xié)議應(yīng)用于高速數(shù)據(jù)傳輸網(wǎng)絡(luò)成為可能,這種傳輸以數(shù)據(jù)塊級(jí)別(block-level)在多個(gè)數(shù)據(jù)存儲(chǔ)網(wǎng)絡(luò)間進(jìn)行。
iSCSI的工作過程[6]:當(dāng)iSCSI主機(jī)應(yīng)用程序發(fā)出數(shù)據(jù)讀寫請(qǐng)求后,操作系統(tǒng)會(huì)生成一個(gè)相應(yīng)的SCSI命令,該SCSI命令在iSCSI initiator層被封裝成ISCSI消息包并通過TCP/IP傳送到設(shè)備側(cè),設(shè)備側(cè)的iSCSI target層會(huì)解開iSCSI消息包,得到SCSI命令的內(nèi)容,然后傳送給SCSI設(shè)備執(zhí)行;設(shè)備執(zhí)行SCSI命令后的響應(yīng),在經(jīng)過設(shè)備側(cè)iSCSI target層時(shí)被封裝成ISCSI響應(yīng)PDU,通過TCP/IP網(wǎng)絡(luò)傳送給主機(jī)的ISCSI initiator層,iSCSI initiator會(huì)從ISCSI響應(yīng)PDU里解析出SCSI響應(yīng)并傳送給操作系統(tǒng),操作系統(tǒng)再響應(yīng)給應(yīng)用程序。
近年來,iSCSI存儲(chǔ)技術(shù)得到了快速發(fā)展,iSCSI技術(shù)優(yōu)點(diǎn)和成本優(yōu)勢(shì)的主要體現(xiàn)包括以下幾個(gè)方面:
硬件成本低:iSCSI還可以在現(xiàn)有的網(wǎng)絡(luò)上直接安裝,并不需要更改企業(yè)的網(wǎng)絡(luò)體系,這樣可以最大程度地節(jié)約投入。
操作簡(jiǎn)單,維護(hù)方便:對(duì)iSCSI存儲(chǔ)網(wǎng)絡(luò)的管理,實(shí)際上就是對(duì)以太網(wǎng)設(shè)備的管理,只需花費(fèi)少量的資金去培訓(xùn)iSCSI存儲(chǔ)網(wǎng)絡(luò)管理員。
擴(kuò)充性強(qiáng):對(duì)于已經(jīng)構(gòu)建的iSCSI存儲(chǔ)網(wǎng)絡(luò)來說,增加iSCSI存儲(chǔ)設(shè)備和服務(wù)器都將變得簡(jiǎn)單且無(wú)需改變網(wǎng)絡(luò)的體系結(jié)構(gòu)。
突破距離限制:iSCSI存儲(chǔ)網(wǎng)絡(luò)使用的是以太網(wǎng),因而在服務(wù)器和存儲(chǔ)設(shè)備的空間布局上的限制就會(huì)少了很多,甚至可以跨越地區(qū)和國(guó)家。
StarWind軟件能夠在網(wǎng)絡(luò)上虛擬出iSCSI硬盤空間,使用跨平臺(tái)的iSCSI協(xié)議虛擬存儲(chǔ),服務(wù)器可通過TCP/IP協(xié)議訪問該存儲(chǔ)空間,這種訪問既可以是本地訪問,也可以是遠(yuǎn)程訪問,StarWind緊密結(jié)合了Microsoft Windows NTFS壓縮和加密能力,存儲(chǔ)在NTFS格式化分區(qū)的StarWind SAN映像文件可被加密和壓縮。
2 使用Starwind模擬iSCSI設(shè)備
Starwind需要在主機(jī)上運(yùn)行,并在該主機(jī)上模擬出iSCSI存儲(chǔ)設(shè)備,遠(yuǎn)程服務(wù)器通過TCP/IP協(xié)議訪問該存儲(chǔ)空間,本文將在一臺(tái)服務(wù)器上模擬出iSCSI硬盤空間,提供給Server1和Server2通過TCP/IP協(xié)議訪問。
實(shí)現(xiàn)過程如下:
(1)在Server0(IP為192.168.2.10/24)上安裝Starwind軟件,啟動(dòng)該軟件并連接成功后,創(chuàng)建一個(gè)Targets,取名為target1,選中“Allow multiple concurrent iSCSI connections (clustering)”以支持多個(gè)連接,然后在該target1中添加兩個(gè)容量分別為1G和2G的虛擬硬盤。
(2)啟動(dòng)Server1(該機(jī)操作系統(tǒng)為Windows Server 2008 R2),配置IP為192.168.2.1/24,并與Server0連接到同一子網(wǎng),啟動(dòng)其“iSCSI發(fā)起程序”,在目標(biāo)選項(xiàng)卡中輸入iSCSI存儲(chǔ)IP地址192.168.2.10,點(diǎn)擊“快速連接”,即可發(fā)現(xiàn)并連接上iSCSI存儲(chǔ)。
在Server0的Starwind管理界面“iSCSI Sessions”頁(yè),可以看到Server1已經(jīng)連接到此iSCSI存儲(chǔ),然后打開“磁盤管理”程序,將發(fā)現(xiàn)的iSCSI磁盤聯(lián)機(jī)并初始化,創(chuàng)建簡(jiǎn)單卷,不分配盤符,不格式化。
(3)在Server2上執(zhí)行與Server1中同樣的操作,發(fā)現(xiàn)并連接iSCSI存儲(chǔ),聯(lián)機(jī)并初始化,就可使用此存儲(chǔ)空間了。
通過上面的操作過程可以看到,服務(wù)器Server1和Server2能夠同時(shí)連接由Server0虛擬出來的iSCSI存儲(chǔ)空間,然后可在Server1和Server2上安裝數(shù)據(jù)庫(kù)系統(tǒng)如SQL Server和Oracle RAC(Real Application Clusters),將把數(shù)據(jù)庫(kù)文件存放在iSCSI磁盤上,可實(shí)現(xiàn)高可用性和負(fù)責(zé)平衡。
3 總結(jié)
通過Starwind軟件,可模擬出iSCSI存儲(chǔ),服務(wù)器通過IP網(wǎng)絡(luò)使用TCP/IP協(xié)議可訪問該存儲(chǔ)空間,這種對(duì)于存儲(chǔ)的訪問方式,由于基本TCP/IP協(xié)議,不僅可以實(shí)現(xiàn)同一子網(wǎng)訪問,還可以實(shí)現(xiàn)遠(yuǎn)程子網(wǎng)訪問,即服務(wù)器遠(yuǎn)程訪問存儲(chǔ),對(duì)于搭建 SQL Server數(shù)據(jù)庫(kù)群集和Oracle RAC負(fù)載平衡群集進(jìn)行教學(xué)和實(shí)訓(xùn)來說,不僅可以快速方便部署,節(jié)約了時(shí)間,還不用購(gòu)買真實(shí)的存儲(chǔ)設(shè)備,節(jié)約了硬件成本。
【參考文獻(xiàn)】
[1]白勇,朱清新.基于iSCSI的IP SAN網(wǎng)絡(luò)存儲(chǔ)技術(shù)及其安全性研究[J].計(jì)算機(jī)研究與發(fā)展.2009,46(2):12-17.
[2]柴大鵬,段運(yùn)捷.對(duì)于Microsoft SQL Server 2005中高可用性功能的研究[J].電力學(xué)報(bào).2009,24(5):437-440.
[3]呂元海,孫江輝,馬龍. 基于Oracle RAC的校園網(wǎng)數(shù)據(jù)庫(kù)集群系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù).2016,39(4):72-75.
[4]胡昌文,李彥,賀文愛,農(nóng)冬冬,謝衛(wèi)民.基于Oracle數(shù)據(jù)庫(kù)的RAC集群技術(shù)在高校圖書館關(guān)鍵業(yè)務(wù)中的應(yīng)用研究[J].圖書館理論與實(shí)踐.2016,(6):102-104.
[5]田銀磊,張麗.FC SAN+IP SAN綜合網(wǎng)絡(luò)存儲(chǔ)架構(gòu)在數(shù)字化校園建設(shè)中的應(yīng)用[J].科學(xué)技術(shù)與工程.2010,10(20):5095-5098.
[6]譚懷亮,朱存望,張鎮(zhèn)平.iSCSI網(wǎng)絡(luò)計(jì)算模式下的可靠多播策略[J].計(jì)算機(jī)研究與發(fā)展.2011,48(z1):216-218.
[責(zé)任編輯:張濤]endprint