`
zhaohaolin
  • 浏览: 985860 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

利用ISCSI存储技术构建IP存储网络(安全篇)

阅读更多

在前面的文章中,介绍了如何搭建一个简单的iSCSI网络存储系统,作为iSCSI initiator的客户端主机可以任意连接和使用iSCSI target共享出来的所有磁盘和分区,而在很多时候,通过授权认证连接共享磁盘或分区是必须的,例如:只允许客户端主机A连接target共享出来的磁 盘分区一,而客户端主机B只允许连接target共享出来的磁盘分区二等等,在这种情况下,就需要在iSCSI target主机上进行授权设定了。

iSCSI 在授权访问和安全管理方面有着不错优势,它能够使用以主机为基础,也就是以 IP地址为基础来设定允许或拒绝存取;也可以通过用户账号密码认证来完成允许或拒绝存取的设定。

下面通过一个应用案例来讲述iSCSI授权获取磁盘资源的方法。

有一个PC构架的iSCSI target服务器,共享的硬盘标识为/dev/sdc,大小10G,然后此硬盘划分了两个分区/dev/sdc1和/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 0 Path=/dev/sdc1,Type=fileio
Target iqn.2002-04.net.ixdba:sdc2
Lun 0 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/sda1   *           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/sdb1               1        1018     5585735   83  Linux
通过重启iscsi服务,重新执行Target发现,Linux系统已经识别了Target共享出来的磁盘分区,其中“/dev/sdb: 5724 MB”就是iSCSI共享磁盘,接下来就可以在linux上管理和使用这个共享磁盘了。
最后,登录windows系统,打开Microsoft iSCSI Initiator,添加iSCSI共享磁盘即可,这个操作很简单,这里不在详述。

二、Initiator主机以密码认证方式获取iSCSI Target资源

iSCSI Target使用账号密码方式认证分成两阶段:
第一阶段是Discovery查询认证所使用的账号和密码(即SendTargets 用的)。
第二阶段是登入Target / iqn / Lun时所使用的账号密码(即Login登录时用的)。
此种方式在配置方面稍复杂一些,需要在Initiator主机和iSCSI Target服务器上做简单配置,下面分步介绍。


 

1 配置iSCSI Target
首先修改/etc/iet/initiators.allow文件,打开所有权限,修改后的内容如下:
#iqn.2000-04.net.ixdba:sdc1 192.168.12.136
#iqn.2002-04.net.ixdba:sdc2 192.168.12.26
ALL ALL
 接着修改/etc/iet/ietd.conf文件,修改后的内容如下:
IncomingUser  discovery.auth  discoverysecret

Target iqn.2000-04.net.ixdba:sdc1
IncomingUser  login.windows.auth  windowssecret
Lun 0 Path=/dev/sdc1,Type=fileio
 
Target iqn.2002-04.net.ixdba:sdc2
IncomingUser  login.linux.auth linuxsecret
Lun 0 Path=/dev/sdc2,Type=fileio
 其 中,第一个“IncomingUser”是个全局参数,用来指定Discovery查询认证所使用的账号和密码,必须与initiator主机中设定的用 户名密码一致。第二个和第三个“IncomingUser”选项包含在对应的Target中,用来指定windows和Linux客户端主机登录 Target/iqn/Lun时所使用的账号密码。也必须与initiator主机中设定的用户名密码一致。
 所有配置完毕以后,重启iscsitarget服务。

2 配置Linux Initiator主机
修改/etc/iscsi/iscsid.conf文件,添加如下选项:
#以下三个是针对login的
node.session.auth.authmethod = CHAP     #表示在login时启用CHAP验证。
node.session.auth.username = login.linux.auth    #验证用户名称,可以是任意字符,但必须与target端IncomingUse配置的名字一致。
node.session.auth.password = linuxsecret     #验证密码,必须与target端对应的IncomingUse选项设置的密码一致。

#以下三个是针对discovery的
discovery.sendtargets.auth.authmethod = CHAP     #表示discovery时启用CHAP验证。
discovery.sendtargets.auth.username = discovery.auth  #验证用户名称,可以是任意字符,但必须与target端IncomingUse配置的名称一致。
discovery.sendtargets.auth.password = discoverysecret #验证密码,必须与target端对应的IncomingUse选项设置的密码一致。
配置完毕,重启initiator,重新执行Discovery查询,操作如下:
[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.2000-04.net.ixdba:sdc1
192.168.12.246:3260,1 iqn.2002-04.net.ixdba:sdc2
从查询结果可知,initiator查询到了两个Target,最后执行fdisk操作:
[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: 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/sdb1               1        1018     5585735   83  Linux
从fdisk的输出结果可知,Linux initiator已经成功连接了ISCSI共享磁盘,而“/dev/sdb: 5724 MB”就是识别的硬盘标识和大小。

3 配置windows Initiator主机
 配置windows Initiator主机的方法在前面章节已经有过介绍,这里仅仅讲述不同的地方,首先打开Microsoft iSCSI Initiator,选择第二个分页标签“Discovery”,然后在“Target Portals”部分点击“Add”按钮,跳出“Add Target Portal”窗口,在此窗口中填写iSCSI Target的IP地址和端口,填写完毕,点击“Advanced”按钮,如图1所示:

利用ISCSI存储技术构建IP存储网络(概念篇)

图1

在此界面下,选中“CHAP logon information”标签,然后填写Discovery查询认证所使用的账号和密码。填写完毕点击“确定”按钮。
接 着选择第三个分页标签“Targets”,此时Initiator已经从iSCSI Target端查询到了两个Target,选中第一个名为“Target iqn.2000-04.net.ixdba:sdc1 ”的target,点击“Log On”按钮,然后在弹出的“Log On to Target”窗口中点击“Advanced”按钮,如图2所示:

利用ISCSI存储技术构建IP存储网络(概念篇)

图2

在此界面下,选中“CHAP logon information”标签,然后填写客户端登录iSCSI Target / iqn / Lun时所使用的账号密码。填写完毕点击“确定”按钮。
 此 时,名为“Target iqn.2000-04.net.ixdba:sdc1 ”的target已经处于“Connectd”状态,即Microsoft iSCSI Initiator已经连接上了iSCSI Target服务器共享出来的磁盘分区,最后,查看windows磁盘管理器,可以看到共享硬盘分区,如图3所示:

利用ISCSI存储技术构建IP存储网络(概念篇)

图3

到这里为止,windows已经可以对这个iSCSI磁盘进行分区、格式化等操作了。

分享到:
评论

相关推荐

    利用ISCSI搭建IP存储网络.ppt

    iSCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,可以在IP网络上构建SAN存储区域网,...

    IP 网络存储(IP SAN)解决方案(iSCSI)

    通过iSCSI 技术,可以帮助用户构建一个基于千兆IP网络的集中存储环境,解决用户数据迁移;数据共享;存储空间扩展的问题,并大大降低管理成本。让用户能在IP网络环境下充分享受SAN环境带给用户的好处的同时,省去SAN...

    数据存储新方向:ISCSI全面解析

    ISCSI存储技术则是目前应用最广,最成熟的SCSI和TCP/IP两种技术的结合与发展。因此,这两种技术让ISCSI存储系统成为一个开放式架构的存储平台,系统组成非常灵活。如果我们以局域网方式组建ISCSI存储系统,只需要...

    数据存储新方向ISCSI全面解析

    ISCSI存储技术则是目前应用最广,最成熟的SCSI和TCP/IP两种 技术的结合与发展。因此,这两种技术让ISCSI存储系统成为一个开放式架构的存储平台,系统组成非常灵活。如果我们以局域网方式组建ISCSI存储系 统,只需要...

    存储网络之IP SAN

    存储网络之IP SAN 基于iSCSI技术在IP网络上构建一个具有SAN优势的集中存储平台

    ISCSI全面解析

    ISCSI存储技术则是目前应用最广,最成熟的SCSI和TCP/IP两种技术的结合与发展。因此,这两种技术让ISCSI存储系统成为一个开放式架构的存储平台,系统组成非常灵活。如果我们以局域网方式组建ISCSI存储系统,只需要...

    iSCSI详解.doc

    IETF指定的标准,将SCSI数据块映射为以太网数据包,是一种基于IP Storage理论的新型存储技术,将存储行业广泛应用的SCSI接口技术与IP网络相结合,可以在IP网络上构建SAN,最初由Cisco和IBM开发。

    初识ISCSI技术

    它是由Cisco 和IBM两家发起的,并且得到了IP存储技术拥护者的大力支 持。iSCSI是基于IP协议的技术标准,是允许网络在 TCP/IP协议上传输SCSI命令的新协议,实现了SCSI和TCP/IP协议的连接,该技术允许用户通过TCP/IP...

    通信与网络中的构建IP SAN四大建议,助你成功

     LSI公司的技术顾问Alexander Sammer说:“人们大力倡导使用iSCSI的一部分原因是你不需要和光纤通道SAN一样相同的专用的网络知识,创建和配置时,iSCSI网络相对非常简单。”和FC SAN不同的是,iSCSI SAN的好处是它...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    7.6 搭建基于IP SAN的iSCSI存储系统 7.6.1 安装iSCSI Target软件 7.6.2 配置一个简单的iSCSI Target 7.6.3 在Windows上配置iSCSI Initiator 7.6.4 在Linux上配置iSCSI Initiator 7.7 iSCSI 在安全方面的...

    IP SAN与FC SAN两种存储技术优劣对比

    随着IP SAN兴起,IP存储已经越来越广的呈现在用户面前。当然,IP存储不应仅仅局限于iSCSI或者说是企业构建的IPSAN,比如FCIP(基于IP协议的光纤通道)……

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    1.5.1存储管理软件 1.5.2集群管理软件 1.5.3数据库管理软件 1.6本章小结 第2章 搭建类似生产环境的RAC 2.1搭建环境 2.1.1 RAC的物理结构 2.1.硬件环境 2.1.3软件环境 2.2搭建存储服务器 2.2.1安装...

    OpenStack实战演练及开发入门完整全套培训

    深刻理解:OpenStack的设计原理,体系构架和关键技术,构建一个OpenStack环境所需的核心组件以及核心组件间的联系; 全面掌握:如何通过不同的部署工具比如packstack,部署OpenStack环境;如何通过单独部署OpenStack...

    OpenStack实战演练及开发入门完整全套培训__百度云视频链接

    深刻理解:OpenStack的设计原理,体系构架和关键技术,构建一个OpenStack环境所需的核心组件以及核心组件间的联系; 全面掌握:如何通过不同的部署工具比如packstack,部署OpenStack环境;如何通过单独部署OpenStack...

Global site tag (gtag.js) - Google Analytics