RHEL5.4搭建iscsi-target服務器,
拓撲結構如下:
1.安裝iscsitarget軟件包,這裏用源代碼包編譯安裝,也可以使用rpm安裝,rhel5系統光盤自帶
[root@server1 src]# ls
iscsitarget-
[root@server1 src]# tar -xzf iscsitarget-
[root@server1 src]# cd iscsitarget-
[root@server1 iscsitarget-
Applying Patch compat-
…………………………
LD [M] /usr/local/src/iscsitarget-
Building modules, stage 2.
MODPOST
CC /usr/local/src/iscsitarget-
LD [M] /usr/local/src/iscsitarget-
make[1]: Leaving directory `/usr/src/kernels/
[root@server1 iscsitarget-
`usr/ietd' -> `/usr/sbin/ietd'
`usr/ietadm' -> `/usr/sbin/ietadm'
`etc/initd/initd.redhat' -> `/etc/rc.d/init.d/iscsi-target'
install: creating directory `/etc/iet'
2.修改配置文件,位置爲:/etc/iet/ietd.conf
第一行:設備的完全標識,命名方法爲iqn.yyyy-dd.domain_name:id。iqn是保留名稱,必須用iqn開頭,yyyy-dd表示年和日期,表示此SAN設備建立時間。後邊的域名和冒號自行起名即可。
第二行:IncomingUser是授權的用戶名和密碼,用空格隔開,注意:由於微軟的Windows iSCSI-initiator要求密碼長度需要在6到12位之間,否則會報錯,windows 7需要12位長,因此這裏設置密碼長度12位
第三行:表示提供給客戶端訪問的設備,設備可以是lvm邏輯卷(/dev/vg_ser/lv_opt),raid陣列(/dev/md0),一整塊磁盤(dev/sdb),或者一個分區(/dev/sdb1);如果有多個設備,可以寫多行
Lunid: Lun的編號從0開始,最大2^14-1
Path=<設備>:指定塊設備。可以使用dd命令生成一個文件
Type=fileio|blockio: 塊設備類型,分區及dd命令生成的文件使用fileio類型;LVM卷、RAID卷使用blockio類型。
IOMode=(wb|ro): iSCSI initiator允許的操作,wb表示可讀寫;ro表示只讀。
[root@server1 ~]# vim /etc/iet/ietd.conf
# "yyyy-mm" is the date at which the domain is valid and the identifier
# is freely selectable. For further details please check the iSCSI spec.
第一行:Target iqn.2011-05.com.example:storage.lun0 設備的完全標識
第二行:IncomingUser lzy nihao123456! IncomingUser是授權的用戶名和密碼第三行:Lun 0 Path=/dev/sdb,Type=fileio,IOMode=wb 表示SAN要提供訪問的設備
第四行:Alias lun0 別名
#Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
# CHAP Users
#
"/etc/iet/ietd.conf"
3.重新啓動服務,如下圖:
[root@server1 ~]# /etc/init.d/iscsi-target restart
Stopping iSCSI Target: Connection refused.
ietd: no process killed
[FAILED]
Starting iSCSI Target: [ OK ]
Linux Iscsi客戶端的配置
1.從光盤安裝iscsi-initiator-utils軟件包,如下圖:
[root@localhost ~]# rpm -ivh /mnt/Server/iscsi-initiator-utils-
warning: /mnt/Server/iscsi-initiator-utils-
Preparing... ########################################### [100%]
1:iscsi-initiator-utils ########################################### [100%]
[root@localhost ~]# /etc/init.d/iscsi restart
Stopping iSCSI daemon:
iscsid dead but pid file exists [ OK ]
Turning off network shutdown. Starting iSCSI daemon: [ OK ]
[ OK ]
Setting up iSCSI targets: iscsiadm: No records found!
[ OK ]
2.保證配置文件/ etc/iscsi/initiatorname.iscsi文件有定義InitiatorName值,如下圖
[root@localhost ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:c31adc4733ed
[root@localhost ~]#
3.修改主配置文件/etc/iscsi/iscsid.conf,
[root@station7 ~]# grep -v "#" /etc/iscsi/iscsid.conf |grep -v "^$"
node.startup = automatic 隨系統啓動而啓動該服務
node.session.auth.authmethod = CHAP 啓用CHAP驗證
#爲啓動程序的 CHAP 身份驗證設置用戶名和密碼(由目標驗證),
node.session.auth.username = lzy
node.session.auth.password = nihao123!
discovery.sendtargets.auth.authmethod = CHAP 設置搜索會話 CHAP 身份驗證
#爲啓動程序的搜索會話 CHAP 身份驗證設置用戶名和密碼(由目標驗證):
discovery.sendtargets.auth.username = lzy
discovery.sendtargets.auth.password = nihao123!
node.session.timeo.replacement_timeout = 120
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 5
node.session.err_timeo.abort_timeout = 15
node.session.err_timeo.lu_reset_timeout = 20
node.session.initial_login_retry_max = 8
node.session.cmds_max = 128
node.session.queue_depth = 32
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768
node.conn[0].iscsi.HeaderDigest = None
node.session.iscsi.FastAbort = Yes
4.通過命令搜索目標服務器的存儲對象,
[root@station7 ~]# iscsiadm -m discovery -t st -p 192.168.1.8
192.168.1.8:3260,1 iqn.2011-05.com.example:storage.lun0
5.重啓iscsi服務,可以登錄到對方的iscsi存儲對象。如下圖:
[root@station7 ~]# /etc/init.d/iscsi restart
Stopping iSCSI daemon:
iscsid dead but pid file exists [ OK ]
Turning off network shutdown. Starting iSCSI daemon: [ OK ]
[ OK ]
Setting up iSCSI targets: Logging in to [iface: default, target: iqn.2011-05.com.example:storage.lun0, portal: 192.168.1.8,3260]
Login to [iface: default, target: iqn.2011-05.com.example:storage.lun0, portal: 192.168.1.8,3260]: successful
[ OK ]
5.fdisk可以查看到已經登錄到iscsi服務器的存儲對象上,可以在此基礎上分區掛載,如下圖
[root@station7 ~]# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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 1925 15358140 8e Linux LVM
/dev/sda3 1926 1990 522112+ 82 Linux swap / Solaris
/dev/sda4 1991 2610 4980150 5 Extended
/dev/sda5 1991 2052 497983+ 83 Linux
/dev/sda6 2053 2138 690763+ 8e Linux LVM
/dev/sda7 2139 2236 787153+ 8e Linux LVM
/dev/sda8 2237 2280 353398+ fd Linux raid autodetect
/dev/sda9 2281 2324 353398+ fd Linux raid autodetect
Disk /dev/md0: 723 MB, 723517440 bytes
2 heads, 4 sectors/track, 176640 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk /dev/md0 doesn't contain a valid partition table
Disk /dev/sdb: 21.4 GB, 21474836480 bytes 此設備
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
Windows 7登錄linuxiscsi
1.打開管理工具-à.ISCSI發起程序,如下圖:
2.在發起程序中,目錄中寫人iscsi-target服務器的IP,點擊快速連接,如下圖:
3.可以搜索到iscsi-target服務器上提供的存儲對象目標,如下圖:
4.選中目錄名稱,然後點擊“屬性”或“連接”
5.在屬性中點擊“添加會話”,彈出窗口,點擊“高級”
6.在高級中選擇鏈接方式,也可以按照默認,選中啓用“chap登錄”,然後寫上正確的用戶名和密碼,如下圖:
7.再點擊“連接“,對象已經連接好,如下圖:
8,通過“計算機管理“à.”磁盤管理“可以看到存儲對象,如下圖: