4.6.1 ISCSI网络存储

目前计算机领域的存储解决方案主要有直连存储(DAS)、存储区域网络(SAN)、以及网络附加存储(NAS)三种。

DAS(Direct-Attached Storage)指的是主机总线直接通过SCSI接口与存储设备相连,这种连接方式主要应用在家庭个人电脑环境中。

SAN(Storage Area Network)指的是一整套存储网络的解决方案,SAN采用的是光纤通道技术,SAN就是通过光纤交换机将服务器与存储设备连接在一起的网络整体环境,SAN的优势在于其先进的光纤通信技术,为当今爆炸式的数据增长环境提供了快速高效的存储方案。

NAS(Network-Attached Storage)可以使用普通的网络环境,通过以太网交换机等设备连接服务器与存储设备,NAS的优势在于无需对网络环境进行改造,NAS可以使用现有的网络环境,而且不同厂家的设备只要使用TCP/IP协议,就可以满足设备之间对兼容性的要求,NFS和CIFS就属于网络附加存储的解决方案,它们都提供了对文件系统的共享。

由于传统的SAN需要价格昂贵的光纤设备作为基础,所以现在又有了基于IP技术的SAN,可以通过IP网络进行数据存储,服务器在不进行任何改造的情况下使用现有的以太网卡就可以访问IP SAN(ISCSI就是这样的技术)。

NAS与SAN的主要区别在于,NAS共享的是文件系统,SAN共享的是块设备。

本节重点关注ISCSI网络存储与数据同步rsync系统。

4.6.1 ISCSI网络存储

ISCSI(Internet Small Computer System Interface)是典型的IP-SAN技术,是基于因特网的SAN存储技术,该技术使得我们可以在基于IP协议的网络上传输SCSI命令,在ISCSI环境中,客户端(initiators)发送SCSI命令给远程的SCSI存储设备(targets),实现数据的存储与备份功能。ISCSI使用TCP的860和3260端口进行通信。

ISCSI与SCSI最大的区别在于ISCSI摆脱了存储设备的距离限制,使得任何主机都可以通过局域网或广域网访问我们的存储设备,而对于数据中心而言,这是至关重要的。

下面我们将在Centos 6.3中部署一个ISCSI服务器以及客户端访问的环境。

1. 部署ISCSI服务

在Centos 6.3平台上部署ISCSI服务需要安装target软件,安装完成后,可以通过命令或修改配置文件这两种方式部署ISCSI服务。

如果需要使用命令配置服务,可以参考tgtadm命令的man手册,其中有详细的示例。以下操作将使用修改配置文件的方式来进行,先弄清楚两个概念:LUN、IQN。

LUN(Logic Unit Number)是设备的逻辑单元号,一般为一个数字,我们使用LUN来标识存储设备。

IQN(ISCSI Qualified Name)为ISCSI合格名称,一般格式为iqn.yyyy-mm<reversed domain name>:identifier,其中,yyyy代表年,mm代表月,reversed domain name是域名的反写,identifier为标识名称。

部署ISCSI服务器时,首先需要安装scsi-target-utils软件。默认的服务器配置文件为/etc/tgt/targets.conf,我们需要在配置文件添加共享设备,为共享设备创建LUN和IQN。

[[email protected] ~]# yum -y install scsi-target-utils
[[email protected] ~]# vim /etc/tgt/targets.conf 
<target iqn.2014.08.com.example.instructor:disk1>   
  backing-store /dev/sdb3    
 backing-store /dev/sdb5 
</target>  
<target iqn.2014-08.com.example.instructor:disk2>   
  backing-store /dev/sdc3    
 lun 10    
 vendor_id jacob Inc.   
  incominguser tom tompass12 
</target> 
<target iqn.2014.08.com.example.instructor:disk3>    
 backing-store /dev/sdd3   
  lun 20    
 initiator-address 192.168.0.102   
  incominguser tom tompass12 
</target>    
[[email protected] ~]# service tgtd restart && chkconfig tgtd on

/etc/tgt/targets.conf配置文件说明如下。

第一个target定义了两个LUN,LUN编号会自动按顺序分配给LUN1、LUN2,LUN0一般会分配给SCSI控制器。默认允许所有人访问该target。/dev/sdb3与/dev/sdb5是准备共享的设备,通过backing-store指定设备路径,backing-store支持文件或块设备。此外,也可以使用direct-store指定设备路径,但direct-store仅支持本地SCSI设备。

第二个target定义了一个LUN,LUN编号为手动配置的10,共享设备是/dev/sdc3,手动修改设备的厂家信息为jacob Inc.。此外,通过 incominguser选项将该target设置为仅允许tom账户访问,密码为tompass12。

第三个target定义了一个LUN。LUN编号为20,共享设备为/dev/sdd3,仅允许tom账户通过192.168.0.102主机访问该target。

backing-store 后备存储,一般指非实际的物理盘、如lv卷、某个分区、文件组成的块设备。
direct_store 直接存储,与backing-store相对,指实际的物理磁盘,如整个硬盘。
initiator-address 使用chap认证协议,由target来认证initiator端,格式为"incominguser username userpassword"。
outgingUsername 使用chap认证协议,由initiator来认证target端,格式为"outgoingusername username userpassword",较少使用。

当服务器端启动tgtd服务后,随时可以通过tgtadm命令来查看ISCSI的详细信息。以下tgtadm的输出内容为精简后的部分输出结果。

[[email protected] ~]# tgtadm --lld iscsi --op show --mode target( tgt-admin -s)
Target 1: iqn.2014-08.com.example.instructor:disk2
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: null
            Backing store path: None
            Backing store flags: 
        LUN: 10
            Type: disk
            SCSI ID: IET     0001000a
            SCSI SN: beaf110
            Size: 1086 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdc3
            Backing store flags: 
    Account information:
        tom
    ACL information:
        ALL
Target 2: iqn.2014.08.com.example.instructor:disk1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 1
            Type: disk
            SCSI ID: IET     00020001
            SCSI SN: beaf21
            Size: 1086 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb3
            Backing store flags: 
        LUN: 2
            Type: disk
            SCSI ID: IET     00020002
            SCSI SN: beaf22
            Size: 1086 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb5
            Backing store flags: 
    Account information:
    ACL information:
        ALL
Target 3: iqn.2014.08.com.example.instructor:disk3
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 20
            Type: disk
            SCSI ID: IET     00030014
            SCSI SN: beaf320
            Size: 1086 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdd3
            Backing store flags: 
    Account information:
        tom
    ACL information:
        192.168.0.102

2. 客户端访问

Linux客户端访问ISCSI服务器需要安装iscsi-initiator-utils软件包。第一部,通过iscsiadm命令的discovery选项可以发现服务器端ISCSI的IQN。第二步,通过login选项加载服务器的IQN。

[[email protected] ~]# iscsiadm -m discovery -t sendtargets -p 192.168.0.254
Starting iscsid:                                           [  OK  ]
192.168.0.254:3260,1 iqn.2014-08.com.example.instructor:disk2
192.168.0.254:3260,1 iqn.2014.08.com.example.instructor:disk1
192.168.0.254:3260,1 iqn.2014.08.com.example.instructor:disk3
[[email protected] ~]# iscsiadm -m node -T iqn.2014.08.com.example.instructor:disk1 -p 192.168.0.254 -l

如果想开机自动挂载此硬盘的话需要,注意这里不是default,而是_netdev。

[[email protected] ~]# echo ‘/dev/sdc1 /iscsi_ceshi ext4 _netdev 0 0‘ >> /etc/fstab

查看当前链接状态

[[email protected] ~]# iscsiadm -m node -S
192.168.0.254:3260,1 iqn.2014.08.com.example.instructor:disk3
192.168.0.254:3260,1 iqn.2014.08.com.example.instructor:disk1
192.168.0.254:3260,1 iqn.2014-08.com.example.instructor:disk2

卸载

[[email protected] ~]# umount /iscsi_ceshi/
[[email protected] ~]# iscsiadm -m node -T  iqn.2014.08.com.example.instructor:disk1 -u
Logging out of session [sid: 2, target: iqn.2014.08.com.example.instructor:disk1, portal: 192.168.0.254,3260]
Logout of [sid: 2, target: iqn.2014.08.com.example.instructor:disk1, portal: 192.168.0.254,3260] successful.

缓存信息还在系统中,下次启动将自动链接

[[email protected] ~]# ls /var/lib/iscsi/nodes
iqn.2014.08.com.example.instructor:disk1
iqn.2014-08.com.example.instructor:disk2
iqn.2014.08.com.example.instructor:disk3

删除缓存信息

[[email protected] ~]# iscsiadm -m node -T iqn.2014.08.com.example.instructor:disk
{1,2,3} -o delete

客户端对分区进行加密的配置

[[email protected] ~]# vim /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP 
node.session.auth.username = tom 
node.session.auth.password = tompass12 
discovery.sendtargets.auth.authmethod = CHAP 
discovery.sendtargets.auth.username = tom 
discovery.sendtargets.auth.password = tompass12    
 
[[email protected] ~]# iscsiadm -m discovery -t st -p 192.168.0.254
[[email protected] ~]# service iscsi restart
[[email protected] ~]# ls /dev/sd*(全部已自动登录)
/dev/sdc   /dev/sdd   /dev/sde  /dev/sdf
时间: 2024-10-09 23:01:55

4.6.1 ISCSI网络存储的相关文章

ISCSI网络存储服务

ISCSI网络存储服务 一.理论部分 iSCSI的概念 iSCSI,即internetSCSI,是IETF制订的一项标准,用于将SCSI数据块映射为以太网数据包.从根本上说,它是一种基于IP Storage理论的新型存储技术,该技术将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,可以在IP网络上构建SAN.简单地说,iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术.iSCSI技术最初由Cisco和IBM两家开发,并且得到了广大IP存储技术爱好者的大力支持,这几年得到迅速的发

Linux(centos6.5)连接iSCSI网络存储

Linux连接iSCSI网络存储 操作系统平台:CentOS 6.5 X86_64 存储服务器软件版本:openfiler esa 2.99.1 安装需要的包文件 [[email protected] /]# rpm -qa binutils binutils-2.20.51.0.2-5.36.el6.x86_64 [[email protected] /]# rpm -qa xfsprogs xfsprogs-3.1.1-14.el6.x86_64 [[email protected] yum

Centos7系列(八)ISCSI网络存储服务

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! ISCSI网络存储服务: 说明:iscsi实现网络存储,提供存储端叫 target,使用存储端叫 initiator.target 上可以提供存储空间,initiator负责连接ISCSI设备,在ISCSI设备中创建文件系统,以及存取数据,在 initiator 上看上去是多了一块硬盘. 服务器端配置target,准备做为LUN发布的IS

CentOS7.4——构建iscsi网络存储

构建iscsi网络存储 iscsi属于C/S架构 目录第一部分 实验环境第二部分 配置iscsi服务端第三部分 配置iscsi客户端 第一部分 实验环境CentOS7.4服务器一台IP地址:192.168.80.10(server)需求:增加块硬盘做(两台硬盘做逻辑卷.三块硬盘做raid5)CentOS7.4客户端一台IP地址:192.168.80.20(client) 第二部分 配置iscsi服务端[[email protected] ~]# yum install -y lvm2 mdadm

Linux下配置iscsi网络存储

1. 服务端配置 实验环境系统版本: CentOS Linux release 7.3.1611 (Core) 1) 安装软件包 yum -y install targetcli 2) 创建要输出的iscsi存储 可输出的设备有如下几种: a.lvm卷设备: b.由文件组成的块设备(经过tgtimg工具处理过的): c.单一的分区: d.整个磁盘: e.RAID组成的卷设备: 这里准备了一个lvm逻辑卷,如下: [[email protected] conf.d]# lvdisplay     

iscsi网络存储介绍及客户端配置操作

1. iscsi介绍与initiator安装 1.1 iSCSI介绍 iSCSI简单来说,就是把SCSI指令通过TCP/IP协议封装起来,在以太网中传输.iSCSI 可以实现在IP网络上传递和运行SCSI协议,使其能够在诸如高速千兆以太网上进行数据存取,实现了数据的网际传递和管理.基于iSCSI建立的存储区域网(SAN)与基于光纤的FC-SAN相比,具有很好的性价比. iSCSI属于端到端的会话层协议,它定义的是SCSI到TCP/IP的映射(如下图),即Initiator将SCSI指令和数据封装

ISCSI网络存储

简介: 网络存储的概述: Storage Area Network,存储区域网络 1.多采用高速光纤通道,对速率.冗余性要求高 2.使用iSCSI存储协议,块级传输 Network Attachment Storage,网络附加存储 1.采用普通以太网,对速率.冗余无特别要求 2.使用NFS.CIFS共享协议,文件级传输 一.实验环境: 1.两台Linux虚拟机:版本为RedHat6.5 2.一台为服务器,另一台为客户机: iSCSI的工作方式 服务(设备)端 -- target 客户(应用)端

centos7 - ISCSI 网络存储服务

定义: iscsi 实现网络存储,提供存储端叫 target,使用存储端叫 initiator. target 上可以提供存储空间, initiator 负                  责连接 ISCSI 设备,在 ISCSI 设备中创建文件系统,以及存取数据, 在initiator上看上去是多了一块硬盘. 一 实验环境: ①服务器准备两个逻辑卷作为iscsi的存储设备 ②服务器配置target:yum  -y  install targetd  targetcli ③客户机配置iscsi

iSCSI网络存储技术-实例解读

1 iSCSI介绍 网络存储服务器主要有三种解决方案--DAS直连存储,SAN区域网路存储 ,NAS网络附加存储,san和nas的主要区别在于,nas共享的是文件系统,san共享的是块设备. iSCSI是一种基于TCP/IP 的协议,用来建立和管理IP存储设备.主机和客户机等之间的相互连接,并创建存储区域网络(SAN).SAN 使得SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行.SCSI 结构基于C/S模式,其通常应用环境是: