准备工作:


主机 系统 地址 软件
target主机 CentOS 6.4 i386 192.168.0.22 iscsi-target-utils
initiator主机 CentOS 6.4 i386 192.168.0.23 iscsi-initiator-utils
initiator主机 CentOS 6.4 i386 192.168.0.24 iscsi-initiator-utils



一. 配置target主机


在target主机有两块硬盘,/dev/sda和/dev/sdb,其中sdb作为iSCSI的共享磁盘


1. 安装iSCSI的服务端

[root@target ~]# yum install scsi-target-utils


2. 将tgtd服务设置为开机启动,并将它启动

[root@target ~]# chkconfig tgtd on
[root@target ~]# service tgtd start
Starting SCSI target daemon:                               [  OK  ]


3. 关于tgtadm命令的简单介绍

[root@target ~]# tgtadm -h
Usage: tgtadm [OPTION]
Linux SCSI Target Framework Administration Utility, version 1.0.24
  --lld  --mode target --op new --tid  --targetname 
                        add a new target with  and .  must not be zero.
  --lld  --mode target --op delete [--force] --tid 
            delete the specific target with .
            With force option, the specific target is deleted
            even if there is an activity.
  --lld  --mode target --op show
                        show all the targets.
  --lld  --mode target --op show --tid 
                        show the specific target's parameters.
  --lld  --mode target --op update --tid  --name  --value 
                        change the target parameters of the specific
                        target with .
  --lld  --mode target --op bind --tid  --initiator-address 
--lld --mode target --op bind --tid --initiator-name enable the target to accept the specific initiators. --lld --mode target --op unbind --tid --initiator-address
--lld --mode target --op unbind --tid --initiator-name disable the specific permitted initiators. --lld --mode logicalunit --op new --tid --lun \ --backing-store --bstype --bsoflags add a new logical unit with to the specific target with . The logical unit is offered to the initiators. must be block device files (including LVM and RAID devices) or regular files. bstype option is optional. bsoflags supported options are sync and direct (sync:direct for both). --lld --mode logicalunit --op delete --tid --lun delete the specific logical unit with that the target with has. --lld --mode account --op new --user --password add a new account with and . --lld --mode account --op delete --user delete the specific account having . --lld --mode account --op bind --tid --user [--outgoing] add the specific account having to the specific target with . could be or . If you use --outgoing option, the account will be added as an outgoing account. --lld --mode account --op unbind --tid --user delete the specific account having from specific target. --control-port use control port --help display this help and exit Report bugs to .


首先,创建一个target

[root@target ~]# tgtadm -L iscsi -m target -o new -t 1 -T iqn.2014-03.com.flyence:target1


查看该target的相关情况

[root@target ~]# tgtadm -L iscsi -m target -o show


创建一个LU,并将/dev/sdb作为共享磁盘

[root@target ~]# tgtadm -L iscsi -m logicalunit -o new -t 1 -l 1 -b /dev/sdb


允许192.168.0.0/16网段的主机访问

[root@target ~]# tgtadm -L iscsi -m target -o bind  -t 1 -I 192.168.0.0/24


创建认证账号,并绑定到target上

[root@target ~]# tgtadm -L iscsi -m account -o new --user flyence --password flyence
[root@target ~]# tgtadm -L iscsi -m account -o bind -t 1 --user flyence

该账号作为客户机访问服务端的认证账号


创建认证账号,并以outgoing的形式绑定到target上

[root@target ~]# tgtadm -L iscsi -m account -o new --user evan --password evan
[root@target ~]# tgtadm -L iscsi -m account -o bind -t 1 --user evan --outgoing

当客户机向服务端写入前,客户机会用此账号验证服务器的身份。


二. 配置客户端


1. 安装iscsi-initiator-utils

[root@initiator ~]# yum install iscsi-initiator-utils


2. 设置initiator的名字

[root@initiator iscsi]# echo "InitiatorName=`iscsi-iname -p iqn.2014-03.com.flyence`" > /etc/iscsi/initiatorname.iscsi
[root@initiator iscsi]# cat initiatorname.iscsi
InitiatorName=iqn.2014-03.com.flyence:9e9d0941d1f


3. 在/etc/iscsi/iscsi.conf中配置验证账号信息,启用以下5行,并修改

node.session.auth.authmethod = CHAP
                                                                                                                                                                                                                                                                                                                               
node.session.auth.username = flyence
node.session.auth.password = flyence
                                                                                                                                                                                                                                                                                                                                                     
node.session.auth.username_in = evan
node.session.auth.password_in = evan


4. 发现服务器的target

[root@initiator iscsi]# iscsiadm -m discovery -t st -p 192.168.0.22:3260
Starting iscsid:                                           [  OK  ]
192.168.0.22:3260,1 iqn.2014-03.com.flyence:target1


5. 登录上述被发现的target

[root@initiator iscsi]# iscsiadm  -m node -T iqn.2014-03.com.flyence:target1 -p 192.168.0.22:3260 -l
Logging in to [iface: default, target: iqn.2014-03.com.flyence:target1, portal: 192.168.0.22,3260] (multiple)
Login to [iface: default, target: iqn.2014-03.com.flyence:target1, portal: 192.168.0.22,3260] successful.


6. 查看当前的磁盘情况

[root@initiator iscsi]# fdisk -l /dev/sd[a-z]
Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000925b4
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        7675    61440000   8e  Linux LVM
/dev/sda3            7675       14049    51200000   8e  Linux LVM
/dev/sda4           14049       15666    12983296    5  Extended
/dev/sda5           14049       15666    12982272   8e  Linux LVM
Disk /dev/sdb: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


多出一块硬盘/dev/sdb,并且sdb还没分区,


7. 将sdb分两个区,并将sdb1格式化为ext4

[root@initiator iscsi]# fdisk /dev/sdb
....
[root@initiator iscsi]# fdisk -l /dev/sdb
Disk /dev/sdb: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc9458e42
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  83  Linux
/dev/sdb2            1307        2612    10490445   83  Linux
[root@initiator iscsi]# mkfs.ext4 /dev/sdb1


8. 此时,查看target主机的sdb硬盘情况

[root@target ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc9458e42
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  83  Linux
/dev/sdb2            1307        2612    10490445   83  Linux

已被分好区


当要开机启动服务时

[root@initiator iscsi]# chkconfig iscsid on


三. 服务端target配置文件的设定


在服务端如果只是在命令行中定义target和LU,在重启时会消失,要使其永久有效,就得写入配置文件/etc/tgt/targets.conf


    backing-store /dev/sdb
    initiator-address 192.168.0.0/16
                                                                                                                                                   
    incominguser flyence flyence
    outgoinguser evan evan


重启服务器主机,再看看target的配置

[root@target ~]# tgtadm -L iscsi -m target -o show
Target 1: iqn.2014-03.com.flyence:target2
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
        I_T nexus: 1
            Initiator: iqn.2014-03.com.flyence:9e9d0941d1f
            Connection: 0
                IP Address: 192.168.0.23
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: null
            Backing store path: None
            Backing store flags:
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 128849 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
            Backing store flags:
    Account information:
        flyence
        evan (outgoing)
    ACL information:
        192.168.0.0/16


此时,由于已修改了target的名字,则客户机无法直接登录,只能删除原有信息,重新发现和登录

在客户机上,先登出原有的target

[root@initiator iscsi]# iscsiadm -m node -T iqn.2014-03.com.flyence:target1 -p 192.168.0.22:3260 -u
Logging out of session [sid: 1, target: iqn.2014-03.com.flyence:target1, portal: 192.168.0.22,3260]
Logout of [sid: 1, target: iqn.2014-03.com.flyence:target1, portal: 192.168.0.22,3260] successful.


删除该target及相关文件

[root@initiator iscsi]# iscsiadm -m node -T iqn.2014-03.com.flyence:target1 -p 192.168.0.22:3260 -o delete
[root@initiator iscsi]# rm -rf /var/lib/iscsi/send_targets/192.168.0.22,3260/

重启服务

[root@initiator iscsi]# service iscsid restart
Stopping iscsid:
Starting iscsid:                                           [  OK  ]


重新发现和登录

[root@initiator iscsi]# iscsiadm -m discovery -t st -p 192.168.0.22:3260
192.168.0.22:3260,1 iqn.2014-03.com.flyence:target2
[root@initiator iscsi]# iscsiadm -m node -T iqn.2014-03.com.flyence:target2 -p 192.168.0.22:3260 -l
Logging in to [iface: default, target: iqn.2014-03.com.flyence:target2, portal: 192.168.0.22,3260] (multiple)
Login to [iface: default, target: iqn.2014-03.com.flyence:target2, portal: 192.168.0.22,3260] successful.


查看磁盘

[root@initiator iscsi]# fdisk -l /dev/sdb
Disk /dev/sdb: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc9458e42
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1306    10490413+  83  Linux
/dev/sdb2            1307        2612    10490445   83  Linux