本文重點介紹如何構建一個PC構架的iSCSI存儲系統,這裡我們選擇一個普通的、性能優良的、可支持多塊磁碟的PC伺服器作為iSCSI target,並且選擇一個成熟穩定的iSCSI target軟體iscsitarget,基本配置環境如表1所示:
表1
這裡將Target主機第三塊硬碟(硬碟標識為/dev/sdc)作為iSCSI共享磁碟,硬碟大小為10G,分別共享給一台windows主機和一台Linux主機,基本結構如圖1所示:
圖1
下面開始詳細介紹iSCSI網路存儲的搭建過程.
一、安裝iSCSI target軟體
安裝iscsitarget軟體是在Target主機上進行的,即上面設定的192.168.12.246主機,這裡我們選擇的target軟體是iscsitarget,讀者可以從http://iscsitarget.sourceforge.net下載相應的版本,這裡下載的是iscsitarget-1.4.20.1.tar.gz,接著開始進行編譯安裝:
[root@iscsi-target iscsi]#tar -xzvf iscsitarget-1.4.20.1.tar.gz
[root@iscsi-target iscsi]#cd iscsitarget-1.4.20.1
[root@iscsi-target iscsitarget-1.4.20.1]#make
[root@iscsi-target iscsitarget-1.4.20.1]#make install
Iscsitarget安裝完畢后,會創建/etc/iet/目錄,此目錄下有Iscsitarget的相關配置文件,接著就可以啟動Iscsitarget服務了,啟動或關閉Iscsitarget服務的命令如下:
[root@iscsi-target iscsi]# service iscsi-target
Usage: /etc/init.d/iscsi-target {start|stop|restart|condrestart|status}
如果要讓iscsi-target服務開機自動運行,需執行如下操作:
[root@iscsi-target iscsi]#chkconfig --level 35 iscsi-target on
到此為止,iscsitarget安裝完成.
二、配置一個簡單的iSCSI target
iSCSI Enterprise Target的主配置文件為/etc/iet/ietd.conf,此文件中的選項默認全部被註釋掉了,有需要用到這些選項時,再將註釋去掉即可.
三、在windows上配置iSCSI Initiator
下面的操作是在Initiator的windows主機上進行,即IP為192.168.12.136主機.
微軟對iSCSI Initiator的支持相當完備,讀者可以免費從微軟網站獲得iSCSI Initiator軟體,網址是http://www.microsoft.com/WindowsServer2003/technologies/storage/iscsi/default.mspx
,本章實例下載的版本是Initiator-2.08-build3825-x86fre.exe,接下來開始說明如何讓windows連接iSCSI Target.
安裝完成iSCSI Initiator后,在桌面上會發現啟動圖標,啟動Microsoft iSCSI Initiator后,選擇第二個分頁標籤“Discovery”,然後在“Target Portals”部分點擊“Add”按鈕,跳出“Add Target Portal”窗口,如圖2所示:
圖2
在此窗口下填寫iSCSI Target的ip地址和埠,iSCSI Target地址就是上面設定的Target主機的地址,iSCSI Target的埠默認是3260,除非有特殊設定,填寫完成,點擊OK按鈕.
接下來,選擇第三個分頁標籤“Targets”,如圖3所示,可以看到,iSCSI Initiator已經檢測到了iSCSI Target的名稱,但是此時的iSCSI Target還處於“inactive”狀態,點擊下方“Log On”按鈕,然後彈出“Log On to Target”窗口,接著按下“OK”按鈕來激活Target,此時iSCSI Target已經從“inactive”狀態變為“Connected”狀態.如圖4和圖5所示:
圖3
圖4
圖5
到此為止,windows系統已經識別了iSCSI Target提供的共享磁碟分區,通過windows的磁碟管理器可以看到新增加的磁碟分區,如圖6所示:
圖6
現在就可以使用windows的磁碟管理功能對這塊共享磁碟進行分區、格式化以及掛載等操作了.
四、在Linux上配置iSCSI Initiator
下面的操作是在Initiator的Linux主機上進行,即IP為192.168.12.26主機.
1 安裝Linux版本iSCSI Initiator
現在的主流Linux發行版本默認都自帶了iSCSI Initiator,即Open-iSCSI,如果系統沒有安裝,只需通過光碟找到iscsi-initiator-utils-6.2.0.871-0.16.el5.i386.rpm包,通過rpm方式安裝即可,當然也可以通過yum進行自動安裝,操作如下:
[root@ Initiator iscsi]#yum install iscsi*
2 iSCSI Initiator目錄功能介紹
/sbin/iscsiadm命令
在iSCSI Initiator安裝完成後,會生成/sbin/iscsiadm命令,此命令是用來管理(更新、刪除、插入、查詢)iSCSI配置資料庫文件的命令行工具,用戶能夠用它對iSCSI nodes、sessions、connections和discovery records進行一系列的操作.
/var/lib/iscsi/send_targets目錄
在此目錄下,會生成一個或多個以iSCSI存儲伺服器IP和埠命名的文件夾,文件名為“iSCSI Target IP,埠號”(例如“192.168.12.246,3260”).
/var/lib/iscsi/nodes目錄
在此目錄下,會生成一個或多個以iSCSI存儲伺服器上的Target名命名的文件夾,在該文件夾下有一個文件名為“iSCSI portal IP,埠號” (例如“192.168.12.246,3260”)的配置參數文件,該文件是iSCSI initiator登錄iSCSI target時要使用的參數,而這些參數的設置是從/etc/iscsi/iscsi.conf中的參數繼承而來的,可以通過iscsiadm命令對某一個參數文件進行更改.
3 在linux上執行iSCSI Target發現
可以使用如下指令向 iSCSI Target 主機查詢劃分了哪些lun:
iscsiadm -m discovery --type sendtargets --portal IP
4 管理共享磁碟
首先通過fdisk命令查看共享過來的磁碟標識,也可以通過dmesg命令查看系統是否認到了共享的iSCSI磁碟,操作如下:
[root@ Initiator iscsi ]#fdisk -l
Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 38913 312464250 8e Linux LVM
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 609 4891761 83 Linux
/dev/sdb2 610 1305 5590620 83 Linux
從fdisk輸出可知,iscsi共享磁碟標識為/dev/sdb,大小10.7G,下面就可以通過fdisk命令對這個磁碟進行重新分區、格式化、創建文件系統等操作了.
本文出自 「技術成就夢想」 博客,請務必保留此出處http://ixdba.blog.51cto.com/2895551/578075
[火星人 ] 利用ISCSI存儲技術構建IP存儲網路(實戰篇)已經有1017次圍觀