zoukankan      html  css  js  c++  java
  • 搭建iSCSI共享IPSAN

    iSCSI(internet SCSI)是一个供硬件设备使用的、可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。

        iSCSI是一种基于TCP/IP 的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN 使得SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。SCSI 结构基于C/S模式,其通常应用环境是:设备互相靠近,并且这些设备由SCSI 总线连接。

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

        从本质上说,iSCSI 启动器是一个客户端设备,它连接到服务器(在本例中是 iSCSI 目标)提供的某一服务,并发起对该服务的请求。iSCSI 启动器软件需要安装在每个节点上。  iSCSI 启动器可以用软件实现,也可以用硬件实现。软件 iSCSI 启动器可用于大部分主要操作系统平台。对于本文,我们将使用 iscsi-initiator-utils RPM 中提供的免费 Linux Open-iSCSI 软件驱动程序。iSCSI 软件启动器通常与标准网络接口卡 (NIC)(大多数情况下是千兆位以太网卡)配合使用。硬件启动器是一个 iSCSI HBA,它本质上只是一个专用以太网卡。

          iSCSI 目标是 iSCSI 网络的"服务器"组件。它通常是一个存储设备,包含您所需的信息并响应来自(一个或多个)启动器的请求。对于本文,节点rac1 将是 iSCSI 目标。

    配置iscsi target:

    方案1:命令行配置,立即有效,重启无效

    1.在target上添加磁盘:sdb,sdc,sdd,sde

       准备存储设备/dev/md5

       yum –y install mdadm

       mdadm –Cv /dev/md5 –a yes –n 3 –x 1 –l 5 /dev/sd[b-e]

       mdadm –D –s >/etc/mdadm.conf

       sed –I ‘1 s/$/auto=yes/’ /etc/mdadm.conf

       cat /etc/mdadm.conf

    2、安装程序包、启动服务

    [root@rac1 ~]# yum install -y scsi-target-utils

    [root@rac1 ~]# service tgtd start

    3、创建target

    [root@rac1 ~]# tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2017-04.com.comsys:iscsi.fcdisk

    4、创建lun

    [root@rac1 ~]# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store  /dev/md5

    [root@rac1 ~]# tgtadm --lld iscsi --mode logicalunit --op delete --tid 1 --lun 1 #删除lun的方法

    5、授权

    为 Target 分配了 LUN 后,需要配置访问控制才可以使用。可以设置所有用户都能访问,也可以设置基于IP/IP段或用户名验证的访问权限。

    添加两个 IP 的访问权限:

    [root@rac1 ~]#  # tgtadm  --lld iscsi --mode target --op bind --tid 1 --initiator-address 192.168.1.10

    [root@rac1 ~]# # tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address 192.168.2.10

    再添加一个 IP 段的访问权限:

    [root@rac1 ~] # tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address 192.168.3.0/24

    添加所有 IP 的访问权限:

    [root@rac1 ~] # tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address  ALL

    注意:访问控制是 Target 的一个特性,只能给 Target 添加访问控制,而对单独的 LUN 则无法添加访问控制。

    6、查看已经定义的信息

    [root@rac1 ~]# tgtadm --lld iscsi --mode target --op show

    方案2:在配置文件中定义,重启有效

    1、安装tgt

    [root@rac1 ~]# yum install scsi-target-utils -y

    2、配置tgt

    tgt的主配置文件为/etc/tgt/targets.conf,下面我们来设置该文件。

    在该文件最后新增以下设置:

    <target iqn.2011-10.com.example.cluster1:iscsi>

    backing-store  /dev/md5                 #指定要发布的设备已划分的分区

    initiator-address  ALL          #对于客户端的访问控制,允许所有用户访问

    </target>

    说明:

    iqn(iSCSI Qualified Name)名称规则如下:

    格式是:“iqn”+“年月”+“.”+“域名的颠倒”+“:”+“设备的具体名称”,之所以颠倒域名是为了避免可能的冲突。

    举例: iqn.2008-07.com.h3c.rd:test

    每个在同一个target上的backing-store 称为逻辑单元号(Logical Unit Number,LUN),这个实验中有1个LUN。

    其他高级设置如, 大家自己进行配置。

    incominguser   user1  pass12          #允许user1访问密码pass12

    write-cache     off                     #关闭写缓存

    #direct-store /dev/sdc                    #整块磁盘

    3、启动iSCSI target

    [root@rac1 ~]# /etc/init.d/tgtd start                   #启动target服务

    [root@rac1 ~]# chkconfig tgtd on                    #开机自动启动

    4、查看iSCSI target

    [root@rac1 ~]# tgtadm --lld iscsi --mode target --op show

    LUN0 是控制器,可以看到各个LUN的大小和磁盘路径。

    至此,iSCSI Target 设定完毕。

    iSCSI客户端配置

    1)安装客户端软件

    yum –y install iscsi-initiator-utils lsscsi

    /etc/init.d/iscsi start

    /etc/init.d/iscsi restart

    2)发现并连接iscsi设备

    iscsiadm –m discovery –t sendtargets –p 192.168.1.51

    #发现target服务,信息会写入/var/lib/iscsi 目录

    发送给192.168.1.51一个target

    其中:

    -m 可用的mode有discovery,node,fw

    -t sendtargets,可简写为st,仅用于discovery模式,发送一个target给initiator;

    -p 指定target服务的ip和端口

    - T用于指定target名字

    -l login

    -u logout

    登录到指定名字的target上

    lsscsi 查看scsi设备

    tree /var/lib/iscsi/nodes

     /etc/init.d/iscsi  start                    #在启动iscsi服务 该服务是根据iscsid服务信息/var/lib/iscsi/ 来识别设备的

    lsblk                        #lsblk查看块信息的命令

    iscsiadm –m node –T iqn.2008-07.com.h3c.rd:test –u

    #卸载scsi设备

    lsblk 查看设备,已没有共享的设备了

    iscsiadm –m node –T iqn.2008-07.com.h3c.rd:test –l

    登录scsi设备

    lsblk查看

    3)使用iscsi存储设备

    fdisk –l /dev/md5

    mkfs.ext4 /dev/md5

    mkdir /scsi

    mount /dev/md5 /scsi

    df –Th

  • 相关阅读:
    合唱队形2 洛谷U5874
    AC日记——石子归并 codevs 1048
    AC日记——舒适的路线 codevs 1001 (并查集+乱搞)
    AC日记——导弹拦截 洛谷 P1020 (dp+模拟)
    常见模板(欧拉筛素数,最小生成树,快排,并查集,单源最短路)
    AC日记——信息传递 洛谷 P2661 (tarjan求环)
    AC日记——逃出克隆岛 (bfs)
    数字对 (长乐一中模拟赛day2T2)
    改造二叉树 (长乐一中模拟赛day2T1)
    AC日记——热浪 codevs 1557 (最短路模板题)
  • 原文地址:https://www.cnblogs.com/mushou/p/10666774.html
Copyright © 2011-2022 走看看