iSCSI是internet Small Computer System Interface的缩写,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。

iSCSI的目的是为了用IP协议将存储设备连接在一起。通过在IP网上传送SCSI命令和数据,iSCSI推动了数据在网络之间的传递,同时也促进了数据的远距离管理。由于其出色的数据传输能力,iSCSI协议被认为是促进存储区域网(SAN)市场快速发展的关键因素之一。因为IP网络的广泛应用, iSCSI能够在LAN、WAN甚至Internet上进行数据传送,使得数据的存储不再受地域的现在。iSCSI技术的核心是在TCP/IP网络上传输SCSI协议,即使用TCP/IP报文和iSCSI报文封装SCSI报文,使得SCSI命令和数据可以在普通以太网络上进行传输,如下图所示。

iSCSI的工作过程:当iSCSI主机应用程序发出数据读写请求后,操作系统会生成一个相应的SCSI命令,该SCSI命令在iSCSI initiator层被封装成ISCSI消息包并通过TCP/IP传送到设备侧,设备侧的iSCSI target层会解开iSCSI消息包,得到SCSI命令的内容,然后传送给SCSI设备执行;设备执行SCSI命令后的响应,在经过设备侧iSCSI target层时被封装成ISCSI响应PDU,通过TCP/IP网络传送给主机的ISCSI initiator层,iSCSI initiator会从ISCSI响应PDU里解析出SCSI响应并传送给操作系统,操作系统再响应给应用程序。

iet(iSCSI Enterprise Target)是Linux下的iSCSI Target实现,open-iscsi是Linux下的iscsi initiator实现,使用iet(官方网站:http://iscsitarget.sourceforge.net)和open-iscsi就可以方便的实现简单的IPSAN,同时iet也可以和其他系统的iscsi initiator配合使用。

一、iet安装

1、    使用如下命令安装依赖软件包。

srv10:~# apt-get install gcc libssl-dev make linux-headers-2.6.26-2-686 linux-source-2.6.26

2、    使用如下命令下载iet。

srv10:~# wget http://nchc.dl.sourceforge.net/project/iscsitarget/iscsitarget/1.4.20.2/iscsitarget-1.4.20.2.tar.gz

3、    使用如下命令解压并编译安装iet。

srv10:~# tar -xzvf iscsitarget-1.4.20.2.tar.gz

srv10:~# cd iscsitarget-1.4.20.2

srv10:~# make && make install

二、iet基本配置

iet主要包括以下配置文件(控制文件的优先级类似与tcp_wrappers)。

²  /etc/iet/ietd.conf :iet的主配置文件

²  /etc/iet/initiators.allow:控制initiator对target的访问权限。

²  /etc/iet/initiators.deny:控制initiator对target的访问权限。

²  /etc/iet/targets.allow:控制不同target的被访问权限。

通过iet实现iSCSI Target的基本功能需要完成以下二个配置

²  iSCSI Target的命名,命名在同一子网内应该是唯一。在/etc/iet/ietd.conf文件中增加如下内容实现iSCSI Target命名。

Target  target名称

其中:

Ø  target 名称:是iSCSI Target名称。一般iSCSI Target命名采用“iqn.yyyy-mm.<reversed domain name>: identifier 识别代号”的格式。

²  将块设备、文件、LVM卷、RAID卷作为块设备映射给iSCSI initiator使用。在/etc/iet/ietd.conf文件中增加如下内容实现块设备映射。

Lun  <lunID>  Path=<device>,Type=fileio|blockio[,IOMode=(wb|ro)]

其中:

Ø  <lunID>:是Lun的编号从0开始,最大2^14-1。

Ø  Path=<device>:指定块设备。可以使用dd命令生成一个文件。

Ø  Type=fileio|blockio:指定块设备类型,分区及dd命令生成的文件使用fileio类型;LVM卷、RAID卷使用blockio类型。

Ø  IOMode=(wb|ro):指定iSCSI initiator允许的操作,wb表示可读写;ro表示只读。

将如下内容加入/etc/iet/ietd.conf文件后,通过重新启动计算机再运行/etc/init.d/iscsi-target restart命令(不知什么原因,修改/etc/iet/ietd.conf文件后必须重新启动计算机)启动iet后iSCSI initiator即可使用。

Target iqn.2011-02.zqin.example:storage.lun0

Lun 0 Path=/dev/sdb1,Type=fileio

Alias lun0

三、iet其它配置

使用命令方式配置iSCSI Target

通过命令方式配置的iSCSI Target在重启后会失效。

1、    添加一个新的Target。其中[id]为数字必须是唯一的,后面的Name需要自定义,也需要保证是唯一的。

srv10:~# ietadm --op new --tid=[id] --params Name=iqn.zqin.example

2、    添加一个新的 lun。其中[id] 必须是一个已经存在的 tid  号, [lun] 从0开始。

srv10:~# ietadm --op new --tid=[id] --lun=[lun] --params Path=/path/exported/file,Type=fileio

iet常用命令

1、    查看当前iSCSI Target清单。

srv10:~# cat /proc/net/iet/volume

2、    查看当前服务器 iSCSI Target服务以及连接状态命令

srv10:~# cat /proc/net/iet/sessions

3、    停止某个Target 的某个 Connection 的连接。

srv10:~# ietadm --op delete --tid=2 --sid=562950876233792 --cid=1  && ietadm --op delete --tid=2

4、    停止所有Target 的连接。

srv10:~# ietadm --op delete

5、    删除某个Target (已经没有 Session 连接的)。

srv10:~# ietadm --op delete --tid= 1

四、iSCSI initiator配置

Linux客户端

1、    使用如下命令安装Open iSCSI。

srv10:~# apt-get install open-iscsi

2、    查找(discovery)指定IP下的Target。

srv10:~# iscsiadm -m discovery -t st -p 192.168.159.74

3、    执行以下命令登陆iSCSI Target。

srv10:~# iscsiadm -m node -T  iqn.2011-02.zqin.example:storage.lun0  -l

Windows客户端

目前微软最新的服务器端操作系统Windows Server 2008已经支持iSCSI群集(Windows Vista/7也支持iSCSI),这样好处是不言而喻,相比昂贵的SAN而言iSCSI更加的廉价,性能也可以接受。对于预算紧张又希望应用高可用的用户来说是个很好的选择。在Windows 7中连接到一个iSCSI Target操作步骤如下。

1、    打开“管理工具”→“iSCSI 发起程序”。

2、    打开“目标”选项页后,在“目标”中输入iSCSI Target所在主机的IP地址,单击“快速连接”。

3、    在计算机磁盘管理器中会出现一上新的硬盘就是iSCSI Target。格式化后即可像本机物理磁盘一样使用。

转载于:https://blog.51cto.com/onlyzq/553900

Debian下配置iSCSI Target。相关推荐

  1. 转:探索 AIX 6:在 AIX 6 上配置 iSCSI Target

    引言 iSCSI(Internet Small Computer System Interface)被业界认为是非常廉价的 SAN 解决方案,一直在中低端应用领域被市场所看好. iSCSI 客户端和服 ...

  2. 计算机的iscsi配置,Windows server 2012 R2 下配置ISCSI网络存储

    5 (100%) 1 vote iSCSI技术可以实现在IP网络上运行SCSI协议.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用I ...

  3. Centos7下team在roundrobin以及activebackup状态下对于iscsi target的性能影响

    操作环境 Centos 7.2 tgt 1.0.55 iscsi target server:10.10.200.61 iscsi client 1:10.10.200.193 iscsi clien ...

  4. linux下配置iscsi存储,linux 下iscsi网络存储配置

    iSCSI 的主要功能是在TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程.需要在linux的服务端装上target, ...

  5. 如何在 Debian 下配置邮件服务器

    本教程将讨论如何在Debian(或Ubuntu)配置一个可工作的邮件服务器.我们知道在邮件服务器使用的主要协议有SMTP.POP和IMAP.在本教程中,SMTP协议使用postfix,POP/IMAP ...

  6. Debian下配置SSH服务器的方法

    Debian 503版本中实现的,Debian默认好像是没有ssh支持的. SSH的安装 apt-get install openssh-server apt-get install ssh SSH的 ...

  7. debian apache php mysql,Debian下配置APACHE2+MYSQL5+PHP5

    Loading... 如果之前安装过apache, mysql, php,要先删除掉: #apt-get remove --purge apache2.2-common apache2 #apt-ge ...

  8. debian下配置网络 安装无线网卡驱动 Broadcom BCMXX系列

    解决方案来自于debian官网  https://wiki.debian.org/wl 1.加入源 deb http://http.debian.net/debian/ wheezy main c ...

  9. linux添加ipv6静态路由命令,Debian下配置IPV6和静态路由

    一.编辑网卡文件 vi /etc/network/interfaces 二.修改网卡文件# This file describes the network interfaces available o ...

  10. Debian 下配置ssh

    SSH的安装 apt-get install openssh-server apt-get install ssh SSH的配置 OpenSSH的配置都集中在/etc/ssh/ssh_config文件 ...

最新文章

  1. python自动修图_程序员不会用PS给女朋友修图?没关系,用Python十行代码轻松搞定-站长资讯中心...
  2. python从文件中读取数据_使用Python脚本从文件读取数据代码实例
  3. setInterval()方法只执行一次的解决方法
  4. 关于NHibernate
  5. 道路里程桩号标注_2000公里长距离电车远行,逸动EV460对里程焦虑说不
  6. [十二省联考 2019] 异或粽子(可持久化字典树 + 二叉堆)
  7. java owl文件_jena解析.owl文件 实现owl文件的解析 - 下载 - 搜珍网
  8. Android提供了哪些主要UI控件,Android必备:Android UI控件的了解与学习
  9. MS-SQL的智能脚本智能提示失效丢失
  10. 逐步理解SpringMVC
  11. 91.(leaflet篇)leaflet态势标绘-进攻方向绘制
  12. MyEclipse共享项目到SVN服务器
  13. WordPress .htaccess 安全配置15个
  14. PaaS平台为什么越来越受欢迎?
  15. 都说谷歌浏览器翻译插件好用,这些必不可少
  16. ubutnu18+cuda11.1+cudnn8.0.4+nvidia-driver-465
  17. 联想笔记本打字不显示选字框
  18. labview声音信号采集和分离
  19. HTML5自造字,电脑中的造字程序怎么用啊怎么造字
  20. 万能码码上付给你一个惊喜(安全扫码专业委员会)

热门文章

  1. Gaze Estimation学习笔记(1)-Appearance-Based Gaze Estimation in the Wild
  2. Find Backpacker Jobs in Australia
  3. Spring 各种包功能
  4. Laravel 5.1 文档攻略 —— Eloquent Collection
  5. Spring MVC @JsonView注解使用
  6. Netty4.0学习笔记系列之三:构建简单的http服务
  7. css实现在一行显示多余部分显示省略号
  8. 环境配置就是安装软件,修改软件的配置文件,安装软件就是文件的复制,与新增--linux下一切皆文件...
  9. PHP函数: set_time_limit
  10. silverlight3.0 怎么调试XAML对应的XAML.CS文件