精华内容
下载资源
问答
  • 一、常见存储类型和iSCSI概念及介绍1 、 常见的三种存储类型DAS(Direct-AttachedStorage)直接附加存储存储设备一般通过scsi/ide总线直接连接到主机上,常见的如SATA硬盘,SAS硬盘等,直接通过准线连接到计算机...

    一、常见的存储类型和iSCSI 概念及介绍

    1 、 常见的三种存储类型

    DAS(Direct-AttachedStorage)直接附加存储,存储设备一般通过scsi/ide总线直接连接到主机上,常见的如SATA硬盘,SAS硬盘等,直接通过准线连接到计算机主板上面。该方式显著的优点就是传输速度快,但传输距离受总线长度限制,且只能供本地使用。


    NAS(Network AttachedStorage)网络附加存储,将存储设备与服务器分离,集中管理数据,从而提升并发存储能力、降低维护成本。典型的应用示例有NFS服务器,SAMBA服务器,NFS服务器等文件服务器,通过向外提供文件系统的方式向外提供存储


    SAN(Storage Area Network)存储区域网络,采用FC(Fibre Channel)光纤通道或者Ethernet进行远距离传输,区别于Fiber Channel光纤通道技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。SAN架构图如下所示:

    wKioL1h0qtuhhxhTAAFqa28XDx8597.png

    2、  三种存储类型的区别

    DAS与SAN都是块级别(Block-level)的存储,而NAS是文件系统(File System level)级的存储。因为文件系统是操作系统对磁盘数据的一次封装。每次对数据访问时提供文件服务的服务器都要对数据进行数据封装,和解封装,然后再对块设备磁盘进行读写。而DAS是直接对块设备进行读写,因此NAS的存储速度不如前面两者。


    SAN(Storage Area Network)相当于模拟了远距离传输的DAS,特点是速度快。支持的并发服务主机数量多。大家都知道远距离传输是需要跨越Internet,而广域网的带宽是远不能和局域网相比的,缺点便是网络速度瓶颈问题。


    二、iSCSI简介

    1、 iSCSI(Internet SmallComputer System Interface)基于Internet的小型计算机系统接口,由IBM公司研究开发的,是一个可以让硬件设备在IP协议的上层运行的SCSI指令集存储技术,可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。


    2、 iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可通过IP网络进行远距离SCSI类型的数据存储设备由 SCSI 总线连接。


    3、iSCSI 的主要功能是在 TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。此外,iSCSI 提供了在 IP 网络封装 SCSI 命令,且以TCP/IP协议传输。iSCSI服务端程序监听端口为明文的TCP/3260

    11.png


    4、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里解析出iSCSI响应并传送给操作系统,操作系统再响应给应用程序。


    5、 iSCSI组成

             目标器 target用于存放硬盘存储资源的服务器,作为RAID磁盘阵列组的存储端,能够为用户提供可用的存储资源。

             启动器 initiator则是用户使用的iSCSI客户端,用于获取远程服务端的存储资源,通常以软件提供,但是也可以作为iSCSI HBA来实施。必须为启动器initiator授予全球唯一名称IQN用于识别。

             IQN:iSCSI限定名称,全球唯一名称,用于以强制命名格式来识别启动器和目标。

             IQN格式如下:iqn.[YYYY-MM].[com.reversed.domain]:[optional_string]

                                    iqn:表示此名称使用域为标识符。

                                    YYYY-MM:表示拥有域名的年月时间。

                                    com.reversed.domain:拥有此iSCSI组织的逆向域名

                                    optional_string:以冒号为前缀的可选字符串,全球唯一,由域所有者分配,其中可包含冒号为分割符的组织边界  

           LUN:Logical Unit Number的缩写,指逻辑单元号,带有编号的块设备,连接到目标器且通过目标器来使用。可以有一个或多个LUN连接到单个目标器,但通常一个目标器提供一个LUN。

           节点:任何一个iSCSI启动器或iSCSI目标器,由其IQN来标识。

           TPG:目标门户组,某个特定iSCSI目标要侦听的接口IP地址和TCP端口的集合。可以将目标配置添加到TPG以协调多个LUN的设置。

           ACL:访问权限控制列表,一种使用节点IQN(通常是启动器名称)来验证启动器的访问权限的访问限制。

          门户:目标或启动器上用于建立的IP地址和端口。

          发现:查询目标服务器以列出配置的目标。


    6、iSCSI存储系统四大架构:PC系统架构     PC+NIC系统架构      连接桥系统架构       控制器系统架构

         PC系统架构:即选择一个普通的、性能优良的、可支持多块磁盘的PC(一般为PC服务器和工控服务器),选择一款相对成熟稳定的iSCSI target软件,将iSCSI target软件安装在PC服务器上,使普通的PC服务器转变成一台iSCSI存储设备,并通过PC服务器的以太网卡对外提供iSCSI数据传输协议。在PC架构的iSCSI存储设备上,所有的RAID组校验、逻辑卷管理、iSCSI 运算、TCP/IP 运算等都是以纯软件方式实现,因此对PC的CPU和内存的性能要求较高。另外iSCSI存储设备的性能极容易收PC服务器运行状态的影响。 


    7、iSCSI协议

            iSCSI协议是让SCSI在TCP协议之上工作的传输协议,是一种SCSI远程过程调用模型到TCP协议的映射。SCSI命令加载在iSCSI请求之上,同时SCSI状态和响应也由iSCSI来承载。iSCSI同样使用请求响应机制。

     

        每个启动器和目标都指定了一个唯一的iSCSI 名称,如 iSCSI 限定名 (IQN) 或扩展的唯一标识(EUI)。 IQN 是 223 字节的 ASCII 名称。EUI 是 64 位标识。iSCSI 名称代表全球唯一命名方案,该方用于标识各启动器或目标,其方式与使用全球节点名(WWNN) 来标识光纤通道光纤网中设备的方式相同。

      

             iSCSI 目标是响应 iSCSI 命令的设备。iSCSI 设备可以是诸如存储设备的结束节点,或者可以是诸如IP 与光纤通道设备之间的网桥的中间设备。每个iSCSI 目标由唯一的iSCSI 名称标识。

       要通过 IP 网络传输 SCSI 命令,iSCSI 驱动程序必须安装到iSCSI 主机和目标中。驱动程序用于通过主机或目标硬件中的网络接口控制器(NIC) 或 iSCSI HBA 来发送iSCSI 命令和响应。为实现最佳性能,请使用传输速度为每秒 1000 兆位 (Mbps) 的千兆以太网适配器在iSCSI 主机和 iSCSI 目标间进行连接。

      iSCSI 命令封装:

     

         发起端和目标端之间以消息的形式进行通信。PDU(Protocal Data Unit)就是用来传输这些消息的。

     

         iSCSI 协议就是一个在网络上封包和解包的过程,在网络的一端,数据包被封装成包括TCP/IP头、iSCSI识别包和SCSI数据三部分内容,传输到网络另一端时,这三部分内容分别被顺序地解开。iSCSI 系统由一块 SCSI 卡发出一个 SCSI 命令,命令被封装到第四层的信息包中并发送。
      接收方从信息包中抽取SCSI 命令并执行,然后把返回的SCSI命令和数据封装到IP信息包中,并将它们发回到发送方。系统抽取数据或命令,并把它们传回SCSI子系统。所有这一切的完成都无需用户干预,而且对终端用户是完全透明的。 为了保证安全,iSCSI 有自己的上网登录操作。在它们首次运行的时候,启动器(initiator)设备将登录到目标设备中。

      

     8、iscsi会话过程:
      iSCSI 会话建立于一个initiator与一个target之间,一个会话允许多个TCP连接,并且支持跨连接的错误恢复。大多数通信还是建立在SCSI基础之上的,例如,使用R2T进行流量控制。

      iSCSI添加于SCSI之上的有:立即和主动的数据传输以避免往返通信;连接建立阶段添加登录环节,这是基于文本的参数协商。

      建立一个iSCSI会话,包括:

        命名阶段:确定需要访问的存储,以及initiator,与FC不同,命名与位置无关;

        发现阶段:找到需要访问的存储;

        登录阶段:建立于存储的连接,读写之前首先进行参数协商,按照TCP连接登录。


    9、iSCSI客户端和服务器端命令介绍

        

    9. 1 服务器端的设定需要的软件:scsi-target-utils:用来将 Linux 系统仿真成为 iSCSI target 的功能;


    9. 2 scsi-target-utils 主要配置文件:

    /etc/tgt/targets.conf:主要配置文件,设定要分享的磁盘格式与哪几颗;

    /usr/sbin/tgt-admin:在线查询、删除 target 等功能的设定工具;

    /usr/sbin/tgt-setup-lun:建立 target 以及设定分享的磁盘与可使用的客户端等工具软件。

    /usr/sbin/tgtadm:手动直接管理的管理员工具 (可使用配置文件取代);

    /usr/sbin/tgtd:主要提供 iSCSI target 服务的主程序;

    /usr/sbin/tgtimg:建置预计分享的映像文件装置的工具 (以映像文件仿真磁盘);

    CentOS 已经将很多功能都设定好了,因此我们只要修订配置文件,然后启动 tgtd 这个服务就可以。


    9.3 iSCSI可以共享的磁盘类型 :

    a.使用 dd 指令所建立的大型档案可供仿真为磁盘 (无须预先格式化);

    b.使用单一分割槽 (partition) 分享为磁盘;

    c.使用单一完整的磁盘 (无须预先分割);

    d.使用磁盘阵列分享 (其实与单一磁盘相同方式);

    e.使用软件磁盘阵列 (software raid) 分享成单一磁盘;

    f.使用 LVM 的 LV 装置分享为磁盘。


    9.4建立共享分区过程如下:

    # 1. 建立大型档案:
    [root@www ~]# mkdir /srv/iscsi 
    [root@www ~]# dd if=/dev/zero of=/srv/iscsi/disk1.img bs=1M count=500 
    [root@www ~]# chcon -Rv -t tgtd_var_lib_t /srv/iscsi/ 
    [root@www ~]# ls -lh /srv/iscsi/disk1.img 
    -rw-r--r--. 1 root root 500M Aug 2 16:22 /srv/iscsi/disk1.img <==容量对的! 
    # 2. 建立实际的 partition 分割: 
    [root@www ~]# fdisk /dev/sda <==实际的分割方式自己处理吧! 
    [root@www ~]# partprobe <==某些情况下得 reboot 喔! 
    [root@www ~]# fdisk -l 
    Device Boot Start End Blocks Id System 
    /dev/sda10 2202 2463 2104483+ 83 Linux 
    /dev/sda11 2464 3117 5253223+ 8e Linux LVM 
    # 只有输出 /dev/sda{10,11} 信息,其他的都省略了。注意看容量,上述容量单位 KB 
    [root@www ~]# swapon -s; mount | grep 'sda1' 
    # 自己测试一下 /dev/sda{10,11} 不能够被使用喔!若有被使用,请 umount 或 swapoff 
    # 3. 建立 LV 装置 : 
    [root@www ~]# pvcreate /dev/sda11 
    [root@www ~]# vgextend server /dev/sda11 
    [root@www ~]# lvcreate -L 2G -n iscsi01 server 
    [root@www ~]# lvscan
     ACTIVE '/dev/server/myhome' [6.88 GiB] inherit
     ACTIVE '/dev/server/iscsi01' [2.00 GB] inherit

    9.5 规划分享的 iSCSI target 档名:        iqn.[YYYY-MM].[com.reversed.domain]:[optional_string]


    9.6设定 tgt 的配置文件 /etc/tgt/targets.conf


           如同一般外接式储存装置 (target 名称) 可以具有多个磁盘一样,我们的 target 也能够拥有数个磁盘装置的。 每个在同一个 target 上头的磁盘我们可以将它定义为逻辑单位编号 (Logical Unit Number, LUN)。我们的 iSCSI initiator 就是跟 target 协调后才取得 LUN 的存取权就是了。

    [root@www ~]# vim /etc/tgt/targets.conf 
    # 此档案的语法如下: 
    <target iqn.相关装置的target名称>
       backing-store /你的/虚拟设备/完整檔名-1
       backing-store /你的/虚拟设备/完整檔名-2 
    </target> 
    <target iqn.2014-10.net.vlnb:vdisk>
       backing-store /srv/iscsi/disk1.img <==LUN 1 (LUN 的编号通常照顺序)         
       backing-store /dev/sda10 <==LUN 2   
       backing-store /dev/server/iscsi01 <==LUN 3 
       initiator-address 192.168.100.0/24
         incominguser vbirduser vbirdpasswd 
         write-cache off 
     </target>
           配置文件的参数:


    backing-store (虚拟的装置), direct-store (实际的装置): 设定装置时,如果你的整颗磁盘是全部被拿来当 iSCSI 分享之用,那么才能够使用 direct-store 。不过,根据网络上的其他文件, 似乎说明这个设定值有点危险的样子。所以,基本上还是建议单纯使用模拟的 backing-store 较佳。例如鸟哥的简单案例中,就通通使用 backing-store 而已


    initiator-address (用户端地址): 如果你想要限制能够使用这个 target 的客户端来源,才需要填写这个设定值。基本上,不用设定它 (代表所有人都能使用的意思), 因为我们后来会使用 iptables 来规范可以联机的客户端嘛!


    incominguser (用户账号密码设定): 如果除了来源 IP 的限制之外,你还想要让使用者输入账密才能使用你的 iSCSI target 的话,那么就加用这个设定项目。 此设定后面接两个参数,分别是账号与密码啰。


    write-cache [off|on] (是否使用快取): 在预设的情况下,tgtd 会使用快取来增快速度。不过,这样可能会有遗失数据的风险。所以,如果你的数据比较重要的话, 或许不要使用快取,直接存取装置会比较妥当一些。


    9.7 启动 iSCSI target 以及观察相关端口口与磁盘信息


    [root@www ~]# /etc/init.d/tgtd start 
    [root@www ~]# chkconfig tgtd on 
    [root@www ~]# netstat -tlunp | grep tgt 
    Active Internet connections (only servers) 
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name 
    tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 
    26944/tgtd tcp 0 0 :::3260 :::* LISTEN 
    26944/tgtd 
    # 重点就是那个 3260 TCP 封包啦!等一下的防火墙务必要开放这个埠口。 
    # 观察一下我们 target 相关信息,以及提供的 LUN 数据内容:
     [root@www ~]# tgt-admin --show 
    Target 1: iqn.2011-08.vbird.centos:vbirddisk <==就是我们的 target 
      System information: 
        Driver: iscsi 
        State: ready 
      I_T nexus information:
      LUN information: 
        LUN: 0 
          Type: controller <==这是个控制器,并非可以用的 LUN 喔!
         ....(中间省略)....
      LUN: 1 
        Type: disk <==第一个 LUN,是磁盘 (disk) 喔! 
        SCSI ID: IET 00010001 
        SCSI SN: beaf11 
        Size: 2155 MB <==容量有这么大! 
        Online: Yes 
        Removable media: No Backing store 
        type: rdwr 
        Backing store path: /dev/sda10 <==磁盘所在的实际文件名 
      LUN: 2 
        Type: disk 
        SCSI ID: IET 00010002 
        SCSI SN: beaf12 
        Size: 2147 MB 
        Online: Yes 
        Removable media: No 
        Backing store type: rdwr 
        Backing store path: /dev/server/iscsi01 
       LUN: 3
        Type: disk 
        SCSI ID: IET 00010003 
        SCSI SN: beaf13 
        Size: 524 MB 
        Online: Yes 
        Removable media: No 
        Backing store type: rdwr 
        Backing store path: /srv/iscsi/disk1.img 
    Account information: 
      vuser <==额外的帐户信息 
    ACL information: 
      192.168.100.0/24 <==额外的来源 IP 限制
    9.8设定防火墙:
    [root@www ~]# vi /etc/sysconfig/iptables
    iptables -A INPUT -p tcp -s 192.168.100.0/24 --dport 3260 -j ACCEPT


    9.9 客户端 initiator 的设定需要的软件有:iscsi-initiator-utils:挂载来自 target 的磁盘到 Linux 本机上。


    9.10 iscsi-initiator-utils主要配置文件:


    /etc/iscsi/iscsid.conf:主要的配置文件,用来连结到 iSCSI target 的设定;

     /sbin/iscsid:启动 iSCSI initiator 的主要服务程序;

     /sbin/iscsiadm:用来管理 iSCSI initiator 的主要设定程序;

     /etc/init.d/iscsid:让本机模拟成为 iSCSI initiater 的主要服务;

     /etc/init.d/iscsi:在本机成为 iSCSI initiator 之后,启动此脚本,让我们可以登入 iSCSI target。所以 iscsid 先启动后,才能启动这个服务。因为 /etc/init.d/iscsi 脚本已经包含了启动 /etc/init.d/iscsid 的步骤在里面,所以,理论上, 只要启动 iscsi 就好。此外,那个 iscsid.conf 里面大概只要设定好登入 target 时的帐密即可, 其他的 target 搜寻、设定、取得的方法都直接使用 iscsiadm 这个指令来完成。由于 iscsiadm 侦测到的结果会直接写入 /var/lib/iscsi/nodes/ 当中,因此只要启动 /etc/init.d/iscsi 就能够在下次开机时,自动的连结到正确的 target 啰。 那么就让我们来处理处理整个过程吧


    9.11 initiator 的设定

           修改 /etc/iscsi/iscsid.conf 内容,并启动 iscsi:这个档案的修改很简单,因为里面的参数大多已经预设做的不错了,只要填写 target 登入时所需要的帐密即可。 修改的地方有两个,一个是侦测时 (discovery) 可能会用到的帐密,一个是联机时 (node) 会用到的帐密:

    [root@clientlinux ~]# vim /etc/iscsi/iscsid.conf
    node.session.auth.username = vbirduser <==在 target 时设定的 
    node.session.auth.password = vbirdpasswd <==约在 53, 54 行 
    discovery.sendtargets.auth.username = vbirduser <==约在 67, 68 行 
    discovery.sendtargets.auth.password = vbirdpasswd 
    [root@clientlinux ~]# chkconfig iscsid on 
    [root@clientlinux ~]# chkconfig iscsi on

          侦测 192.168.100.254 这部 target 的相关数据:

    [root@clientlinux ~]# iscsiadm -m discovery -t sendtargets -p IP:port
    选项与参数: 
    -m discovery :使用侦测的方式进行 iscsiadmin 指令功能; 
    -t sendtargets :透过 iscsi 的协议,侦测后面的设备所拥有的 target 数据 -p IP:port :就是那部 iscsi 设备的 IP 与埠口,不写埠口预设是 3260 啰!
    范例:侦测 192.168.100.254 这部 iSCSI 设备的相关数据
     [root@clientlinux ~]# iscsiadm -m discovery -t sendtargets -p 192.168.100.254
    192.168.100.254:3260,1 iqn.2014-10.net.vbnl:vdisk
    # 192.168.100.254:3260,1 :在此 IP, 端口口上面的 target 号码,本例中为 target1
    #iqn.2014-10.net.vbnl:vdisk :就是我们的 target 名称啊!
    [root@clientlinux ~]# ll -R /var/lib/iscsi/nodes/
    /var/lib/iscsi/nodes/iqn.2014-10.net.vbnl:vdisk
    /var/lib/iscsi/nodes/iqn.2014-10.net.vbnl:vdisk/192.168.100.254,3260,1
    # 上面的特殊字体部分,就是我们利用 iscsiadm 侦测到的 target 结果!

             现在我们知道了 target 的名称,同时将所有侦测到的信息通通写入/var/lib/iscsi/nodes/iqn.201410.net.vbnl:vbirddisk/192.168.100.254,3260,1 目录内的 default 档案中, 若信息有修订过的话,那你可以到这个档案内修改,也可以透过 iscsiadm 的 update 功能处理相关参数的。

            开始进行联机 iSCSI target,因为我们的 initiator 可能会连接多部的 target 设备,因此,我们得先要瞧瞧目前系统上面侦测到的 target 有几部, 然后再找到我们要的那部 target 来进行登入的作业。

    范例:根据前一个步骤侦测到的资料,启动全部的 target 
    [root@clientlinux ~]# /etc/init.d/iscsi restart 
    正在停止 iscsi: [ 确定 ] 
    正在激活 iscsi: [ 确定 ] 
    # 将系统里面全部的 target 通通以 /var/lib/iscs/nodes/ 内的设定登入 
    # 上面的特殊字体比较需要注意啦!你只要做到这里即可,底下的瞧瞧就好。 范例:显示出目前系统上面所有的 target 数据: 
    [root@clientlinux ~]# iscsiadm -m node
    192.168.100.254:3260,1 iqn.2014-10.net.vbnl:vdisk
    选项与参数: 
    -m node:找出目前本机上面所有侦测到的 target 信息,可能并未登入喔 
    范例:仅登入某部 target ,不要重新启动 iscsi 服务 
    [root@clientlinux ~]# iscsiadm -m node -T target名称 --login 
    选项与参数: 
    -T target名称:仅使用后面接的那部 target ,target 名称可用上个指令查到! 
    --login :就是登入啊!
    [root@clientlinux ~]# iscsiadm -m node -T iqn.iqn.2014-10.net.vbnl:vdisk \ 
    > --login 
    # 这次进行会出现错误,是因为我们已经登入了,不可重复登入喔!
    
    
    接下来呢,我们要来开始处理这个 iSCSI 的磁盘:
    
    [root@clientlinux ~]# fdisk -l 
    Disk /dev/sda: 8589 MB, 8589934592 bytes <==这是原有的那颗磁盘
     ....(中间省略).... 
    Disk /dev/sdc: 2147 MB, 2147483648 bytes 
    heads, 62 sectors/track, 1009 cylinders 
    Units = cylinders of 4154 * 512 = 2126848 bytes 
    Sector size (logical/physical): 512 bytes / 512 bytes 
    
    Disk /dev/sdb: 2154 MB, 2154991104 bytes 
    heads, 62 sectors/track, 1013 cylinders 
    Units = cylinders of 4154 * 512 = 2126848 bytes 
    Sector size (logical/physical): 512 bytes / 512 bytes 
    
    Disk /dev/sdd: 524 MB, 524288000 bytes 
    heads, 59 sectors/track, 1020 cylinders 
    Units = cylinders of 1003 * 512 = 513536 bytes 
    Sector size (logical/physical): 512 bytes / 512 bytes

       

    9.12更新/删除/新增 target 数据的方法

    [root@clientlinux ~]# iscsiadm -m node -T targetname --logout
    [root@clientlinux ~]# iscsiadm -m node -o [delete|new|update] -T targetname 
    选项与参数: --logout :就是注销 target,但是并没有删除 /var/lib/iscsi/nodes/ 内的数据
    -o delete:删除后面接的那部 target 链接信息 (/var/lib/iscsi/nodes/*) 
    -o update:更新相关的信息
    -o new :增加一个新的 target 信息。 
    范例:关闭来自鸟哥的 iSCSI target 的数据,并且移除链接 
    [root@clientlinux ~]# iscsiadm -m node <==还是先秀出相关的 target iqn 名称 
    192.168.100.254:3260,1 iqn.2014-10.net.vbnl:vdisk 
    [root@clientlinux ~]# iscsiadm -m node -T iqn.2014-10.net.vbnl:vdisk \ 
    > --logout 
    Logging out of session [sid: 1, target: 
    iqn.2011-08.vbird.centos:vbirddisk, portal: 192.168.100.254,3260] 
    Logout of [sid: 1, target: iqn.2014-10.net.vbnl:vdisk, portal: 192.168.100.254,3260] successful. 
    # 这个时候的 target 连结还是存在的,虽然注销你还是看的到! 
    [root@clientlinux ~]# iscsiadm -m node -o delete \ 
    > -T iqn.iqn.2014-10.net.vbnl:vdisk
    [root@clientlinux ~]# iscsiadm -m node 
    iscsiadm: no records found! <==嘿嘿!不存在这个 target 了~ 
    [root@clientlinux ~]# /etc/init.d/iscsi restart 
    # 你会发现唔!怎么 target 的信息不见了!这样瞭了乎



         -m {discovery|node|session|iface}

            discovery:发现某个server是否有target输出及有哪些输出

            node:自己作为节点与server端建立连接

            session:查看会话

            iface:进行接口管理的


            -d:debug_lebel 等级为0—8越高输出的debug信息越详细。

            -I:指定使用哪个网络接口,如果只有一块网卡则不用指定

            -t:sendtarget,slp,iSNS三种形式,一般用的是sendtarget简写为st

            -p:IP:port IP为server的IP,port可以省略,默认为3260

            发现输出target后与登录target有关的

            -U 登出

            -R 重新登入

            -l 登入

            -T 指定targetname

            -p 指定server的IP/port

            -s 显示session的统计数据


    转载于:https://blog.51cto.com/12674559/2105908

    展开全文
  • 文章防盗链地址:http://jackcui.blog.51cto.com/一、常见存储类型和iSCSI 概念及介绍1.1 常见的三种存储类型DAS(Direct-AttachedStorage)直接附加存储存储设备一般通过scsi/ide总线直接连接到主机上,常见的...

    文章防盗链地址:http://jackcui.blog.51cto.com/

    一、常见的存储类型和iSCSI 概念及介绍

    1.1 常见的三种存储类型

    DAS(Direct-AttachedStorage)直接附加存储,存储设备一般通过scsi/ide总线直接连接到主机上,常见的如SATA硬盘,SAS硬盘等,直接通过准线连接到计算机主板上面。该方式显著的优点就是传输速度快,但传输距离受总线长度限制,且只能供本地使用。

    NAS(Network AttachedStorage)网络附加存储,将存储设备与服务器分离,集中管理数据,从而提升并发存储能力、降低维护成本。典型的应用示例有NFS服务器,SAMBA服务器,NFS服务器等文件服务器,通过向外提供文件系统的方式向外提供存储

    SAN(Storage Area Network)存储区域网络,采用FC(Fibre Channel)光纤通道或者Ethernet进行远距离传输,区别于Fiber Channel光纤通道技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。

            wKioL1h0qtuhhxhTAAFqa28XDx8597.png

            SAN架构图

            

    1.2 三种存储类型的区别

    DAS与SAN都是块级别(Block-level)的存储,而NAS是文件系统(File System level)级的存储。因为文件系统是操作系统对磁盘数据的一次封装。每次对数据访问时提供文件服务的服务器都要对数据进行数据封装,和解封装,然后再对块设备磁盘进行读写。而DAS是直接对块设备进行读写,因此NAS的存储速度不如前面两者。

    SAN(Storage Area Network)相当于模拟了远距离传输的DAS,特点是速度快。支持的并发服务主机数量多。大家都知道远距离传输是需要跨越Internet,而广域网的带宽是远不能和局域网相比的,因此缺点便是网络速度瓶颈问题。

            

    1.3 iSCSI简介

    iSCSI(Internet SmallComputer System Interface)基于Internet的小型计算机系统接口,由IBM公司研究开发的,是一个可以让硬件设备在IP协议的上层运行的SCSI指令集存储技术,可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可通过IP网络进行远距离SCSI类型的数据存储设备由 SCSI 总线连接。iSCSI 的主要功能是在 TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。此外,iSCSI 提供了在 IP 网络封装 SCSI 命令,且以TCP/IP协议传输。iSCSI服务端程序监听端口为明文的TCP/3260。

        wKiom1h0qw3DBwBJAAHHWdBsSFY491.png

        iSCSI数据帧封装格式


    二、iSCSI相关术语与常用命令该介绍


    2.1 iSCSI相关术语

    启动器:一个iscsi客户端,通常以软件提供,但是也可以作为iSCSI HBA来实施。必须为启动器授予唯一名称。

    目标:一个iSCSI存储资源,针对来自iSCSI服务器的连接而配置。必须为目标授予唯一目标。目标提供一个或多个低啊有编号的快射别,称为逻辑单元。一个iSCSI服务器可以同时提供多个目标。

    发现:查询目标服务器以列出配置的目标。

    ACL访问权限控制列表,一种使用节点IQN(通常是启动器名称)来验证启动器的访问权限的访问限制。

     IQNiSCSI限定名称,全球唯一名称,用于以强制命名格式来识别启动器和目标。

                  IQN格式如下:

            iqn.YYYY-MM.com.reversed.domain[:optional_string]

            iqn:表示此名称使用域为标识符。

            YYYY-MM:表示拥有域名的年月时间。

            com.reversed.domain:拥有此iSCSI组织的逆向域名

            :optional_string:以冒号为前缀的可选字符串,全球唯一,由域所有者分配,其中可包含冒号为分割符的组织边界

                 

    LUN逻辑单元号,带有编号的块设备,连接到目标且通过目标来使用。可以有一个或多个LUN连接到单个目标,但通常一个目标提供一个LUN

    节点:任何一个iSCSI启动器或iSCSI目标,由其IQN来标识。

    TPG目标门户组,某个特定iSCSI目标要侦听的接口IP地址和TCP端口的集合。可以将目标配置添加到TPG以协调多个LUN的设置。

    门户:目标或启动器上用于建立的IP地址和端口。

        

    2.2 iSCSI客户端和服务器端命令介绍

        

    2.2.1 服务器端命令

    在服务器端可以使用targetcli交互式shell工具,在其中可以创建删除和配置iSCSI目标组件,并且在此命令行工具中支持shell常用的Linux命令:cd、ls、pwd等。可以通过yum安装targetcli包提供此命令(此命令是红帽7.2版本才支持的命令,之前使用tgtadm命令管理iSCSI设备)。

             

    2.2.2 客户端命令:

    客户端需要安装iscsi-initiator-utils包,以供发现目标门户提供的块设备。配置文件路径为/etc/iscsi/iscsid.conf。在客户端也有两个服务脚本需要启动(建议开机自启),分别为/etc/rc.d/init.d/iscsi和/etc/rc.d/init.d/iscsid。只要启动iscsi,iscsid就会自动启动。客户端命令工具为/sbin/iscsiadm。

            iscsiadm也是一个模式化的命令,是客户端的命令

            -m {discovery|node|session|iface}

            discovery:发现某个server是否有target输出及有哪些输出

            node:自己作为节点与server端建立连接

            session:查看会话

            iface:进行接口管理的

            -d:debug_lebel 等级为0—8越高输出的debug信息越详细,可省略

            -I:指定使用哪个网络接口,如果只有一块网卡则不用指定

            -t:sendtarget,slp,iSNS三种形式,一般用的是sendtarget简写为st

            -p:IP:port IP为server的IP,port可以省略,默认为3260

            发现输出target后与登录target有关的

            -U 登出

            -R 重新登入

            -l 登入

            -T 指定targetname

            -p 指定server的IP/port

            -s 显示session的统计数据


    三、简单示例配置

        ##iSCSI服务器配置##

         

        注:实验前首先使用fdisk /dev/vdb划分一块分区分区为/dev/vdb1。如果在真实环境当中使用相应的设备名即可,如raid设备在Linux中一般也被识别为/dev/sd*。可以自行判断即可。

         

        #yum install targetcli -y  安装服务器软件包:

        #systenctl start target 启动服务

        #targetcli  进入命令行

        wKioL1h0rKmx1PykAAClR5Q-9ZA676.png

        

        上图中创建后备存储,共有blockfileiopscsiramdisk四种,但是一般常用的为block,次之为fileioblock类型的一般为服务器定义的块设备,fileio为服务器文件系统指定大小的文件,其他一般使用较少,就不详细介绍。

        注:westos:storage1为后端存储的名字,/dev/vdb1为磁盘设备分区

         wKioL1h0rf6yM3PIAADgjUXb2HI776.png

        

        上图操作:为目标创建IQN,名字为iqn.2016-12.com.example:storage1.此步骤将默认创建一个TPG.

         wKiom1h0riaBEm68AAD03h1yOsw410.png

        上图操作:在tpg中创建一个ACL以供客户端使用。

        

    wKioL1h0rkjjRU4gAAEwauxmsKM032.png

        wKioL1h0rknTHqQTAACwxsszTUc865.png

         上图操作:创建LUN,系统默认将创建的LUN和之前创建的ACL关联并激活每个后备存储,上图没有创建门户,将使用默认监听所有IP地址,并使用标准的iSCSI 3260端口。当然也可以在tgp中使用portals来创建相应的IP地址和端口。

         

        #systemctl stop firewalld   关闭火墙或者在防火墙中添加相应的规则

         

        ##客户端配置##

        #yum install iscsi-initiator-utils 安装客户端软件包

        #vim/etc/iscsi/initiatorname.iscsi

        InitiatorName=iqn.2016-12.com.example:key1  设置发起端的IQN

        #systemctl start iscsi

        #iscsiadm -m discovery -t st -p 172.25.254.108:3260iqn.2016-12.com.example:storage1 查找iSCSI服务器所提供的iSCSI目标

         

        登录服务器上的一个或多个iscsi目标

        iscsiadm -m node -T iqn.2016-12.com.example:storage1 -p172.25.254.108 -l

        此时,可以使用iSCSI磁盘,就好像它是本地连接硬盘驱动器。例如,通过文件系统格式化分区或作为LVM物理卷。

         

        注:在/etc/fstab中永久挂载文件系统

        使用blkid确定文件系统UUID并使用UUID挂载,而不是/dev/sd*设备名称。(每次引导时显示的设备名称都不同,具体取决于iSCSI设备通过网络进行响应的顺序。如果按设备名称挂载,这会导致使用错误的设备。)

        在/etc/fstab中使用_netdev作为挂载选项。(这将确保客户端不会尝试挂载文件系统,直至启用联网。否则,在引导时系统将出错。)

        /dev/sdb1      /mnt/  xfs defaults,_netdev  0 0

         

         确保iscsi服务在引导时启动。

         

        ##停止使用iSCSI目标##

        确保没有使用目标所提供的任何设备。

        确保从/etc/fstab等位置中删除使用目标的所有永久挂载。

        退出iSCSI目标,以断开连接。

        iscsiadm -m node -T iqn.2016-12.com.example:storge1 -u

        # iscsiadm -m node -T iqn.2016-12.com.example:storge1 -o delete  删除iSCSI目标的本地记录,以永久断开连接。

    文章防盗链地址:http://jackcui.blog.51cto.com/

        

    转载于:https://blog.51cto.com/jackcui/1890808

    展开全文
  • 今天我们从前端的角度了解一下浏览器存储,我们常见且常用的存储方式主要由两种:cookie、webStorage(localStorage和sessionStorage)。下面我们来一一认识它们。 Cookie基于HTTP规范,用来识别用户。 Cookie是...
  • 常见三种存储方式DAS、NAS、SAN的架构及比较

    万次阅读 多人点赞 2017-06-04 22:55:14
    随着主机、磁盘、网络等技术的发展,数据存储方式和架构也在一直不停改变,本文主要介绍目前主流的存储架构。 存储的分类 根据服务器类型分为: 封闭系统的存储(封闭系统主要指大型机) 开放系统的...

    随着主机、磁盘、网络等技术的发展,数据存储的方式和架构也在一直不停改变,本文主要介绍目前主流的存储架构。

    存储的分类

    根据服务器类型分为:

    • 封闭系统的存储(封闭系统主要指大型机)
    • 开放系统的存储(开放系统指基于Windows、UNIX、Linux等操作系统的服务器)

    开放系统的存储分为:内置存储和外挂存储;

    外挂存储根据连接的方式分为:直连式存储(Direct-Attached Storage,简称DAS)和网络化存储(Fabric-Attached Storage,简称FAS);网络化存储根据传输协议又分为:网络接入存储(Network-Attached Storage,简称NAS)和存储区域网络(Storage Area Network,简称SAN)。看下图,可以清晰的理解刚才的描述。

    常见三种存储方式DAS、NAS、SAN的架构及比较

    常见三种存储架构 DAS、NAS、SAN比较,区别说明:

    常见三种存储方式DAS、NAS、SAN的架构及比较

     

    DAS存储 (直连式存储Direct-Attached Storage)

    常见三种存储方式DAS、NAS、SAN的架构及比较

    DAS存储在我们生活中是非常常见的,尤其是在中小企业应用中,DAS是最主要的应用模式,存储系统被直连到应用的服务器中,在中小企业中,许多的数据应用是必须安装在直连的DAS存储器上。

    DAS存储更多的依赖服务器主机操作系统进行数据的IO读写和存储维护管理,数据备份和恢复要求占用服务器主机资源(包括CPU、系统IO等),数据流需要回流主机再到服务器连接着的磁带机(库),数据备份通常占用服务器主机资源20-30%,因此许多企业用户的日常数据备份常常在深夜或业务系统不繁忙时进行,以免影响正常业务系统的运行。直连式存储的数据量越大,备份和恢复的时间就越长,对服务器硬件的依赖性和影响就越大。

    直连式存储与服务器主机之间的连接通道通常采用SCSI连接,随着服务器CPU的处理能力越来越强,存储硬盘空间越来越大,阵列的硬盘数量越来越多,SCSI通道将会成为IO瓶颈;服务器主机SCSI ID资源有限,能够建立的SCSI通道连接有限。

    无论直连式存储还是服务器主机的扩展,从一台服务器扩展为多台服务器组成的群集(Cluster),或存储阵列容量的扩展,都会造成业务系统的停机,从而给企业带来经济损失,对于银行、电信、传媒等行业7×24小时服务的关键业务系统,这是不可接受的。并且直连式存储或服务器主机的升级扩展,只能由原设备厂商提供,往往受原设备厂商限制。

    NAS存储 (网络接入存储Network-Attached Storage)

    常见三种存储方式DAS、NAS、SAN的架构及比较

    NAS存储也通常被称为附加存储,顾名思义,就是存储设备通过标准的网络拓扑结构(例如以太网)添加到一群计算机上。NAS是文件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。如今用户采用NAS较多的功能是用来文档共享、图片共享、电影共享等等,而且随着云计算的发展,一些NAS厂商也推出了云存储功能,大大方便了企业和个人用户的使用。

    NAS产品是真正即插即用的产品。NAS设备一般支持多计算机平台,用户通过网络支持协议可进入相同的文档,因而NAS设备无需改造即可用于混合Unix/Windows NT局域网内,同时NAS的应用非常灵活。

    但NAS又一个关键性问题,即备份过程中的带宽消耗。与将备份数据流从LAN中转移出去的存储区域网(SAN)不同,NAS仍使用网络进行备份和恢复。NAS 的一个缺点是它将存储事务由并行SCSI连接转移到了网络上。这就是说LAN除了必须处理正常的最终用户传输流外,还必须处理包括备份操作的存储磁盘请求。

    SAN存储 (存储区域网络Storage Area Network)

    常见三种存储方式DAS、NAS、SAN的架构及比较

    存储区域网络,从名字上我们也可以看出,这个是通过光纤通道交换机连接存储阵列和服务器主机,最后成为一个专用的存储网络。SAN经过十多年历史的发展,已经相当成熟,成为业界的事实标准(但各个厂商的光纤交换技术不完全相同,其服务器和SAN存储有兼容性的要求)。

    SAN提供了一种与现有LAN连接的简易方法,并且通过同一物理通道支持广泛使用的SCSI和IP协议。SAN不受现今主流的、基于SCSI存储结构的布局限制。特别重要的是,随着存储容量的爆炸性增长,SAN允许企业独立地增加它们的存储容量。SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据置放在那里,服务器都可直接存取所需的数据。因为采用了光纤接口,SAN还具有更高的带宽。

    如今的SAN解决方案通常会采取以下两种形式:光纤信道以及iSCSI或者基于IP的SAN,也就是FC SAN和IP SAN。光纤信道是SAN解决方案中大家最熟悉的类型,但是,最近一段时间以来,基于iSCSI的SAN解决方案开始大量出现在市场上,与光纤通道技术相比较而言,这种技术具有良好的性能,而且价格低廉。

    SAN真正的综合了DAS和NAS两种存储解决方案的优势。例如,在一个很好的SAN解决方案实现中,你可以得到一个完全冗余的存储网络,这个存储网络具有不同寻常的扩展性,确切地说,你可以得到只有NAS存储解决方案才能得到的几百T字节的存储空间,但是你还可以得到块级数据访问功能,而这些功能只能在DAS解决方案中才能得到。对于数据访问来说,你还可以得到一个合理的速度,对于那些要求大量磁盘访问的操作来说,SAN显得具有更好的性能。利用SAN解决方案,你还可以实现存储的集中管理,从而能够充分利用那些处于空闲状态的空间。更有优势的一点是,在某些实现中,你甚至可以将服务器配置为没有内部存储空间的服务器,要求所有的系统都直接从SAN(只能在光纤通道模式下实现)引导。这也是一种即插即用技术。

    SAN确实具有这些伟大的优点,那么,SAN的缺陷在哪里?SAN有两个较大的缺陷:成本和复杂性,特别是在光纤信道中这些缺陷尤其明显。使用光纤信道的情况下,合理的成本大约是1TB或者2TB大概需要五万到六万美金。从另一个角度来看,虽然新推出的基于iSCSI的SAN解决方案大约只需要两万到三万美金,但是其性能却无法和光纤信道相比较。在价格上的差别主要是由于iSCSI技术使用的是现在已经大量生产的吉比特以太网硬件,而光纤通道技术要求特定的价格昂贵的设备。

    因为SAN解决方案是从基本功能剥离出存储功能,所以运行备份操作就无需考虑它们对网络总体性能的影响。SAN方案也使得管理及集中控制实现简化,特别是对于全部存储设备都集群在一起的时候。最后一点,光纤接口提供了10公里的连接长度,这使得实现物理上分离的、不在机房的存储变得非常容易。

    总结:最后概括一下就是,DAS存储一般应用在中小企业,与计算机采用直连方式,NAS存储则通过以太网添加到计算机上,SAN存储则使用FC接口,提供性能更加的存储。

    SAN与NAS的主要区别体现在操作系统在什么位置,如下图所示:

    常见三种存储方式DAS、NAS、SAN的架构及比较

    如今,随着移动计算时代的来临,更多的非结构化数据产生,这对NAS和SAN都是一个挑战,NAS+SAN将是未来主要的存储解决方案,也就是目前比较热门的统一存储。既然是一个集中化的磁盘阵列,那么就支持主机系统通过IP网络进行文件级别的数据访问,或通过光纤协议在SAN网络进行块级别的数据访问。同样,iSCSI亦是一种非常通用的IP协议,只是其提供块级别的数据访问。这种磁盘阵列配置多端口的存储控制器和一个管理接口,允许存储管理员按需创建存储池或空间,并将其提供给不同访问类型的主机系统。

    统一存储系统:前端主机接口可支持FC 8Gb、iSCSI 1Gb和iSCSI 10Gb,后端具备SAS 6Gb硬盘扩展接口,可支持SAS、SATA硬盘及SSD固态硬盘具备极佳的扩展能力。实现FC SAN与IP SAN、各类存储介质的完美融合,有效整合用户现有存储网络架构,实现高性能SAN网络的统一部署和集中管理,以适应业务和应用变化的动态需求。主机接口及硬盘接口均采用模块化设计,更换主机接口或硬盘扩展接口,无须更换固件,可大大简化升级维护的难度和工作量。

    应用场景

    DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业;

    NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低;

    SAN则适用于大型应用或数据库系统,缺点是成本高、较复杂。

    展开全文
  • 存储在多个服务器上转变为存储在单个服务器上。此模式可以降低管理工作的复杂l生和对数据中心占地面积的要求;直接将多个异构型服务器附加到一个存储设备上。此模式极大降低了存储成本,同时也可 以简化管 理 ;...
    • 从存储在多个服务器上转变为存储在单个服务器上。此模式可以降低管理工作的复杂l生和对数据中心占地面积的要求;
    • 直接将多个异构型服务器附加到一个存储设备上。此模式极大降低了存储成本,同时也可 以简化管 理 ;
    • 整合到存储 局域 网上。此模式既有利于提高工作效率,降低管理工作的复杂性,同时还可以提高可扩展性,可用性和数据可访问性。
    展开全文
  • 配置文件ticketRegistry.xml负责配置ticket的存储方式,registry是注册表,登记薄的意思 常用的存储方式包括 1、DefaultTicketRegistry:默认的,存储在内存里 2、JpaTicketRegistry:存储在数据库中,服务器...
  • 常见linux服务器简述

    2019-07-03 20:13:05
    NFS:网络方式共享文件系统 Samba:Linux与Windows交互的文件共享 vsftpd:文件传输 iSCSI网络存储:专门做存储管理,IP-SAN技术,客机可以获得共享的网络磁盘 Rsync+Intify:差异备份+文件系统事件通告机制,两个...
  • 今天小编给大家介绍下,针对服务器来讲,裸金属服务器使用的云存储对比传统存储的有什么优势,以及它们如何帮助用户解决一些常见IT问题。 云存储的定义,可以从两个方面来理解云存储: 面向用户的服务形态方面,云...
  •  LAN-Based备份方式: LAN-Based备份,在该系统中数据的传输是以网络为基础的。其中配置一台服务器作为备份服务器,由它负责整个系统的备份操作。磁带库则接在某台服务器上,在数据备份时备份对象把数据通过网络...
  • 几种常见存储备份系统

    千次阅读 2010-01-14 13:29:00
    几种常见存储备份系统常见的数据备份系统主要有Host-Base、LAN-Base和基于SAN结构的LAN-Free、Server-Free等多种结构。Host-Based备份方式: Host-Based是传统的数据备份的结构,这种结构中磁带库直接接在服务器上,...
  • LAN-Based备份方式: LAN-Based备份,在该系统中数据的传输是以网络为基础的。其中配置一台服务器作为备份服务器,由它负责整个系统的备份操作。磁带库则接在某台服务器上,在数据备份时备份对象把数据通过网络...
  • 浅析目前常见的三大存储模式

    千次阅读 2017-11-17 16:33:00
    存储方式浅析 前段时间了解了下存储的方式,先在写篇文档回忆一下之前所学,并巩固一下。 目前主要有DAS,NAS,SAN这三种存储方式。 下面对这三种存储方式进行对比,分析每种存储的不同价值,以便大家结合自己的实际...
  • Web客户端的几种存储方式

    千次阅读 2017-09-26 21:25:46
    常见的浏览器端存储技术有:cookie sessionStorage localStorage userData indexDB服务器存储技术:session一、HTML5 web存储(WebStorage)HTML5 可以在本地存储用户的浏览数据,不存储服务器上,可以存储...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 963
精华内容 385
关键字:

常见服务器存储方式