宝马娱乐在线城-宝马娱乐在线

来自 互联网络 2019-10-20 01:18 的文章
当前位置: 宝马娱乐在线城 > 互联网络 > 正文

Linux下应用tgtadm构建iSCSI Target(SAN)宝马娱乐在线

Linux target framework(tgt)是为创建、维护SCSI target 驱动(包括iSCSI、FC、SRP等)提供支持。它的关键目标是简洁地集成到scsi-mid层,并且实现大部分应用层空间的tgt(The key goals are the clean integration into the scsi-mid layer and implementing a great portion of tgt in user space)。

作业环境
在VirtualBox4.0 虚拟机下操作
服务器端sqinga:CentOS 5.5-i386
客户端sqingb:CentOS 5.5-i386

IET(iSCSI Enterprise Target )的开发者帮助开发了Linux SCSI target framework(stgt),

一、关于iSCSI(资料)

The developer of IET is also helping to develop Linux SCSI target framework (stgt) which looks like it might lead to an iSCSI target implementation with an upstream kernel component.

iSCSI是internet Small Computer System Interface的缩写,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,其目的是为了用IP协议将存储设备连接在一起。通过在IP网上传送SCSI命令和数据,iSCSI推动了数据在网络之间的传递,同时也促进了数据的远距离管理。由于其出色的数据传输能力,iSCSI协议被认为是促进存储区域网(SAN)市场快速发展的关键因素之一。因为IP网络的广泛应用, iSCSI能够在LAN、WAN甚至Internet上进行数据传送,使得数据的存储不再受地域的限制。

iSCSI Target可以用来:

iSCSI技术的核心是在TCP/IP网络上传输SCSI协议,即使用TCP/IP报文和iSCSI报文封装SCSI报文,使得SCSI命令和数据可以在普通以太网络上进行传输,如下图所示。

a]用来安装stateless server/client (用于无盘安装)

宝马娱乐在线城 1
 
宝马娱乐在线城,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响应并传送给操作系统,操作系统再响应给应用程序。

b]通过局域网、无线网络或者因特网共享磁盘或者磁带设备

二、服务器端SCSI target的配置及使用

c]安装SAN——存储阵列

Linux target framework(tgt)是为创建、维护SCSI target 驱动(包括iSCSI、FC、SRP等)提供支持。它的关键目标是简洁地集成到scsi-mid层,并且实现大部分应用层空间。

d]通过Linux下的分布式文件系统实现负载均衡的web服务器集群

安装scsi-target-utils
[root@sqinga ~]# yum install scsi-target-utils

在这个教程中,将要学到如何通过tgt框架构建一个全功能的Linux iSCSI SAN。

启动tgtd服务
[root@sqinga ~]# /etc/init.d/tgtd start
[root@sqinga ~]# /etc/init.d/tgtd status
tgtd (pid 1996 1995) is running...

iSCSI target(server)

将tgtd设为开机启动
[root@sqinga ~]# chkconfig tgtd on

存储资源所在的iSCSI服务器被称为“target”。iSCSI target通常是一个硬盘存储设备。当前大部分的主流操作系统都提供了配合iSCSI target使用的客户端软件initiator。

创建一个id为1的target,其名为:iqn.2010-05.sqing:shuqing
(iSCSI节点名称有两种格式,即 iqn-type 格式和 eui-type 格式,Linux常用的是iqn-type的格式。一般iSCSI Target命名采用“iqn.yyyy-mm.<reversed domain name>: identifier 识别代号”的格式。iqn号是局域网内iSCSI target的唯一标识,用来区分不同的target,所以在一个网络内,iqn号一定不能相同)
[root@sqinga ~]# tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2010-05.sqing:shuqing

iSCSI initiator(client)

为上一步创建的目标增加逻辑分卷,添加一个lun( logical unit)号为1的逻辑单元,该逻辑单元使用逻辑分区LogVol2
[root@sqinga ~]# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/VolGroup00/LogVol02

initiator就是iSCSI传输的服务端。典型的initiator都有共同的目的,就是作为一个SCSI总线的适配器,代替物理上的SCSI设备(类似硬盘或者磁带)。iSCSI initiator通过IP网络传输SCSI命令。

使target接受initiator的访问(这里设为允许所有的initiator访问)
[root@sqinga ~]# tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL

CentOS / RHEL / Fedora 安装tgt

查看端口3260使用情况
[root@sqinga ~]# netstat -tulpn | grep 3260
tcp   0   0 0.0.0.0:3260      0.0.0.0:*         LISTEN      2980/tgtd
tcp   0    0 :::3260           :::*            LISTEN      2980/tgtd

$yum install scsi-target-utils

查看lun信息
[root@sqinga ~]# tgtadm --lld iscsi --op show --mode target
Target 1: iqn.2010-05.sqing:shuqing
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
        I_T nexus: 2
            Initiator: iqn.1994-05.com.RedHat:d2c9f41e816a
            Connection: 0
                IP Address: 10.8.0.116
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB
            Online: Yes
            Removable media: No
            Backing store type: null
            Backing store path: None
            Backing store flags:
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 6442 MB
            Online: Yes
            Removable media: No
            Backing store type: rdwr
            Backing store path: /dev/VolGroup00/LogVol02
            Backing store flags:
    Account information:
    ACL information:
        ALL

Debian / Ubuntu Linux 安装tgt

至此,系统的逻辑分区/dev/VolGroup00/LogVol02已被设置成一个iSCSI Target,远程的客户端计算机可以通过网络访问对此进行访问了。

$ sudo apt-get install tgt

要使以上设置,在系统重启时生效,需写进rc.local文件
[root@sqinga ~]# cat /etc/rc.local
touch /var/lock/subsys/local
tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2010-05.sqing:shuqing
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/VolGroup00/LogVol02
tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL

tgtadm——Linux SCSI Target管理工具

宝马娱乐在线城 2

tgtadm是用来监控、修改Linux SCSI target 的工具,包括target设置、卷设置,等等。这个工具允许提供为装有SCSI initiator的其它操作系统提供块级(block-level)的SCSI存储。这个功能最初被部署为Linux iSCSI target,通过网络向装有iSCSI initiator的系统提供存储服务。

启动tgtd

启动tgtd程序,可以输入:

$/usr/sbin/tgtd

RHEL / CentOS 系统下可以启动tgtd的服务程序,输入:

$/etc/init.d/tgtd start

定义iSCSI target名

以下的例子中,创建了一个id为1的target,它的iqn为:iqn.2001-04.com.example:storage.disk2.amiens.sys1.xyz,并且添加了一个lun( logical unit)号为1的逻辑单元(由/dev/hdc1提供)

$ tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2001-04.com.example:storage.disk2.amiens.sys1.xyz

本文由宝马娱乐在线城发布于互联网络,转载请注明出处:Linux下应用tgtadm构建iSCSI Target(SAN)宝马娱乐在线

关键词: