DIY iSCSI存儲服務器全攻略
本攻略僅供初學者以親自動手的方式,建立對iSCSI技術的感性認識。不包括iSCSI詳細理論和產品評測等內容。本攻略分四部分:
1. 準備環(huán)境 2 安裝軟件 3 .配置連接 4. i之初體驗
一、準備環(huán)境
硬件要求非常簡單,兩臺x86 PC即可。CPU不低于300MHz,內存不小于512MB,帶至少一個以太網絡接口,這些條件對今天的PC來說,都不算難。有一點要稍微注意的,就是其中一臺PC要有尚未創(chuàng)建分區(qū)的磁盤空間,最好是有兩顆硬盤。另外兩臺PC之間要有網絡連接。
操作系統就選大家最熟悉的Windows系列,這樣你找來的PC連裝系統的時間都省了,但注意不要用64位版本。如果是Windows 2000,要有SP4或更高版本的補丁包;如果Windows XP,要安裝至少SP2補丁包;如果是Windows 2003,需要SP1補丁包。
注意Windows不能是域控制器,TCP/IP也要設置成靜態(tài)的,不能是DHCP。IP地址沒有特別要求,只要兩臺PC可以互相ping通就可以。
檢查Windows上是否有“Microsoft .NET Framework Version 1.1 Redistributable Package”這個包。Windows2003自帶這個包,如果是Windows其它版本,而且沒裝這個包,可以到微軟的網站下載安裝。
以上準備工作完成之后,就可以正式開始DIY我們的iSCSI存儲設備了。選有剩余磁盤空間的那臺PC做iSCSI Target設備(就是存儲設備端),另外一臺做iSCSI Initiator(就是主機端)。
二、安裝軟件
可以實現iSCSI Target功能的軟件有很多,這里推薦DataCore SANmelody 2.0.1。這個軟件不是免費的,但是可以在線申請一個30天的試用授權,足夠我們的手工實驗用了。
在http://www.datacore.com/products/prod_SANmel_trynow_form.asp這里填一個很簡單的表格,再點頁面下面的“Download Now”按鈕就可以下載了。注意Email地址要如實填寫,因為那個30天試用授權是通過你填的這個Email地址送到的。正常情況下,在下載完SANmelody安裝包之前,包含授權文件的郵件就會送到。不過有時候在線自動處理程序沒法處理你填寫的信息,就會轉交給人工處理,那樣授權文件就可能第二天才送到。授權文件是一個“.lic”后綴的文件,收到后保存到一個本地目錄,就可以安裝SANmelody了。
安裝過程會彈出一個對話框,要求提供授權文件。
選擇“Yes”之后,在瀏覽窗口中選擇前面保存的那個“.lic”文件。
如果授權文件不正確,SANmelody會彈出如下的對話框,并停止安裝。
如果授權文件正確,就會出現下面這個確認框。你只要閉著眼睛點“Yes”就行了。
接下來的步驟一路選“Next”,除非你想把SANmelody安裝到特殊的目錄,但是當提示配置iSNS的時候要選“No”,免得被一些沒必要的東東分散注意力。
當出現下面這個組件選擇的對話框時,不管里面有幾個組件,統統選中。反正也不用花銀子。
之后的過程中,SANmelody會安裝若干未經微軟數字簽名的驅動程序。不用擔心,只管統統選“Yes”。
除了安裝這些Driver,SANmelody還會觸發(fā)Windows系統安裝一些軟設備,一般用缺省選項,Windows自己就可以自動完成安裝工作。
如果看到下面這個提示框,就說明iSCSI Target驅動已經安裝成功了。
安裝完成后,安裝程序會要求重新啟動系統,這時候盡量按要求立即重新啟動。重新啟動后,右下角會出現DataCore的圖標,表示SANmelody已經在運行了。
右鍵單擊這個圖標,會看到如下圖的操作選項。因為我們是使用測試授權,就沒必要激活(Activate)了。
在這里單擊“Open Computer Management”打開的實際是Windows的MMC管理窗口。不過其中除了Windows自帶的那些MMC插件,會多出一個“DataCore SANmelody”。雙擊它并耐心等待大概一分鐘,就會看到SANmelody的所有配置插件。 #p#page_title#e#
至此SANmelody安裝大功告成,具體配置工作在下一個部分交待。接下來要安裝Initiator端,也就是另外一臺PC。相比Target軟件,Initiator的軟件更多,這里推薦微軟的Microsoft iSCSI Initiator 2.01(build 1748)
下載這個包的URL太長了,就不在這里列了。只要到微軟的網站上搜索“iSCSI Initiator”,就很容易找到這個包的下載鏈接。可下載的安裝包有三個,因為我們使用的是32位的PC,所以要下載名字中有“x86fre”的那個。其它兩個都是給64位Windows用的。
安裝Microsoft iSCSI Initiator的過程非常簡單。完全遵照缺省,一路點“Next”,最后按提示重啟系統。因為實在是太簡單了,就不放截屏了。
至此,兩臺PC的安裝過程就都完成了。下面進入配置連接部分。
三、配置連接
我們先來配置Initiator端。雙擊桌面上的Microsoft iSCSI Initiator圖標,打開配置界面。為了防止你桌面上的東東比較多,還是放個圖標的截圖在這里。
先點選配置界面中“Discovery”配置頁。并點擊Target Portals框下方的“Add”按鈕。
在彈出的對話框里填入另外一臺PC(就是安裝DataCore SANmelody的那臺)IP地址,然后點“OK”關閉對話框。我個人還喜歡到“Advanced…”選項中,把“Local adapter”和“Source IP”的設置由“Default”改為“Microsoft iSCSI Initiator”和本機IP。不過一般情況下,不改這些設置也不影響正常連接。
如果地址正確,兩主機通訊正常,在Target Portals框里,就會出現SANmelody那臺PC的信息。這時就可以向iSCSI Target登陸了。
點選“Targets”頁面,選中Targets框中出現的項目,然后點擊頁面下方的“Log On…”按鈕,連接就建立完成了。
建立連接后,Target狀態(tài)會由“Inactive”變成“Connected”。
至此,我們在這臺PC上要做的配置工作就都完成了。下面換到Target端,也就時SANmelody這臺PC進行設置。
首先要用Windows自帶的磁盤管理器創(chuàng)建一個新的空間,用做iSCSI存儲空間。磁盤管理創(chuàng)建分區(qū)的過程需要注意兩個地方。一是不要指定盤符,二是不要格式化。這樣的分區(qū)才能被SANmelody作為邏輯空間,提供給iSCSI Initiator使用。下面兩個截圖,就是這兩個需要注意的地方。其他的過程都跟創(chuàng)建普通分區(qū)沒什么區(qū)別,相信大家都不會碰到問題了。
創(chuàng)建分區(qū)之后,下面進行SANmelody的配置。首先要做的就是啟動SANmelody服務。
點選“Storage Server”,并單擊啟動SANmelody服務的按鈕,稍等片刻,等到下方的狀態(tài)欄中顯示“Running”時,服務就啟動完成了。
啟動服務之后,我們要將剛剛創(chuàng)建的空間納入SANmelody的管理。操作步驟是右鍵單擊右上角框中本主機的名字,選擇“Protect All Volumes”。這時右下角框中會出現剛才創(chuàng)建的分區(qū)。你的環(huán)境中,可能右下角只有一個卷的信息,而且沒有小手托著。沒關系,如果前面你只創(chuàng)建了一個未格式化的分區(qū),那這樣的信息就是正常的。
如果右下角的圖標是紅色的,說明信息還沒有生效,要單擊工具欄中的“Apply Configuration”圖標 令其生效。
接下來,我們要在SANmelody中創(chuàng)建Virtual Volumes(虛擬卷,相當于磁盤陣列中的邏輯磁盤)。為了簡單起見,我們就不使用SANmelody的NMV功能了,這樣雖然失去了在線擴展能力,但配置過程會簡單許多。
選中下圖中左側窗口的Virtual Volumes圖標,然后點選工具欄中“New Virtual Volume”圖標 來創(chuàng)建一個新的虛擬卷。
虛擬卷是由SANmelody所管理的未格式化空間組成的,在你的環(huán)境中,可能只有一個空間可以選擇,點中這個空間,然后點添加按鈕即可。
#p#page_title#e#虛擬卷的圖標跟未格式化空間的圖標不同,下面有一個像網絡一樣的標識,樣子很像Windows中的網絡盤的圖標。
跟前面一樣,如果配置過程中看到有紅色的圖標,就按一下工具欄的Apply按鈕,令其生效。原則上,我們每做一步配置操作,都應該按一下那個按鈕。就像我在寫這個文檔的時候,每寫幾行就按一下Ctrl+S一樣。
熟悉磁盤陣列配置的朋友都知道,做完了邏輯磁盤,下面該做主機映射了。很多磁盤陣列的缺省映射是所有主機,但是SANmelody不一樣,因為iSCSI是基于以太網絡的,如果缺省設置的安全性太低,顯然面臨的風險會比SCSI或者FC的更大。
建立映射的第一步是創(chuàng)建Application Server,也就是前端應用主機(SANmelody認為自己是磁盤陣列,不是主機)。
點選“Application Server”,單擊工具欄中新建應用主機的圖標 就會彈出下面這個對話框。
隨便輸入一個名字,點“OK”即可?;氐組MC界面后,右鍵單擊這個剛剛創(chuàng)建的應用主機,選“Properties”來添加那臺Initiator PC的信息。
在你的環(huán)境中,可能只有一個iSCSI通道,沒關系,只管選中點擊向上箭頭,添加到應用主機的可用通道。如果下面的框中沒有出現任何可選連接,就需要檢查另外一臺PC的iSCSI Initiator是否正常工作,確認iSCSI連接已經建立并登陸成功。
其實這一步驟的作用,就是給SANmelody所識別到的遠端iSCSI設備起個名字。下面的步驟才是真正建立映射關系。
在MMC界面中選中“Application Servers”,單擊工具欄的“Map New Virtual Volume”圖標 建立映射。
在彈出的窗口中,選中剛剛創(chuàng)建的虛擬卷和遠端iSCSI通道,單擊向右按鈕。這樣就建立了該虛擬卷和該iSCSI通道的連接映射。
回到MMC界面,單擊工具欄的Apply按鈕令所有配置生效。我們的配置工作,至此就大功告成了。
為了進一步確認,可以到Initiator那臺PC上運行磁盤管理器,并重新掃描磁盤。看是否有新的磁盤出現。如果看到要求磁盤簽名的窗口彈出,恭喜你!說明你可以開始使用這臺iSCSI存儲設備了。
四、i之初體驗
作為存儲設備,我們首先關心的就是它的性能。對我們剛剛搭建起來的這個iSCSI存儲設備,也可以用性能測試軟件考察一下。當然,如果你的PC配置很低,網絡連接又是百兆以太網,那性能肯定不會太好。但作為體驗,還是會有感性收獲的。
性能測試軟件我推薦Iometer。理由有三:第一是完全免費,網絡上很容易找到;第二是完全綠色,不需要安裝;第三是使用起來比較方便,測試結果也基本比較準確。
關于Iometer的使用介紹就不多說了,網絡上有很多非常好的指南,這里只補充兩點。
一般情況下,Iometer的Out Standing I/O越大,測試結果就越好,很多人喜歡用16甚至64,但在這個環(huán)境里,用4或者8就可以達到很好的性能。
在Iometer中可以設置測試的起始和終止扇區(qū),也就是劃定測試空間范圍。應該盡量讓這個范圍與Target PC的內存容量一致或更小,從而保證后端磁盤不會嚴重影響測試結果。舉例來說,如果運行SANmelody的PC內存有1.5GB,就要把測試范圍設定為Start=0,size=2048(2048個扇區(qū)正好是1GB)
如果還想進一步提高性能,可以嘗試用網卡遠廠的驅動程序替換Windows自帶的驅動。最常見的主板集成的網卡是Intel Pro1000,對這個網卡而言,在Intel網站上下載的最新驅動程序就比Windows驅動性能高很多。
Windows注冊表里也有一些設置可以提高SANmelody的性能。在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDcsCacheParameters中,有四個變量都會影響Target端的性能表現。在我的環(huán)境中,這四個變量的設置分別是:IoQueueCount=64;IoQueueSize=0x00010000(32MB);ReadAhead=4;WriteSizeStop=0x00020000。大家也可以嘗試其它的參數來使性能達到更優(yōu)。 #p#page_title#e#
肯于鉆研的朋友還可以利用我們搭建起來的這個環(huán)境研究一下iSCSI協議。
網上有很多iSCSI協議分析工具,我推薦Ethereal,理由有二:
第一是完全免費,連源碼都是公開的;
第二是支持Windows平臺,是我見過的Windows平臺上最強的分析工具。下載地址嘛,直接去http://www.ethereal.com/download.html就可以找到。