HA集群之五:

1、drbd工作模型:

   primary/secondary

        primary:可挂载、可读写

        secondary:不可挂载

    primary/primary

        必要条件:HA环境,使用Cluster FS(集群文件系统)

2、pacemaker+drbd:

    primary/secondary:将drbd定义成master/slave类型的资源:能自动完成primary/secondary角色切换,还能够通过在pacemaker中定义Filsystem,从而完成drbd自动挂载;

    primary/primary:

借助于dlm完成分布式锁管理,将dlm定义clone类型资源,从而使得多个节点都能够使用此资源

3、scsi & iscsi

存储类型:

    DAS:Direct Attached Storage 直接附加存储,块设备

                                pci bridge 北桥|主桥 CPU MEMORY

                                isa bridge 南桥 慢速总线

                                     并行:可以ide,scsi 一条线可以连多个设备,需要控制报文

                                     串行:sas,sata,usb,esata

    NAS:Network Attached Storage  网络附加存储;文件服务协议实现实现文件服务器;NFS,CIFS  

    SAN:Storage Area Network   存储区域网络;块设备

         

SCSI: Small Computer System Interface 小型计算机系统接口

并行I/O接口规范:I/O通道,传输协议

协议分层:

应用层

传输层

物理层

注意:物理层可替换为其它的传输介质,而非必须使用SCSI线缆:FC, Ethernet,IB


iSCSI:iSCSI:Internet Small Computer System Interface 因特网小型计算机系统接口 

  Internet 小型计算机系统接口(iSCSI)是一种基于 TCP/IP的协议,用来建立和管理IP 存储设备、主机和客户机等之间的相互连接,并创建存储区域网络SAN)。

SAN使得 SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。

  SCSI 结构基于客户/服务器模式,其通常应用环境是:设备互相靠近,并且这些设备由SCSI 总线连接。

iSCSI 的主要功能:在 TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。此外,iSCSI提供了在IP网络封装SCSI命令,且运行在 TCP 上。

  如今我们所涉及的 SAN (Storage Area Network),其实现数据通信的主要要求是:

1. 数据存储系统的合并;2. 数据备份;3. 服务器群集;4.复制;5. 紧急情况下的数据恢复

另外,SAN 可能分布在不同地理位置的多个 LANs 和 WANs 中。必须确保所有 SAN 操作安全进行并符合服务质量(QoS)要求,而 iSCSI 则被设计来在 TCP/IP网络上实现以上这些要求。

  iSCSI(Internet SCSI)是2003年IETF(InternetEngineering Task Force,互联网工程任务组)制订的一项准,用于将SCSI数据块映射成以太网数据包。SCSI(Small Computer System Interface)是块数据传输协议,在存储行业广泛应用,是存储设备最基本的标准协议。

从根本上说,iSCSI协议是一种利用IP网络来传输潜伏时间短的SCSI数据块的方法,ISCSI使用以太网协议传送SCSI命令、响应和数据。ISCSI可以用我们已经熟悉和每天都在使用的以太网来构建IP存储局域网。通过这种方法,ISCSI克服了直接连接存储的局限性,使我们可以跨不同服务器共享存储资源,并可以在不停机状态下扩充存储容量。

  bcm5722
ISCSI网卡

      iSCSI的最大好处是能提供快速的网络环境,虽然目前其性能和带宽光纤网络还有一些差距,但能节省企业约30-40%的成本。iSCSI技术优点和成本优势的主要体现包括以下几个方面:

  硬件成本低:构建iSCSI存储网络,除了存储设备外,交换机、线缆、接口卡都是标准的以太网配件,价格相对来说比较低廉。同时,iSCSI还可以在现有的网络上直接安装,并不需要更改企业的网络体系,这样可以最大程度地节约投入。

  操作简单,维护方便:对iSCSI存储网络的管理,实际上就是对以太网设备的管理,只需花费少量的资金去培训iSCSI存储网络管理员。当iSCSI存储网络出现故障时,问题定位及解决也会因为以太网的普及而变得容易。

  扩充性强:对于已经构建的iSCSI存储网络来说,增加iSCSI存储设备和服务器都将变得简单且无需改变网络的体系结构。

    带宽和性能:iSCSI存储网络的访问带宽依赖以太网带宽。随着千兆以太网的普及和万兆以太网的应用,iSCSI存储网络会达到甚至超过FC(FiberChannel,光纤通道)存储网络的带宽和性能。突破距离限制:iSCSI存储网络使用的是以太网,因而在服务器和存储设备的空间布局上的限制就会少了很多,甚至可以跨越地区和国家。


SAN: 利用现有的成熟网络技术承载存储协议SCSI的相关报文

fc --> fc

fc --> fcoe --> cee

fc --> fcip --> tcp --> ip --> Ethernet

iSCSI --> tcp --> ip --> Ethernet

SRP/iSER --> IB

iSCSI:

    监听端口: 3260/tcp

    SAN的类型:FC SAN, 

    iSCSI: IP SAN

SCSI设备:

    initiator:HBA  客户端,主机适配器

    target: target id, tid通信目标

        lun: logical unit, lun 逻辑单元号码

iSCSI Storage:

     target端:Linux主机:

 iSCSI Target

 iSCSI LUN

     initiator:


案例:实践ISCSI

Target:

   认证:基于ip认证

   CHAP:挑战握手认证协议

   程序包:scsi-target-utils

   管理工具:

       tgtadm:全功能的命令行配置工具:其配置结果在OS重启后失效

       tgt-admin:通过读取配置文件/etc/tgt/targets.conf进行配置

   启动服务后,模拟的是SCSI总线:

       管理多个target

       每个target上,可管理多个lun(32个)

Initiator:

   程序包:iscsi-initiator-utils

        iscsi

        iscsid

target和initiator都需要基于iqn来进行标识:

   iqn:iscsi qualified name

      格式:iqn.YEAR-MONTH.tld.domain:string[.substring]

            例如:iqn.2015-10.com.magedu:i1.c2

                      年  月  反向域名  机柜号 哪台机器        


1、配置iscsi target 

    1)准备磁盘设备

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

    3)创建target

    4)创建lun

    5)授权


tgtadm命令:

模式化的工具:

   target:管理target

   logicalunit:管理lun

   account:管理用户帐号

管理操作:

   show:查看

   new:新建

   delete:s删除

   update:修改

   bind:绑定,即实现授权,通过将ip或帐号与target绑定进行

   unbind:解除授权

常用选项:

   --lld,-L <driver> 指明驱动,此处均为iscsi

   --mode,-m <mode> 

   --op,-o <operation>

   --tid,-t <TID>

   --lun,-l <LUN>

   --backing-store,-b <PATH>

   --initiator-address,-i <IP or NET>

   --targetname,-T <iqn.NAME>


实验环境:

OS:CentOS6.5-x86_64

node1:192.168.100.10 target 

BAIYU_179:192.168.100.179

BAIYU_180:192.168.100.180


1)准备磁盘

在虚拟机上添加2块硬盘

[root@node1 ~]# fdisk -l|grep '/dev/sd'
Disk /dev/sda: 53.7 GB, 53687091200 bytes
/dev/sda1   *           1         131     1048576   83  Linux
/dev/sda2             131        6528    51379200   8e  Linux LVM
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
Disk /dev/sdc: 21.5 GB, 21474836480 bytes

2)安装软件包并启动服务

[root@node1 ~]# yum list|grep scsi
scsi-target-utils.i686                   1.0.24-2.el6                  @c6-media
iscsi-initiator-utils.i686               6.2.0.873-2.el6               c6-media 
iscsi-initiator-utils-devel.i686         6.2.0.873-2.el6               c6-media 
lsscsi.i686                              0.23-2.el6                    c6-media 
[root@node1 ~]# yum install scsi-target-utils -y
[root@node1 ~]# rpm -ql scsi-target-utils
/etc/rc.d/init.d/tgtd
/etc/sysconfig/tgtd
/etc/tgt/targets.conf
/usr/sbin/tgt-admin
/usr/sbin/tgt-setup-lun
/usr/sbin/tgtadm
/usr/sbin/tgtd
/usr/sbin/tgtimg
/usr/share/doc/scsi-target-utils-1.0.24
/usr/share/doc/scsi-target-utils-1.0.24/README
/usr/share/doc/scsi-target-utils-1.0.24/README.iscsi
/usr/share/doc/scsi-target-utils-1.0.24/README.iser
/usr/share/doc/scsi-target-utils-1.0.24/README.lu_configuration
/usr/share/doc/scsi-target-utils-1.0.24/README.mmc
/usr/share/man/man5/targets.conf.5.gz
/usr/share/man/man8/tgt-admin.8.gz
/usr/share/man/man8/tgt-setup-lun.8.gz
/usr/share/man/man8/tgtadm.8.gz
[root@node1 ~]# service tgtd start
Starting SCSI target daemon:                               [  OK  ]

 3)创建target

[root@node1 ~]# tgtadm --lld iscsi --mode target --op show 
[root@node1 ~]# tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2015-10.com.magedu:s1.t1
[root@node1 ~]# tgtadm --lld iscsi --mode target --op show                     
 Target 1: iqn.2015-10.com.magedu:s1.t1
    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: 
    Account information:
    ACL information:

 4)创建lun

[root@node1 ~]# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /dev/sdb
[root@node1 ~]# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 2 --backing-store /dev/sdc
[root@node1 ~]# tgtadm --lld iscsi --mode target --op show                      
Target 1: iqn.2015-10.com.magedu:s1.t1
    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: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 21475 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
            Backing store flags: 
        LUN: 2
            Type: disk
            SCSI ID: IET     00010002
            SCSI SN: beaf12
            Size: 21475 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdc
            Backing store flags: 
    Account information:
    ACL information:

5)授权

一般使用IP授权,不使用帐号授权,挑战握手认证要双向认证,一些initiator工具不支持

[root@node1 ~]# tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address 192.168.100.0/24  
[root@node1 ~]# tgtadm --lld iscsi --mode target --op show                      Target 1: iqn.2015-10.com.magedu:s1.t1
    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: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 21475 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
            Backing store flags: 
        LUN: 2
            Type: disk
            SCSI ID: IET     00010002
            SCSI SN: beaf12
            Size: 21475 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdc
            Backing store flags: 
    Account information:
    ACL information:
        192.168.100.0/24
[root@node1 ~]#

2、配置iscsi initiator

1)安装程序包,配置inittiator的名字,并启动服务

   配置initiator的iqn格式的名字:/etc/iscsi/initiatorname.iscsi

   [service iscsi start]

   [service iscsid start]

2)使用iscsiadm实现target的发现,注册等

    发现模式:discovery

              iscsiadm -m discovery [-d #] -t TYPE -p IP:PORT 

              type:sendtargets,可简写为st

    节点模式:node

             iscsiadm -m node [ -d debug_level ] [[ -T targetname -p ip:port -I ifaceN ] [ -l|-u|-R|-s ]] [[ -o operateion ] [ -n name ] [ -v value ]]

[root@node1 ~]# yum -y install iscsi-initiator-utils
[root@node1 ~]# rpm -ql iscsi-initiator-utils       
/etc/NetworkManager
/etc/NetworkManager/dispatcher.d
/etc/NetworkManager/dispatcher.d/04-iscsi
/etc/iscsi
/etc/iscsi/iscsid.conf
/etc/logrotate.d/iscsiuiolog
/etc/rc.d/init.d/iscsi
/etc/rc.d/init.d/iscsid
/sbin/brcm_iscsiuio
/sbin/iscsi-iname
/sbin/iscsiadm
/sbin/iscsid
/sbin/iscsistart
/sbin/iscsiuio
/usr/lib/libiscsi.so.0
/usr/lib/python2.6/site-packages/libiscsimodule.so
/usr/share/doc/iscsi-initiator-utils-6.2.0.873
/usr/share/doc/iscsi-initiator-utils-6.2.0.873/README
/usr/share/man/man8/iscsi-iname.8.gz
/usr/share/man/man8/iscsiadm.8.gz
/usr/share/man/man8/iscsid.8.gz
/usr/share/man/man8/iscsistart.8.gz
/usr/share/man/man8/iscsiuio.8.gz
/var/lib/iscsi
/var/lib/iscsi/ifaces
/var/lib/iscsi/isns
/var/lib/iscsi/nodes
/var/lib/iscsi/send_targets
/var/lib/iscsi/slp
/var/lib/iscsi/static
/var/lock/iscsi
[root@BAIYU_179 ~]# iscsiadm -m discovery -t st -p 192.168.100.10      
192.168.100.10:3260,1 iqn.2015-10.com.magedu:s1.t1
[root@BAIYU_179 ~]# iscsiadm -m node -T iqn.2015-10.com.magedu:s1.t1 -p 192.168
.100.10 -l
Logging in to [iface: default, target: iqn.2015-10.com.magedu:s1.t1, portal: 192.168.100.10,3260] (multiple)
Login to [iface: default, target: iqn.2015-10.com.magedu:s1.t1, portal: 192.168.100.10,3260] successful.
[root@BAIYU_179 192.168.100.10,3260]# fdisk -l|grep /dev/
Disk /dev/sda: 42.9 GB, 42949672960 bytes
/dev/sda1   *           1          66      524288   83  Linux
/dev/sda2              66        1371    10485760   83  Linux
/dev/sda3            1371        2677    10485760   83  Linux
/dev/sda4            2677        5222    20446208    5  Extended
/dev/sda5            2677        3982    10485760   83  Linux
/dev/sda6            3983        4244     2097152   82  Linux swap / Solaris
/dev/sda7            3982        3982         743+  83  Linux
/dev/sda8            4244        4375     1059340   83  Linux
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
Disk /dev/sdc: 21.5 GB, 21474836480 bytes
[root@BAIYU_179 192.168.100.10,3260]# iscsiadm -m node -p 192.168.100.10:3
260 -u
Logging out of session [sid: 4, target: iqn.2015-10.com.magedu:s1.t1, portal: 192.168.100.10,3260]
Logout of [sid: 4, target: iqn.2015-10.com.magedu:s1.t1, portal: 192.168.100.10,3260] successful.
[root@BAIYU_179 192.168.100.10,3260]# fdisk -l|grep /dev/                      
Disk /dev/sda: 42.9 GB, 42949672960 bytes
/dev/sda1   *           1          66      524288   83  Linux
/dev/sda2              66        1371    10485760   83  Linux
/dev/sda3            1371        2677    10485760   83  Linux
/dev/sda4            2677        5222    20446208    5  Extended
/dev/sda5            2677        3982    10485760   83  Linux
/dev/sda6            3983        4244     2097152   82  Linux swap / Solaris
/dev/sda7            3982        3982         743+  83  Linux
/dev/sda8            4244        4375     1059340   83  Linux


配置target的第二种方法:

 编辑/etc/tgt/targets.conf

<target iqn.2015-10.com.anyfish:s2.t1>

    backing-store /dev/sdb

    backing-store /dev/sdc

    initiator-address 192.168.100.0/24

</target>

重启tgtd服务后生效


开源存储管理工具:

Openfiler,FreeNAS,Nextnta

你可能感兴趣的:(iSCSI)