實現環境:vmware workstation,netapp simulator,windows 2003,redhat linux enterprise;

一、安裝並配置iSCSI Initiator軟體

1.從光碟安裝iscsi initiator

[root@pe03 Server]# cd /mnt/Server/

[root@pe03 Server]# rpm -ivh iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm

warning: iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing… ########################################### [100%]

1:iscsi-initiator-utils ########################################### [100%]

這個安裝將iscsid、iscsiadm安裝到/sbin目錄下,它還將把預設的配置檔案安裝到/etc/iscsi目錄下:

/etc/iscsi/iscsid.conf 所有剛發起的iSCSI session預設都將使用這個檔案中的引數設定。

/etc/iscsi/initiatorname.iscsi 軟體iSCSI initiator的intiator名稱配置檔案。

在iscsi啟動的時候,iscsid和iscsiadm會讀取這兩個配置檔案。

查詢軟體包安裝情況(安裝了哪些檔案及其位置;)

[root@rhe5 Server]# rpm –q –list iscsi-initiator-utils-6.2.0.742-0.5.el5
/etc/iscsi/iscsid.conf
/etc/rc.d/init.d/iscsi
/etc/rc.d/init.d/iscsid
/sbin/iscsi-iname
/sbin/iscsiadm
/sbin/iscsid
/sbin/iscsistart

Technorati 標籤: iscsi initiator

/usr/share/doc/iscsi-initiator-utils-6.2.0.742
/usr/share/doc/iscsi-initiator-utils-6.2.0.742/README
/usr/share/man/man8/iscsiadm.8.gz
/usr/share/man/man8/iscsid.8.gz
/var/lib/iscsi/nodes
/var/lib/iscsi/send_targets
/var/lock/iscsi
[root@rhe5 Server]# rpm -q –scripts iscsi-initiator-utils-6.2.0.742-0.5.el5
postinstall scriptlet (using /bin/sh):
if [ ! -f /etc/iscsi/initiatorname.iscsi ]; then
        echo “InitiatorName=`/sbin/iscsi-iname`” > /etc/iscsi/initiatorname.iscsi
fi
/sbin/chkconfig –add iscsid
/sbin/chkconfig –add iscsi
preuninstall scriptlet (using /bin/sh):
if [ “$1” = “0” ]; then
    /sbin/chkconfig –del iscsi
    /sbin/chkconfig –del iscsid
fi
[root@rhe5 Server]# iscsi-iname
iqn.2005-03.com.redhat:01.4e85bacb9b8

2、確認iscsi服務隨系統啟動而啟動

用chkconfig檢查iscsi和iscsid服務在執行級別3和5中隨系統的啟動而自動啟動

[root@pe03 Server]# chkconfig –list |grep iscsi

iscsi 0:off 1:off 2:off 3:on 4:on 5:on 6:off

iscsid 0:off 1:off 2:off 3:on 4:on 5:on 6:off

如果iscsid和iscsi沒有隨系統的啟動而啟動,則用chkconfig設定這兩個服務在系統執行級別為3和5時隨系統啟動而啟動

[root@pe03 Server]# chkconfig iscsi –level 35 on

[root@pe03 Server]# chkconfig iscsid –level 35 on

(3、設定InitiatorName)

用vi編輯/etc/iscsi/initiatorname.iscsi檔案,檔案內容如下

InitiatorName=iqn.2005-03.com.redhat:01.e7839d513f

注意:

l InitiatorName這個單詞必須注意大小寫,同時,必須頂格寫,xxxx代表要設 置的initiator名稱,請遵循iqn命名規範。

l iqn規範定義的InitiatorName格式為iqn.domaindate. reverse.domain.name:optional name,例如:iqn.2006-11.com.h3c:dbserver。

4、啟動iscsi服務

用service iscsi start啟動iSCSI服務。

root@pe03 Server]# service iscsi start

Turning off network shutdown. Starting iSCSI daemon: [ OK ]

[ OK ]

Setting up iSCSI targets: [ OK ]

用service iscsi status及service iscsid status檢視iscsi相關服務的執行狀態

[root@pe03 Server]# service iscsi status

iscsid (pid 3697 3696) is running…

[root@pe03 Server]# service iscsid status

iscsid (pid 3697 3696) is running…

Open-iSCSI是通過以下iSCSI資料庫檔案來實現永久配置的:

Discovery (/var/lib/iscsi/send_targets):在/var/lib/iscsi/send_targets目錄下包含iSCSI portals的配置資訊,每個portal對應一個檔案,檔名為“iSCSI portal IP,埠號”(例如“200.200.10.200,3260”)。

Node (/var/lib/iscsi/nodes):在/var/lib/iscsi/nodes目錄下,生成一個或多個以iSCSI儲存伺服器上的Target名命名的資料夾,在該資料夾下有一個檔名為“iSCSI portal IP,埠號” (例如“200.200.10.200,3260”)的配置引數檔案,該檔案中是initiator登入target時要使用的引數,這些引數的設定是從/etc/iscsi/iscsi.conf中的引數設定繼承而來的,可以通過iscsiadm對某一個引數檔案進行更改(需要先登出到target的登入)。

iscsiadm是用來管理(更新、刪除、插入、查詢)iSCSI配置資料庫檔案的命令列工具,使用者能夠用它對iSCSI nodes、sessions、connections和discovery records進行一系列的操作。

5、分配儲存資源,在Linux上執行target的發現

RHEL 5上當前的iSCSI Initiator版本只支援sendtargets 的發現方式,不支援SLP和iSNS

使用下面的命令執行target的發現:

[root@rhel5 Server]# iscsiadm -m discovery -t sendtargets -p 192.168.1.20:3260

???    iscsiadm: can not connect to iSCSI daemon!
         iscsiadm: exiting due to configuration error!

重啟linux,再執行上命令後結果:(netapp模擬器兩個網口,全部自動發現,如何去掉一個?)

192.168.1.21:3260,1001 iqn.1992-08.com.netapp:sn.99900641
192.168.1.20:3260,1000 iqn.1992-08.com.netapp:sn.99900641

netapp模擬器終端上資訊:

Sat Jan 16 15:50:54 GMT [iscsi.notice:notice]: ISCSI: New session from initiator iqn.2005-03.com.redhat:01.74394c92c697 at IP addr 192.168.1.60

[root@rhe5 iscsi]# fdisk –l  (如何配置去掉一個???)

Disk /dev/sda: 23.6 GB, 23622320128 bytes
255 heads, 63 sectors/track, 2871 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1           6       48163+  83  Linux
/dev/sda2               7         515     4088542+  83  Linux
/dev/sda3             516        2741    17880345   83  Linux
/dev/sda4            2742        2871     1044225    5  Extended
/dev/sda5            2742        2871     1044193+  82  Linux swap / Solaris

Disk /dev/sdb: 36 MB, 36700160 bytes
2 heads, 35 sectors/track, 1024 cylinders
Units = cylinders of 70 * 512 = 35840 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1024       35822+  83  Linux

Disk /dev/sdc: 36 MB, 36700160 bytes
2 heads, 35 sectors/track, 1024 cylinders
Units = cylinders of 70 * 512 = 35840 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1        1024       35822+  83  Linux

7、登入target

[root@pe03 Server]# iscsiadm -m node -T iqn.2007-04.acme.com:h3c:200realm.rhel5 -p 200.200.10.200:3260 -l

這裡-T後面跟target名稱,最後的-l(英文字母中小寫的L),是login的意思。

可以使用iscsiadm -m node –loginall=all

      一次登入所有的targets。

[root@pe03 Server]# iscsiadm -m node –loginall=all

8、檢視iSCSI session資訊

用iscsiadm -m session –i檢視iSCSI session和裝置資訊

[root@rhe5 ~]# iscsiadm -m session -i
iscsiadm version 2.0-742
************************************
Session (sid 0) using module tcp:
************************************
TargetName: iqn.1992-08.com.netapp:sn.99900641
Portal Group Tag: 1000
Network Portal: 192.168.1.20:3260
iSCSI Connection State: LOGGED IN
Internal iscsid Session State: NO CHANGE

************************
Negotiated iSCSI params:
************************
HeaderDigest: None
DataDigest: None
MaxRecvDataSegmentLength: 65536
MaxXmitDataSegmentLength: 65536
FirstBurstLength: 65536
MaxBurstLength: 65536
ImmediateData: Yes
InitialR2T: No
MaxOutstandingR2T: 1

************************
Attached SCSI devices:
************************
Host Number: 1  State: running

scsi1 Channel 00 Id 0 Lun: 2
Attached scsi disk sdb          State: running

二、對新發現的磁碟進行分割槽並建立檔案系統

fdisk –l;fdisk /dev/sdb;mkfs –t ext3 /dev/sdb1

1、先用fdisk –l檢視新的磁碟名稱,這裡我們發現了一個100GB的磁碟,裝置名為/dev/sdb

[root@pe03 Server]# fdisk -l

…………………………

Disk /dev/sdb: 107.3 GB, 107373133824 bytes

255 heads, 63 sectors/track, 13054 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn`t contain a valid partition table

2、用tune2fs修改檔案系統的屬性,去掉自動檢查的屬性:

[root@pe03 Server]# tune2fs -c -1 -i 0 /dev/sdb1

tune2fs 1.39 (29-May-2006)

Setting maximal mount count to -1

Setting interval between checks to 0 seconds

Linux上的ext3檔案系統有一個特性,對某個分割槽mount、umount很多次後或者隔一個固定的時間後,系統會對該分割槽進行檢測,這就會導致硬碟反映速度很慢,影響業務,本操作的目的就是去掉檔案系統自動檢查的屬性。

三、設定檔案系統的自動掛載

本例中我們將要把/dev/sdb1掛載到/data目錄下

1、手動建立一個目錄/data

[root@pe03 Server]# mkdir /data

2、用tune2fs檢視檔案系統的UUID:

[root@pe03 Server]# tune2fs -l /dev/sdb1

tune2fs 1.39 (29-May-2006)

Filesystem volume name: <none>

Last mounted on: <not available>

Filesystem UUID: 3f0a00b7-4939-4ad2-a592-0821bb79f7c6

Filesystem magic number: 0xEF53

Filesystem revision #: 1 (dynamic)

Filesystem features: has_journal resize_inode dir_index filetype sparse_super large_file

………………..

3、用vi編輯/etc/fstab檔案,設定自動掛載:

在/etc/fstab檔案中增加下面藍色的一行文字:

/dev/VolGroup00/LogVol00 / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

devpts /dev/pts devpts gid=5,mode=620 0 0

tmpfs /dev/shm tmpfs defaults 0 0

proc /proc proc defaults 0 0

sysfs /sys sysfs defaults 0 0

/dev/VolGroup00/LogVol01 swap swap defaults 0 0

UUID=3f0a00b7-4939-4ad2-a592-0821bb79f7c6 /data ext3 _netdev 0 0

注意:

l 掛載選項使用的是“_netdev”

l UUID要頂格寫。

l Linux系統重啟後,磁碟裝置的名稱可能會發生變化,從而引起檔案系統不能掛載上來或者不能正確掛載,使用UUID的方式進行掛載可以解決這個問題,

、用mount –a掛載檔案系統

[root@pe03 Server]# mount –a

4、用df檢視檔案系統已經掛載成功

[root@pe03 /]# df -Th

Filesystem Type Size Used Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

ext3 65G 2.4G 59G 4% /

/dev/sda1 ext3 99M 12M 82M 13% /boot

tmpfs tmpfs 471M 0 471M 0% /dev/shm

/dev/sdb1 ext3 99G 188M 94G 1% /data

5、條件允許的話,重啟一下作業系統,使用df命令確認系統重啟後檔案系統能夠自動掛載上來。