一、iSCSI發展路線圖
2001年初:由IBM及Cisco於2001年制定iSCSI技術,兩家並且分別推出了支持iSCSI的產品—IBM IP Storage 200i及Cisco SN5420 Router。
2001年12月:NetApp公司推出了自家的IP SAN,它採用的是自行開發的VLD協議(Virtual Local Disk),存儲上屬於Block over IP方式。
2003年2月:SNIA(Storage Networking Industry Associate,存儲網路工業協會)終於正式制定通過了iSCSI標準。而業界莫不把此標準化視為iSCSI發展歷程中的最關鍵因素,自此開始,有愈來愈多的廠商開始進一步開發合乎業界標準的相關產品,iSCSI也開始受到業界目光的青睞。
2003年5月:微軟在Windows Server 2003 中,正式開始支持iSCSI,並提供iSCSI Initiator驅動程序的下載。微軟此項深具推波助瀾的作法,帶動了整個iSCSI業界的發展。所以接下來,不論各類作業平台或軟硬體的支持會愈來愈齊備。
2004年10月:HP發布的IP Storage 500/1500。
2005年:自從標準化及微軟支持解決了iSCSI最大的發展瓶頸之後,iSCSI的全面普及也只是時間早晚的問題而已。但業界對其開始普及的時間點一直莫衷一是。一般調查機構多半認為該時間點應在2006年,但各家廠商卻異口同聲地認為2005年就有機會看到市場大幅起飛。
二、 iSCSI技術
SAN(Storage Area Network的縮寫)意為存儲區域網路,是真正的專註於企業級的存儲。SAN採用一個分離的網路(從傳統的區域網中分離)連接所有的存儲器和伺服器,這個網路可以採用高性能的實現技術,如光纖通道(Fiber Channel),可以容納SCSI等協議,使數據塊的移動更為有效,也便於用戶自由增加磁碟陣列、磁帶庫或伺服器等設備。現在的SAN基本都是通過Fibre Channel來實現的,Fibre Channel,簡稱FIBRE CHANNEL,又稱光纖通道,是利用專用設備進行數據高速傳輸的一種網路標準,主要用於連接伺服器的幹線(backbones),並把伺服器連接到存儲設備上。採用高速的FIBRE CHANNEL作為傳輸媒介的SAN具有光纖通道在距離、性能和連接性等方面的優勢,如果結合光纖通道交換機,則可以提供高達2Gb/s的數據傳輸速率,使獨立於應用伺服器網路系統之外的SAN幾乎擁有了無限的存儲能力。 但是利用FIBRE CHANNEL實現的SAN雖然性能優越,擴展性極佳,但價格卻貴得驚人,管理起來也非常困難,讓一般用戶難以承受。也是許多企業不得不忍痛放棄SAN的原因。iSCSI(互聯網小型計算機系統介面)是一種在Internet協議網路上,特別是乙太網上進行數據塊傳輸的標準,是一種集成了IP和SCSI的技術。它最大的特點就是讓標準的SCSI命令能夠在TCP/IP網路上的主機系統(啟動器)和存儲設備(目標)之間傳送。與光纖通道相比,iSCSI具有許多優勢,用『iSCSI=低廉+高性能』這個等式來表示再恰當不過了。iSCSI是基於IP協議的技術標準,實現了SCSI和TCP/IP協議的連接,那些以區域網為網路環境的用戶只需要少量的投入,就可以方便、快捷地對信息和數據進行互動式傳輸和管理。相對於以往的網路接入存儲,iSCSI的產生解決了開放性、容量、傳輸速度以及兼容性等許多問題,讓用戶可以通過現有的TCP/IP網路來構建存儲區域網,能夠更容易地管理SAN存儲。iSCSI結構見圖1。
圖1 iSCSI體系結構
這裡就SAN與iSCSI做一比較,基本兩者同屬運行塊協議的SAN架構,只不過前者透過FIBRE CHANNEL,後者由IP傳輸數據罷了,而兩者在管理及應用上也大同小異。這裡在此還是盡量做一番歸納整理,以供參考,見表-1。
表-1 iSCSI和SAN綜合對比
對比選項 | SAN存儲 | iSCSI存儲 |
介面 | 光纖 | IP |
性能 | 高 | 中 |
管理及維護成本 | 高 | 低 |
管理方式 | 集中 | 集中 |
傳輸介質 | 光纖 | 雙絞線 |
雜訊干擾 | 無 | 有 |
訪問方式 | 塊 | 塊 |
文件系統 | 主機文件系統 | 主機文件系統 |
電磁影響 | 無 | 有 |
傳輸距離 | 100公里 | 無限制 |
數據傳輸方式:同為SAN的iSCSI及FIBRE CHANNEL都採用塊協議方式。
傳輸速度:就目前的傳輸速度而言是FIBRE CHANNEL(2Gb)最快、iSCSI(1Gb)次之。
管理方式:iSCSI採用IP網路的現有成熟架構。所以可延用既有成熟的網路管理機制,不論是建置、管理或維護上,都非常方便及容易。而FIBRE CHANNEL則完全獨立於一般網路系統架構,所以需由FIBRE CHANNEL供貨商分別提供專屬管理工具軟體。
管理及維護成本:一般來說,FIBRE CHANNEL SAN多半需要特定的工具軟體來操作管理,所以需要對人員進行一定時間的教育訓練,而且費用不低。但由於iSCSI乃透過IP網路來傳輸數據及分配存儲資源,所以只要使用網路現有的管理功能即可,相較起來,的確可以省下大筆管理人力及訓練成本。
傳輸距離:原則上,二者都支持長距離的數據傳輸。FIBRE CHANNEL的理論值可達100公里。透過IP網路的iSCSI理論上都沒有距離上的限制, iSCSI可以進行長距大量資料的傳遞。
雜訊碰撞問題:由於iSCSI走的是IP網路,其中當然充斥著來自全球各地的龐大數據及雜訊,所以碰撞情形也就在所難免了,如此一來,在數據傳輸的過程中,就很容易導致延遲的情形發生,大大影響了傳輸的效能,甚至數據的正確性。
三、主流操作系統對iSCSI支持
對於蓄勢待發已久的iSCSI而言,遲遲未能全面普及的主要原因之一,就在於各類平台支持性的不夠完備。是否能得到各式平台充份支持的關鍵,則在於協議的標準化上。有了標準化的協議,各類平台解決方案商才能有所依循地推出符合共通標準的支持及產品,如此可觀的市場規模才能建立得起來。SNIA協會在2003年2月正式通過了iSCSI標準, 雖然iSCSI已正式標準化,但不一定代表從此就能快速普及,iSCSI是否能在企業存儲市場站穩腳步,仍需看廠商本身的參與態度及開發意願。表2是主流操作系統對iSCSI支持情況。
表2是主流操作系統對iSCSI支持
操作系統 | 驅動程序 | 適配卡 | 產品名稱 |
Windows 2000 | 有 | 有 | Microsoft software Initiator Intel PRO/1000T IP適配卡 Alacritech iSCSI HBA SES 1001 Adaptec iSCSI HBA 721C/F Qlogic SANblade QLA4010 |
Windows 2003 | 有 | 有 | Intel PRO/1000T IP適配卡 Microsoft software Initiator Alacritech iSCSI HBA SES 1001 Qlogic SANblade QLA4010 |
Red Hat Enterprise Linux AS 4.0 | 無 | 有 | Qlogic SANblade QLA4010 Adaptec iSCSI HBA 721C/F |
HP-UX V1/V2 | 有 | 無 | HP-UX software Initiator |
Novell Netware 5.1-6.5 | 有 | 無 | Novell software Initiator |
SUN Solaris 9 | 無 | 有 | Qlogic SANblade QLA4010 |
iSCSI Initiator可分為三種,即軟體Initiator驅動程序、硬體的TOE(TCP Offload Engine,TCP卸載引擎) HBA卡及iSCSI HBA卡。就性能而言,軟體Initiator驅動程序最差、TOE HBA卡居中、iSCSI HBA卡最佳。但是iSCSI HBA只能運行iSCSI協議,而無法運行NFS(Network File System,SUN制定)或CIFS(Common Internet File System,微軟制定)等檔案系統協議與應用伺服器溝通。但Initiator驅動程序及TOE HBA卡則同時支持iSCSI、NFS及CIFS三種協議。
四、Linux下實現iSCSI
Linux網路環境iSCSI技術的實現主要有三種方式:
1. 純軟體方式
伺服器採用普通乙太網卡來進行網路連接,通過運行上層軟體來實現iSCSI和TCP/IP協議棧功能層。這種方式由於採用標準網卡,無需額外配置適配器,因此硬體成本最低。但是在這種方式中,伺服器在完成自身工作的同時,還要兼顧網路連接,造成主機運行時間加長,系統性能下降。這種方式比較適合於預算較少,並且伺服器負擔不是很大的用戶。目前不論是Microsoft Windows、IBM AIX、HP-UX、Linux、Novell Netware等各家操作系統,皆已陸續提供這方面的服務,在價格上,比起前兩種方案,遠為低廉,甚至完全免費。但由於Initiator驅動程序工作時會耗費大量的CPU使用率及系統資源,所以性能最差。在此建議,最好是採用1GHz以上CPU的主機,如此才能獲得較佳的效能表現,如果公司主機CPU在1GHz以下,那麼最好不要採用。至於在各類協議的支持上,Initiator驅動程序可以同時支持iSCSI、NFS及CIFS協議。當然現在大多數伺服器CPU都可以滿足這個要求。這裡免費的iSCSI Initiator驅動程序,才可以將一般Gigabit網卡模擬成iSCSI Initiator。然後再透過iSCSI橋接器將一般SCSI介面的存儲配備模擬成iSCSI Target,如此就形成一個iSCSI-SAN。
2. iSCSI TOE網卡實現方式
在這種方式中,伺服器採用特定的TOE網卡來連接網路,TCP/IP協議棧功能由智能網卡完成,而iSCSI層的功能仍舊由主機來完成。這種方式較前一種方式,部分提高了伺服器的性能。在三種iSCSI Initiator中,價格比iSCSI HBA便宜,但比軟體Initiator 驅動程序貴,性能也居於兩者之間。目前市面上Intel的TOE(TCP Offload Engine,TCP卸載引擎) HBA價格在150美金左右。
3. iSCSI HBA卡實現方式
使用iSCSI存儲適配器來完成伺服器中的iSCSI層和TCP/IP協議棧功能。這種方式使得伺服器CPU無需考慮iSCSI以
考慮到筆者使用Linux伺服器使用2.4G Intel 至強處理器,而且網路負載不大,本文使用第一種方式,拓樸結構見圖2.
圖2 網路拓樸結構
說明:iSCSI 儲存設備架構:
型號為PROMISE Vtrak 15200 ,使用 iSCSI 機型;
使用5 顆硬碟,1 顆為 spare disk,其餘4 顆做成 RAID-5;
IP:iSCSI 儲存設備的 IP 地址設置為 192.168.11.201
連接到儲存設備的賬號與密碼分別為: myaccount/iscsimy1Spw
Linux 伺服器:
系統: Red Hat 9 Linux核心 ( 2.4.20-8mp )
IP: Red Hat 9 Linux伺服器IP地址設置為 192.168.10.3
硬體:Dell PowerEdge 16000SC(2.4G Intel 至強處理器,512MB DDR ECC內存)基礎型伺服器。用於郵件伺服器(商業版本的sendmail:3Rsoft)。
1.準備工作
因為安裝iSCSI驅動需要配合核心來編譯,所以會使用到內核源代碼,此外,也需要編譯器 ( compiler ) 的幫助,因此,先確定您的 Linux 系統當中已經下列軟體的存在 :kernel-source 、kernel、gcc、perl、Apache。 打開一個終端,使用命令檢查:
# rpm -qa | grep gcc;rpm -qa | grep make
# rpm -qa | grep kernel ;rpm -qa | grep make
iSCSI 驅動程序下載網址是:http://sourceforge.net/project/showfiles.php?group_id=26396
這個網站根據Linux內核(2.4/2.6)提供兩種驅動程序,請根據內核版本下載相應的驅動,首先使用下面的命令查詢目前所使用的Linux的內核版本:
#uname ?a
Linux cao 2.4.20-8#1Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux
2. 得到版本信息后,到其官方網站下載系統所需的驅動。下載完成就可以使用下面的命令安裝該組件然後編譯內核: #cd cd /usr/local/src # wegt #tar -zxvf linux-iscsi-3.4.3.2.tgz # cd linux-iscsi-3.4.3.2 #make clean # make #make install 3. 修改配置文件開始進行修改的工作: # vi /etc/iscsi.conf Username= myaccount #用戶名# Password= iscsimy1Spw #口令# DiscoveryAddress=192.168.11.201 #iSCSI 儲存設備的 IP 地址# Username=myaccount Password=iscsimy1Spw 4. 啟動iscs #/etc/init.d/iscsi start Starting iSCSI: iscsi iscsid fsck/mount 5. 使用iscsi-ls命令可以看到更為詳細的磁碟信息:: # iscsi-ls ***************************************************************** SFNet iSCSI Driver Version ... 3.4.3.2 (27-Jun-2005 ) **************************************************************** TARGET NAME : iqn.1994-12.com.promise.target.3b.31.4.55.1.0.0.20 TARGET ALIAS : Vtrak 15200 HOST NO : 0 BUS NO : 0 TARGET ID : 0 TARGET ADDRESS : 192.168.11.201:3260 SESSION STATUS : ESTABLISHED AT Thu Nov 10 20:13:43 2005 NO. OF PORTALS : 1 PORTAL ADDRESS 1 : 192.168.11.201:3260,2 SESSION ID : ISID 00023d000001 TSIH 04 **************************************************************** iSCSI節點名稱有兩種格式,即 iqn-type 格式和 eui-type 格式。 Linux常用的是iqn-type的格式為: 6.使用fdisk命令進行磁碟分區 fdisk命令格式 fdisk [-l] [-b SSZ] [-u] device 主要選項: -l: 察看指定的設備的分區表狀況。 -b SSZ:將指定的分區大小輸出到標準輸出上,單位為區塊。 -u:搭配"-l"參數列表,會用分區數目取代柱面數目,來表示每個分區的起始地址。 device:要這些操作的設備名稱。 fdisk是各種Linux發行版本中最常用的分區工具,是被定義為Expert級別的分區工具。我們可以通過fdisk來分區使用iscsi設備。它還包括一個二級選單,首先輸入命令,然後出現問答式界面,用戶通過在這個界面中輸入命令參數來操作fdisk。見圖3。 圖3 fdisk分區工具 選項介紹: a:設定硬碟啟動區。 b:編輯一個BSD類型分區。 c:編輯一個DOS兼容分區。 d: 刪除一個分區。 l: 察看指定的設備的分區表狀況。 m:顯示Fdisk命令各個參數的說明。 o:創建一個DOS分區。 n:設定新的硬碟分區。 p:列印分區信息。 s:創建一個空Sun分區表。 t:改變硬碟分區類型。 q: 結束分區,不保存操作內容。 v:校驗硬碟分區表。 w:結束分區,保存操作內容。 x:進入高級操作模式。 # fdisk /dev/hdd 運行后出現fdiak的命令提示符: Command (m for help): 使用n命令創建一個分區,會出現選擇主分區(p primary partition)還是擴展分區(l logical)的提示,通常選用主分區。然後按照提示輸入分區號(Partion number(1-4):)、新分區起始的磁碟塊數(First Cylinder)和分區的大小,可以是以MB為單位的數字(Last cylindet or +siza or +sizeM or +sizeK:)。例如: fdisk /dev/sda Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-189971, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-189971, default 189971): Using default value 1899719 Command (m for help): w
| |||
|
[火星人 ] Linux網路環境下iSCSI配置攻略已經有857次圍觀