&">nbsp; 在上一节中介绍了如何搭建一个简单的iSCSI网络存储系统。iSCSI Initiator的客户端主机可以任意连接和使用iSCSI Target共享的所有磁盘和分区,而在很多时候,通过授权认证连接共享磁盘或分区是必须的,例如,只允许客户端主机A连接Target共享出来的磁盘分区一,而客户端主机B只允许连接Target共享的磁盘分区二等。在这种情况下,就需要在iSCSI target主机上进行授权设定。
iSCSI在授权访问和安全管理方面很有优势,它能够以主机为基础,也就是以IP地址为基础来设定允许或拒绝存取;也可以通过账户密码认证来设定允许或拒绝存取。
下面通过一个应用实例来介绍iSCSI授权获取磁盘资源的方法。
一个PC构架的iSCSI Target服务器,共享的硬盘标识为/dev/sdc,大小为10GB。
将此硬盘划分了两个分区/dev/sdcl和/dev/sdc2,将/dev/sdc1共享给一个IP地址为192.168.12.136的Windows客户端主机.将/dev/sdc2共享给一个IP地址为192.168.12.26的Linux客户端主机,iSCSI Target服务器的IP地址为192.168.12.246。接下来通过IP认证和账户密码认证两种方式来介绍如何实现这种需求。
Initiator主机以IP认证方式获取iSCSI Target资源
此种方式配置非常简单,只需在iSCSI Target服务器上修改两个文件即可。先在iscsitarget主目录/etc/iet下找到ietd.conf文件,然后添加如下内容:
Target iqn.2000-04.net.ixdba:sdc1
Lun O Path=/dev/sdc1, Type=fileio
Target iqn.2002-04.net.ixdba:sdc2
Lun o Path=/dev/sdc2, Type=fileio
在ietd.conf文件中,定义了两个Target,为每个Target分别添加了对应的磁盘分区。接着修改/etc/iet/initiators.allow文件,这个文件定义了Initiator主机对Target服务器的访问规则,作用类似于Linux操作系统中的/etc/hosts.allow丈件。修改后的initiators.allow文件内容如下:
iqn.2000-04.net.ixdba:sdc1 192.168.12.136
iqn.2002-04.net.ixdba:sdc2 192.168.12.26
修改完成,重启iscsi-target服务,操作如下:
[root@iscsi-target iet] # service iscsi-target restart
Stopping iSCSI Target: [ OK ]
Starting iSCSI Target : [ OK ]
接着,在IP地址为192.168.12.26的Linux Initiator主机上执行如下操作:
[root@ Initiator iscsi] # /etc/init.d/iscsi restart
[root@ Initiator iscsi] # iscsiadm -m discovery -t sendtargets -p 192.168.12.246 192.168.12.246:3260,1 iqn.2002-04.net.ixdba:sdc2
[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/sdal * 1 13 104391 83 Linux
/dev/sda2 14 38913 312464250 8e Linux LVM
Disk /dev/sdb: 5724 MB, 5724794880 bytes
177 heads, 62 sectors/track, 1018 cylinders
Units = cylinders of 10974 * 512 = 5618688 bytes
Device Boot Start End Blocks Id System
/dev/sdbl 1 1018 5585735 83 Linux
通过重启iscsi-target服务,重新执行Target发现,Linux系统已经识别了Target共享的磁盘分区,其中“/dev/sdb: 5724 MB”就是iSCSI共享磁盘。接下来就可以在Linux上管理和使用这个共享磁盘了。
最后,登录windows系统,打开Microsoft iSCSI Initiator,添加iSCSI共享磁盘即可。