`

iSCSI的配置(target/initiator)

 
阅读更多

iSCSI 是一种 SAN的设备而 SAN的设备主要是提供 Server 存储体的空间.相较于传统的 SAN 是以光纤为传输媒体而 iSCSI(Internet SCSI)他是 IP-based 的数据存储的设备.使得他能更容易应用在企业中. 1.一般的网卡就能当作 iSCSI Target 但是缺点就是会消耗太多的 CPU 资源,针对这样的问题所以发展出另外两种的 iSCSI Target 网卡.2.一种是软件的 iscsi + TOE (TOE:TCP/IP offload engine),它可以针对 TCP/IP 的封包直接在网络卡 上运算所以不会因此占用系统上的 CPU 的使用率,  3.另外一种就是硬件式的 iSCSI + TOE. 它除了具有 TOE 还可以直接针对 iSCSI 的数据做运算.基本上它的使用上就像是一般存储设备 HBA.你可以直接在 BIOS 选项作 iSCSI 硬件开机的动作.
当前 RHEL5 和 SLES10 都已经将 iSCSI Target 当作缺省的组件,所以之前的版本如 RHEL4 需要使用 iSCSI Target 这边介绍另外一套 IET (iSCSI Enterprise Target) 首先要先下载iSCSI Target 我们可以在  http://iscsitarget.sourceforge.net/ 中可以看到.直接使用最新一版即可.下载下来是 Source code 所以基本的 Linux(RedHat, Fedora...)都可以直接编辑使用.
1.Target端的配置
target端即磁盘阵列或其他装有磁盘的主机。通过iscsitarget工具将磁盘空间映射到网络上,initiator端就可以寻找发现并使用该磁盘。
注意,一个target主机上可以映射多个target到网络上,即可以映射多个块设备到网络上。
1)软件包
iscsitarget
可以从http://sourceforge.net/projects/iscsitarget/files/下载最新版本。
2)编译安装
很简单,解包,编译,安装就可以。
tar zxvf iscsitarget-1.4.19.tar.gz
cd iscsitarget-1.4.19/
make
make install
该包会将iscsitarget需要的内核模块,用户层工具,服务启动脚本,配置文件,man手册等安装到系统中
包括:
iscsi_trgt.ko 内核模块
ietd iscsitarget的守护进程
ietadm iscsitarget的用户层管理工具
/etc/init.d/iscsi-target iscsitarget的启动脚本
/etc/ietd.conf iscsitarget的配置文件
/etc/initiators.allow 控制initiator对target的访问权限。
/etc/initiators.deny 控制initiator对target的访问权限。
/etc/iet/targets.allow 控制不同target的被访问权限。
3)配置/etc/ietd.conf
Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
Lun 0 Path=/dev/sda1,Type=fileio
Alias lun0
大致说明:
Target iqn.2001-04.com.example:storage.disk2.sys1.xyz 表示该ISCSI Target 的命名,命名在同一子网内应该是唯一的,标准命名方式为:
"Target "+ target名字 (格式如下: iqn.yyyy-mm.<reversed domain name>[:identifier] )
“Lun 0 Path=/dev/sda1”表示块设备号为0,映射的磁盘为/dev/sda1。
本次配置中 Type 的设定为"fileio",我主要用来对一个磁盘进行存储共享。
当然也可以针对需要设置为: "file" or "LVM"。
除此之外还有很多其他参数可以设置,具体参考:
http://manpages.ubuntu.com/manpages/hardy/man5/ietd.conf.5.html
4)启动iscsitarget
/etc/init.d/iscsi-target start
2.inititor端配置
1)软件包
源码包是open-iscsi,经过rpm包封装后,名字是iscsi-initiator-utils。
2)主要安装了下面一些文件
/etc/iscsi/iscsid.conf
/etc/rc.d/init.d/iscsi
/etc/rc.d/init.d/iscsid
/sbin/iscsi-iname
/sbin/iscsiadm
/sbin/iscsid
/sbin/iscsistart
/var/lib/iscsi
/var/lib/iscsi/ifaces
/var/lib/iscsi/isns
/var/lib/iscsi/nodes
/var/lib/iscsi/send_targets
/var/lib/iscsi/slp
/var/lib/iscsi/static
/var/lock/iscsi
3)连接target
首先要保证iscsid守护进程启动,否测iscsiadm的一系列操作都会失败:
/etc/init.d/iscsid start
发现target:
iscsiadm -m discovery -t sendtargets -p <iSCSI target ip>:<port>
默认情况下<port>是3260,除非你有特殊的设置。
与target建立连接:
iscsiadm -m node -T <target-name>  -p <ip-address>:<port> --login
此处target-name为上一步发现target时的获得的。
此时通过fdisk -l就可以看到映射过来的磁盘,该磁盘可以像使用本地磁盘一样进行格式化,分区等操作。
可以通过以下命令实验:
fdisk /dev/sdc
mkfs.ext3 /dev/sdc1
mount /dev/sdc1 /mnt
dd if=/dev/zero f=100M.img bs=1M count=100
3.target和initiator间使用CHAP验证。
CHAP验证有两种,一种是针对discovery的,即如果不符合验证的用户名和密码,则initiator端便无法通过"-m discovery"发现指定主机上的任何一个target。
命令会返回验证失败,如下:
$ iscsiadm -m discovery -t sendtargets -p 192.168.29.224
iscsiadm: Login failed to authenticate with target
iscsiadm: discovery login to 192.168.29.224 rejected: initiator error (02/01), non-retryable, giving up
另一种是针对node login的,即果不符合验证的用户名和密码,则initiator端编无法通过--login登录指定主机上的某一个target。
命令会返回验证失败,如下:
$ iscsiadm -m discovery -t sendtargets -p 192.168.29.224  #成功discover指定主机上的target
192.168.29.224:3260,1 iqn.2001-04.com.example:storage.disk2.sys1.xyz
$ iscsiadm -m node -T iqn.2001-04.com.example:storage.disk2.sys1.xyz -p 192.168.29.224 --login  #无法通过验证,登录失败
Logging in to [iface: default, target: iqn.2001-04.com.example:storage.disk2.sys1.xyz, portal: 192.168.29.224,3260]
iscsiadm: Could not login to [iface: default, target: iqn.2001-04.com.example:storage.disk2.sys1.xyz, portal: 192.168.29.224,3260]:
iscsiadm: initiator reported error (15 - already exists)
1)在initiator端
配置/etc/iscsi/iscsid.conf,添加如下选项:
#以下三个是针对discovery的。
#discovery时启用CHAP验证
discovery.sendtargets.auth.authmethod = CHAP
#initiator的名字,也可以是别的字符串,只要和target端IncomingUse配置的名字一样就行
discovery.sendtargets.auth.username = iqn.1994-05.com.fedora:ba72af8aaf5
#验证密码,要和target端相同
discovery.sendtargets.auth.password = 1234567890ab
#以下三个是针对login的。
#login时启用CHAP验证
node.session.auth.authmethod = CHAP
#initiator的名字,也可以是别的字符串,只要和target端IncomingUse配置的名字一样就行
node.session.auth.username = iqn.1994-05.com.fedora:ba72af8aaf5
#验证密码,要和target端相同
node.session.auth.password = 1234567890
然后重启initiator。
/etc/init.d/iscsid stop
/etc/init.d/iscsid start
2)在target端
针对discovery配置/etc/ietd.conf,在全局参数处(定义第一个target之前),添加如下一行:
IncomingUser iqn.1994-05.com.fedora:ba72af8aaf5 1234567890ab
IncomingUser 和 OutgoingUser 表示ISCSI 客户端的用户名和密码,用户名和密码都可以为空,默认为allow权限,密码最长可为12个字符。
此处iqn.1994-05.com.fedora:ba72af8aaf5是initiator的名字(也可以是别的字符串),1234567890ab是initiator的密码,名字和密码必须和initiator上/etc/iscsi/iscsid.conf
中的用户名密码一致。如果不一致,则initiator执行"-m discovery" 是就会失败。
针对login配置/etc/ietd.conf,既然是针对login的,那么添加IncomingUser是就应该添加的指定的target上。如下:
Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
Lun 0 Path=/dev/sda1,Type=fileio
IncomingUser iqn.1994-05.com.fedora:ba72af8aaf5 1234567890
然后重启iscsitarget
/etc/init.d/iscsi-target stop
/etc/init.d/iscsi-target start

iscsi操作总结
增加iscsi存储
(1)发现iscsi存储:

iscsiadm -m discovery -t st -p ISCSI_IP
(2)查看iscsi发现记录:

iscsiadm -m node
(3)登录iscsi存储:

iscsiadm -m node -T LUN_NAME -p ISCSI_IP -l
(4)开机自动:

iscsiadm -m node –T LUN_NAME -p ISCSI_IP --op update -n node.startup -v automatic
删除iscsi存储
(1)登出iscsi存储

iscsiadm -m node -T LUN_NAME -p ISCSI_IP -u
(2)
登出iscsi所有登录

iscsiadm -m node --logoutall=all
(3)删除iscsi发现记录:

iscsiadm -m node -o delete -T LUN_NAME -p ISCSI_IP
登入需验证码的节点
(1)开启认证
iscsiadm -m node -T LUN_NAME -o update --name node.session.auth.authmethod --value=CHAP
*.使用-o同--op
(2)添加用户
iscsiadm -m node -T LUN_NAME --op update --name node.session.auth.username --value=[用户名]
(3)添加密码
iscsiadm –m node –T LUN_NAME –op update –name node.session.auth.password –value=[密码]

参考至:http://blog.itpub.net/611609/viewspace-695172/

             http://noxiaohui.blog.163.com/blog/static/1279668562011217113144160/
             http://blog.csdn.net/cbwcwfhv/article/details/17753499

如有错误,欢迎指正

邮箱:czmcj@163.com

分享到:
评论

相关推荐

    windows&amp;linux iSCSI Target和iSCSI Initiator程序及说明

    windows(x86&x64) & linux iSCSI Target和iSCSI Initiator程序及说明 1、此文件包为重新打包的资源,其中包含了此前csdn的资源的较新的版本; 2、本文件打包后签署有我个人的专用数字签名,见到数字签名基本可以...

    Microsoft iSCSI Software Target 3.3 英文版

    iscsitarget_public.msi 6.1MB iscsitargetClient_public.msi 884.5KB x86 iscsitargetClient_public.msi 842.5KB copyright.jpg 3.9KB Index.htm 3.3KB wsr2logo.bmp 102KB bkgd-page-servers-dynagrid.jpg 117.2KB...

    iSCSI Target

    4. **配置iSCSI Initiator**:在客户端,安装并配置iSCSI Initiator软件,输入Target服务器的iSCSI地址,并设置相应的连接参数。 5. **发现和连接Target**:客户端的iSCSI Initiator会扫描网络以发现可用的Target,...

    iscsi_target_3.3.rar

    标签进一步细化了软件的功能和版本信息:“iscsi”指代iSCSI协议,“iscsitarget”是iSCSI目标的简称,表明该软件是作为目标端使用;“iscsitarget3.3”明确了这是iSCSI目标软件的3.3版本;“iscsi服务器”和“iscsi...

    LINUX iscsi-target

    [root@client ~]# tar zxvf iscsitarget-0.4.16.tar.gz [root@client ~]# cd iscsitarget-0.4.16 [root@client iscsitarget-0.4.16]# make [root@client iscsitarget-0.4.16]# make install ``` 安装完成后,更新...

    iscsi target 安装包

    iscsi target 安装包--适用于rhel/centos 7系统

    ISCSI 客户端软件(微软:Initiator-2.08-build3825-x86fre)

    ISCSI发起器(Initiator)是ISCSI技术的关键组件,它是本地计算机上的软件,负责启动与远程ISCSI目标(Target)的连接。微软的ISCSI发起器允许Windows操作系统识别并连接到网络上的ISCSI存储设备,例如存储区域网络...

    iscsitarget_public_X64.rar

    标题中的“iscsitarget_public_X64.rar”表明这是一个针对64位操作系统的iSCSI目标软件的压缩包。iSCSI(Internet Small Computer System Interface)是一种网络存储协议,它允许通过IP网络连接存储设备,使得远程...

    Linux下iscsi安装与配置

    2. **配置iSCSI Initiator**: - 安装完成后,进入`/etc/iscsi`目录,编辑`initiatorname.iscsi`文件,这个文件包含了Initiator的名字,即IQN(iSCSI Qualified Name)。 - 可以使用`cat initiatorname.iscsi`查看...

    iSCSI Initiator的安装

    iSCSI(Internet Small Computer System Interface)是一种网络协议...通过正确安装和配置iSCSI Initiator,Linux系统能够连接到iSCSI Target,实现远程存储的本地化操作,同时,通过安全设置可以确保数据的访问控制。

    iscsi配置 另一种方法1

    安装完成后,iscsitarget相关的文件和脚本会被部署到系统中,如内核模块`iscsi_trgt.ko`、守护进程`ietd`、用户级管理工具`ietadm`以及启动脚本`/etc/init.d/iscsi-target`等。 配置文件`/etc/ietd.conf`是iSCSI ...

    linux iscsi配置

    在配置 iSCSI 服务器时,需要安装 iSCSI target 软件包,例如 scsi-target-utils 软件包。在安装完成后,需要配置 iSCSI target,以便将逻辑卷 lv-host21 共享给其他主机。 iSCSI protocol 使用 TCP/IP 协议在 IP ...

    CentOS7.1 基于target的ISCSI模拟存储搭建实例

    在本实例中,我们将详细探讨如何在CentOS 7.1操作系统上设置基于target的ISCSI模拟存储,分为服务端(Target)配置和客户端(Initiator)配置两大部分。** ### 一、服务端(Target)配置 1. **安装必要的软件包**...

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

    首先,需要选择一个普通的、性能优良的、可支持多块磁盘的PC服务器作为iSCSI target,并且选择一个成熟稳定的iSCSI target软件iscsitarget。安装iSCSI target软件后,需要配置iSCSI target的配置文件ietd.conf,包括...

    iscsi_target_tpg.rar_iscsi

    iSCSI Target是iSCSI架构的一部分,它扮演服务器的角色,提供存储资源给iSCSI Initiator(客户端)。TPG是Target上的一个重要组件,它管理着Target对外提供的访问接口,即Portal。一个TPG可以包含一个或多个Portal,...

    linux多路径连接iScsi存储-重启自动连接.docx

    iSCSI Initiator 的配置文件是 /etc/iscsi/iscsid.conf,这个文件中包含了 iSCSI Initiator 的配置信息,例如 Initiator 的名称、CHAP 设置、发现 target 的验证模式等。 iSCSI Initiator 的名称是唯一标识一个 ...

    iscsi_target_nego.rar_iscsi _iscsi Target_negotiation

    在iSCSI连接中,发起端(Initiator)和目标端(Target)之间需要进行一系列的协商来确定会话的参数,确保双方都能支持并接受这些参数,以便于后续的数据传输。这些参数包括但不限于以下几点: 1. **连接类型**:...

Global site tag (gtag.js) - Google Analytics