在前面的文章中,介绍了如何搭建一个简单的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所示:
图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所示:
图2
在此界面下,选中“CHAP logon information”标签,然后填写客户端登录iSCSI Target / iqn / Lun时所使用的账号密码。填写完毕点击“确定”按钮。
此
时,名为“Target iqn.2000-04.net.ixdba:sdc1
”的target已经处于“Connectd”状态,即Microsoft iSCSI Initiator已经连接上了iSCSI
Target服务器共享出来的磁盘分区,最后,查看windows磁盘管理器,可以看到共享硬盘分区,如图3所示:
图3
到这里为止,windows已经可以对这个iSCSI磁盘进行分区、格式化等操作了。
分享到:
相关推荐
iSCSI(Internet Small Computer System Interface)是一种网络协议,它允许通过IP网络连接存储设备,构建IP存储网络,实现远程直接存储访问。这种方式使得企业能够利用现有的以太网基础设施进行块级数据传输,降低...
### iSCSI存储技术全攻略:深度解析与应用 #### iSCSI技术概览 iSCSI(Internet Small Computer System Interface)是一种由IETF(Internet Engineering Task Force)开发的网络存储标准,旨在利用IP协议连接存储...
总之,利用Windows Server 2008搭建iSCSI存储服务器和存储集群是一项强大的技术,它为企业提供了灵活、经济且高可用的存储解决方案。不过,为了确保系统的稳定运行,定期维护、监控和更新是必不可少的。同时,了解和...
总结以上内容,FreeNAS安装和配置iSCSI存储是IT专业人员必须掌握的技术之一。它允许用户通过网络访问和使用额外的存储资源,为服务器、工作站和虚拟机提供灵活、高效的数据存储解决方案。在操作过程中,需要注意硬件...
iSCSI存储网络、磁盘阵列以及容量扩展方法是确保游戏服务器稳定运行的关键技术。本文将深入探讨这些主题,为理解网络游戏背后的基础设施提供详尽的知识。 首先,iSCSI(Internet Small Computer System Interface)...
- **iSCSI的出现**:作为一种新兴的存储技术,iSCSI通过利用现有的IP网络基础设施,大大降低了部署和维护SAN的成本。同时,它也提供了与光纤通道相似的性能和可靠性。 ##### 1.2 发展历程 - **早期研究**:iSCSI的...
因此,出现了一种新的存储技术,即存储网络之IP SAN。这种技术可以将存储设备连接到IP网络中,从而提供一个高效、可靠、可扩展的存储解决方案。 2. 企业现有 IT 环境的潜在问题分析 在企业中,数据存储是一个非常...
iSCSI(Internet Small Computer System Interface, Internet 小型计算机系统接口),由 IBM 公司研究开发,是一个供硬件设备使用的可以在 IP 协议的上层运行的 SCSI 指令集,这种指令集合可以实现在 IP 网络上运行 ...
本文将深入探讨如何利用开源软件openfiler为Vmware构建ISCSI存储设备,以实现手动部署高效率且可靠的存储架构。 首先,让我们了解什么是openfiler。Openfiler是一款基于Linux的网络存储管理系统,它提供了包括块...
本解决方案旨在介绍如何使用 VMware ESXI 群集和 ISCSI 存储来构建高可用性和高性能的虚拟化环境。该解决方案涵盖了从安装 ESXI 到配置 ISCSI 存储的整个过程。 一、安装 ESXI 在安装 ESXI 之前,需要确保 VMware ...
总的来说,iSCSI是实现IP存储的关键,它利用现有的网络知识和工具,简化了存储管理,降低了存储成本,同时提供了与SCSI兼容的高可用性和可扩展性。随着技术的进步,iSCSI已成为构建高效、经济且易于管理的存储网络的...
ISCSI(Internet Small Computer System Interface)是一种基于TCP/IP协议的网络存储技术,它将传统的SCSI指令集封装在IP数据包中,使得存储设备可以通过现有的以太网基础设施进行远程访问。这个协议的引入极大地...
IP SAN是基于TCP/IP网络的存储区域网络,它允许使用标准的以太网硬件设备来构建SAN。IP SAN配置实战包括在服务器端安装和配置目标(target)服务,在客户端配置发起者(initiator)服务,并确保服务器和服务能够通过...
3. **扩展性**:ISCSI存储系统能直接在现有网络中部署,添加新的存储设备即可扩展存储空间,非常适合需要灵活扩展的企业。 4. **高速传输**:ISCSI的数据传输速度与以太网速度同步,随着网络带宽的提升,传输速度也...
在虚拟化学习过程中,我接触到了iSCSI存储技术,并通过网络文档的查阅及虚拟机环境下的测试,对其有了进一步的了解。 以下是对iSCSI技术进一步探讨的目录结构: 1. 系统结构 2. 配置域成员及iSCSI存储连接 3. 两台...