ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【ISCSI】-iSCSI Initiator与 Target 的安装、配置与连接过程备忘

【ISCSI】-iSCSI Initiator与 Target 的安装、配置与连接过程备忘

原创 Linux操作系统 作者:sDon 时间:2010-12-30 21:04:09 0 删除 编辑

iSCSI Initiator与 Target 的安装、配置与连接过程备忘

Centos和 RHEL 对 iSCSI Initiator  支持非常不错,但由于 iSCSI 、 Linux  通常都是搭配应用在中、大型系统环境下,所以我们买的  iSCSI  硬体厂商都会提供驱动程式给  Linux  使用,尤以  RedHat 、 SuSE  这些  Linux  知名厂商支持度最高,直到最近  2007  年左右,现在  Linux  都渐渐已经内建  iSCSI Initiator  相关软体,来介绍如何在  Linux  实做  iSCSI Initiator 。

Initiator 主要功能是提供电脑主机连线到  Target  作磁碟存取。这个  Initiator  可使用硬件方式  Initiator  或者软件方式  Initiator ,我们下面的 Initiator ,基本都是使用软件方式  Target  与  Initiator 。 “ 软件 ” 或 “ 硬件 ” 的  iSCSI Target  与  iSCSI Initiator  就好比  RAID  有 “SoftRAID” 与 “Hardware RAID” 。
第一步安装 iSCSI Initiator for Linux

在 Centos 5  软体内就有  iSCSI Initiator .
#yum -y install iscsi-initiator-utils  

或者下载open  iscsi进行  make && make install

第二步:使用 iscsiadm  指令管理连线
#service iscsi start
#iscsiadm -m discovery –type sendtargets –portal 192.168.0.1
iSCSI Target 主机查找  Target Record  信息,其中  192.168.0.1  为  Target  主机  IP  或  DNS  名称。找到后会提示你发现 …
#service iscsi restart

现在就可以在你的电脑中见到新的设备了./dev/sdb… 之类 , 我们可以对他来象本地一样操作

接下来在 Linux 分区、格式化与挂载就可以用了 .

分区
#fdisk /dev/sdbX
#mkfs -j( ext3  格式)
#mkreiserfs( ReiserFS  格式)
#mount /dev/sdbX /

下次开机自动取得 iSCSI Target  磁碟

只要 iSCSI Initiator  主机曾经  sendtargets  过并且  login  相关  record, 只要在  Initiator  主机使用指令 “chkconfig iscsi on” 设定下次开机自动启动  iSCSI Initiator Daemon ,就可以办到 ‘ 下次开机自动取得  iSCSI Target  磁碟 ’ 功能。
#chkconfig iscsi on

有关iSCSI 的其它
iSCSI 在安全方面相关设定 ,iSCSI  在安全管理方面有着不错优势 , 可以使用 ” 主机 ” 和 ” 使用者 ” 来完成允许或拒绝存取的设定。

0.iSCSI Target 安装

# tar zxvf iscsi-target.xxxxx.tar.gz                                         
# cd iscsi-target.xxxxx                                                      
# make  ( 编译过程可能会有部分error ,请参考本论坛博客文章 《 iscsitarget 在 Linux2.6.32 内核上编译 若干编译错误与解决方法(备忘)   》 )                                                                     
# make install                                                               
# mkdir /iscsidisk                                                           
# dd if=/dev/zero f=/iscsidisk/sharedisk1.img bs=1k count=1 seek=2000K      
    (以上这句是用 dd 建立了一个 2G 大小的映像文档,也就是我们的一个 iscsi 映像磁盘 )
# vim /etc/ietd.conf                                                         
    找到"Target iqn" ,注意这行 Target 后的一串字符,是 iscsi 的标记              
    找到"Lun 0" 一行,改为                                                    
    Lun 0 Path=/iscsidisk/sharedisk1.img,Type=fileio                         
# chkconfig iscsi-target on                                                  
# /etc/init.d/iscsi-target start

1.iSCSI Target 实战以  IP  为基础的允许或拒绝  Initiator  主机

iSCSI Enterprise Target 软体本身有内建类似  TCP Wrapper ( /etc/hosts.allow 、 /etc/hosts.deny )的  /etc/initiators.allow 、 /etc/initiators.deny ,接下来示范设定这两个档案来限制  Initiator  主机存取。

设定 /etc/initiators.allow 、 /etc/initiators.deny 这二个文件就可以控制主机了 . 安装完会默认生成

底下列出例子为“ 只允许  172.16.7.120  这台  Initiator” 并 “ 拒绝全部 ” 设定

/etc/initiators.allow 内容,最后一行允许  172.16.7.120 (其他三行被#注解)

# Some exmaples
#iqn.2001-04.com.example:storage.disk1.sys1.xyz 192.168.22.2, 192.168.3.8
#iqn.2001-04.com.example:storage.disk1.sys4.xyz [3ffe:302:11:1:211:43ff:fe31:5ae2], [3ffe:505:2:1::]/64
iqn.2001-04.com.example:storage.disk2.sys1.xyz 172.16.7.120

/etc/initiators.deny 内容,最后一行拒绝全部(其他四行被#注解)

# Some exmaples
#iqn.2001-04.com.example:storage.disk1.sys1.xyz ALL
#iqn.2001-04.com.example:storage.disk1.sys2.xyz 192.168.12.2, 192.168.3.0/24, 192.167.1.16/28
#iqn.2001-04.com.example:storage.disk1.sys4.xyz [3ffe:302:11:1:211:43ff:fe31:5ae2], [3ffe:505:2:1::]/64
iqn.2001-04.com.example:storage.disk2.sys1.xyz ALL

注意到 iqn  需与  /etc/ietd.conf  内的  iqn  相同。

2.iSCSI Target 使用者帐号密码为基础的允许或拒绝  Initiator  主机

iSCSI Target 使用帐号密码方式认证分成两阶段:

第一阶段是 Discovery  时认证所使用的帐号密码( SendTargets  用的)。

第二阶段是登入各别 Target / iqn / Lun  时所使用的帐号密码( Login  用的)。
一个 iSCSI Enterprise Target  能够在  /etc/ietd.conf  设定多个  Target  区段,分享多个  iqn / Lun  并且可以为每个  Target / iqn / Lun  设定存取的帐号密码。

由下图的上半个视窗可以看到在 Target  主机于  /etc/ietd.conf  设定两个  Target / iqn / Lun ,而下半个视窗可看到  Initiator  主机使用  iscsiadm  指令发现两个  Target 。

/etc/ietd.conf Initiator 主机设定

Discovery 时使用的帐号密码
(SendTargets  用的)  IncomingUser joe secret
(独立于 Target  区段外)  discovery.sendtargets.auth.username = joe
discovery.sendtargets.auth.password = secret
连接 Target / iqn / Lun  时使用的帐号密码
(Login  用的)  IncomingUser joe2 secret2
(置于 Target  区段内)  node.session.auth.username = joe2
node.session.auth.password = secret2
Note: joe 、 secret 、 joe2  与  secret2  都是测试用的帐号密码。
只要有改到 /etc/ietd.conf 、 /etc/iscsid.conf  别忘了各别需要使用  InitScripts ( /etc/init.d/iscsi-target 、 /etc/init.d/iscsi )重新启动相关  Daemon ( ietd 、 iscsid )。

SAN 架构与其相关技术应用非常广,比如我们可以配合集群( Cluster )与丛集群案系统( Cluster File System )的高级应用,像是  RedHat GFS  或是  Oracle OCFS2  档案系统,提供分享( Shared ) Block Level I/O  给多台主机。

注意:若未使用及设定 Cluster File System  但却使用两个  Initiator  同时存取同一个  Target Device  会导致资料毁损,请小心!


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/do2jiang/archive/2009/12/24/5069654.aspx

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/645199/viewspace-682929/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-11-20

  • 博文量
    39
  • 访问量
    262878