官方论坛产品帮助刷图视频问题反馈

Debian下配置iSCSI Target。

发表于 秦海传媒

    sudo apt-get install iscsitarget

    立刻搞定,然后编辑配置文件:

    sudo vim /etc/ietd.conf

    默认的配置文件,有详细的配置说明和示例,本博先备份了事,留着以后慢慢研究,然后清空,开始写入如下数据:

    iSNSServer 192.168.100.100

    iSNSAccessControl No
    Target iqn.2009-04.com.example:storage.disk2.sys1.xyz
    Lun 0 Path=/dev/sdc,Type=fileio
    Alias test

    简单解释一下:iSNSServer 192.168.100.100,iSCSI服务所工作在的IP地址,我的这个服务器有两个网卡,所以指定了一下;

    iSNSAccessControl No,这个我也没看太明白,似乎是不允许访问者对iSCSI进行控制;

    Target iqn.2009-04.com.example:storage.disk2.sys1.xyz:开启一个Target,并且这个Target命名为:iqn.2009-04.com.example:storage.disk2.sys1.xyz

    Lun 0 Path=/dev/sdc,Type=fileio:给刚才那个命名为 iqn.2009-04.com.example:storage.disk2.sys1.xyz的Target分配一个卷,并使用我的机器上的/dev/sdc这个硬盘作为存储的设备,类型为fileio,这个类型是指这个卷,并非我的那个/dev/sdc硬盘;

    Alias test:设置一个别名:test;

    保存,重启iscsi target用这个命令:

    sudo /etc/init.d/iscsitarget restart

    接着就是出现如下的提示:

    Removing iSCSI enterprise target devices: succeeded.

    Stopping iSCSI enterprise target service: succeeded.

    Removing iSCSI enterprise target modules: succeeded.

    Starting iSCSI enterprise target service: succeeded.

    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.: identifier 识别代号”的格式。
    ² 将块设备、文件、LVM卷、RAID卷作为块设备映射给iSCSI initiator使用。在/etc/iet/ietd.conf文件中增加如下内容实现块设备映射。
    Lun Path=,Type=fileio|blockio[,IOMode=(wb|ro)]
    其中:
    Ø :是Lun的编号从0开始,最大2^14-1。
    Ø Path=:指定块设备。可以使用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。格式化后即可像本机物理磁盘一样使用。

  • 此条目发表在 服务器配置 分类目录。将固定链接加入收藏夹。

Google ADs

除非另有声明,本站文章遵循知识共享署名-非商业性使用 2.5 中国大陆许可协议。 Copyright © 2008-2012 99288.NET.CN.