zoukankan      html  css  js  c++  java
  • RHEL 6.5----iscsi多路径存储

    主机名 IP
    master

    eth0: 192.168.30.130(NAT)

    eth1: 192.168.17.130(VMNet4)

    node-1

    eth0: 192.168.30.131(NAT)

    eth1: 192.168.17.131(VMNet4)

    安装过程省略

    master上的配置

    [root@master ~]# vim /etc/tgt/targets.conf
    <target iqn.2018-06.cn.sishen.www:target_san1>
            backing-store /dev/sdb1
            initiator-address 192.168.30.131
            initiator-address 192.168.17.131
            vendor_id sishen
            product_id target-01
    </target>
    [root@master ~]# /etc/init.d/tgtd restart 
    Stopping SCSI target daemon: initiators still connected    [FAILED]
    Starting SCSI target daemon:                               [  OK  ]
    [root@master ~]# tgt
    tgtadm         tgt-admin      tgtd           tgtimg         tgt-setup-lun
    [root@master ~]# tgt-admin --show 
    Target 1: iqn.2018-06.cn.sishen.www:target_san1
        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:
            192.168.30.131
            192.168.17.131

    在客户端测试通讯

    [root@node-1 ~]# ping -c 2 192.168.30.130
    PING 192.168.30.130 (192.168.30.130) 56(84) bytes of data.
    64 bytes from 192.168.30.130: icmp_seq=1 ttl=64 time=0.183 ms
    64 bytes from 192.168.30.130: icmp_seq=2 ttl=64 time=0.267 ms
    
    --- 192.168.30.130 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1000ms
    rtt min/avg/max/mdev = 0.183/0.225/0.267/0.042 ms
    [root@node-1 ~]# ping -c 2 192.168.17.130
    PING 192.168.17.130 (192.168.17.130) 56(84) bytes of data.
    64 bytes from 192.168.17.130: icmp_seq=1 ttl=64 time=0.350 ms
    64 bytes from 192.168.17.130: icmp_seq=2 ttl=64 time=0.154 ms
    
    --- 192.168.17.130 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1000ms
    rtt min/avg/max/mdev = 0.154/0.252/0.350/0.098 ms

    配置线路1

    [root@node-1 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.30.130:3260
    Starting iscsid:                                           [  OK  ]
    192.168.30.130:3260,1 iqn.2018-06.cn.sishen.www:target_san1
    [root@node-1 ~]# /etc/init.d/iscsi restart 
    Stopping iscsi:                                            [  OK  ]
    Starting iscsi:                                            [  OK  ]
    [root@node-1 ~]# lsblk 
    NAME                          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sr0                            11:0    1  3.6G  0 rom  /media/cdrom
    sda                             8:0    0   20G  0 disk 
    ├─sda1                          8:1    0  200M  0 part /boot
    ├─sda2                          8:2    0    2G  0 part [SWAP]
    └─sda3                          8:3    0 17.8G  0 part 
      └─vg_master-LogVol00 (dm-0) 253:0    0 17.8G  0 lvm  /
    sdb                             8:16   0    5G  0 disk 
    └─sdb1                          8:17   0    5G  0 part 

    配置线路2

    [root@node-1 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.17.130:3260
    192.168.17.130:3260,1 iqn.2018-06.cn.sishen.www:target_san1
    [root@node-1 ~]# tree /var/lib/iscsi/
    /var/lib/iscsi/
    ├── ifaces
    ├── isns
    ├── nodes
    │   └── iqn.2018-06.cn.sishen.www:target_san1
    │       ├── 192.168.17.130,3260,1
    │       │   └── default
    │       └── 192.168.30.130,3260,1
    │           └── default
    ├── send_targets
    │   ├── 192.168.17.130,3260
    │   │   ├── iqn.2018-06.cn.sishen.www:target_san1,192.168.17.130,3260,1,default -> /var/lib/iscsi/nodes/iqn.2018-06.cn.sishen.www:target_san1/192.168.17.130,3260,1
    │   │   └── st_config
    │   └── 192.168.30.130,3260
    │       ├── iqn.2018-06.cn.sishen.www:target_san1,192.168.30.130,3260,1,default -> /var/lib/iscsi/nodes/iqn.2018-06.cn.sishen.www:target_san1/192.168.30.130,3260,1
    │       └── st_config
    ├── slp
    └── static
    
    13 directories, 4 files

    客户端重启iscsi服务

    [root@node-1 ~]# lsblk 
    NAME                          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sr0                            11:0    1  3.6G  0 rom  /media/cdrom
    sda                             8:0    0   20G  0 disk 
    ├─sda1                          8:1    0  200M  0 part /boot
    ├─sda2                          8:2    0    2G  0 part [SWAP]
    └─sda3                          8:3    0 17.8G  0 part 
      └─vg_master-LogVol00 (dm-0) 253:0    0 17.8G  0 lvm  /
    sdc                             8:32   0    5G  0 disk 
    └─sdc1                          8:33   0    5G  0 part 
    sdb                             8:16   0    5G  0 disk 
    └─sdb1                          8:17   0    5G  0 part

    挂在数据测试

    [root@node-1 ~]# mount /dev/sdb1 /opt/
    [root@node-1 ~]# df -h /opt/
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sdb1       5.0G  139M  4.6G   3% /opt
    [root@node-1 ~]# ll /dev/sdb1
    brw-rw---- 1 root disk 8, 17 Jun  4 11:15 /dev/sdb1
    [root@node-1 ~]# ll /dev/sdc1
    brw-rw---- 1 root disk 8, 33 Jun  4 11:15 /dev/sdc1

    配置多路径实现冗余

    [root@node-1 ~]# yum install -y device-mapper-multipath
    [root@node-1 ~]# cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/
    [root@node-1 ~]# /etc/init.d/multipathd restart 
    ux_socket_connect: No such file or directory
    Stopping multipathd daemon:                                [FAILED]
    Starting multipathd daemon:                                [  OK  ]
    [root@node-1 ~]# multipath -ll  #没有反应,卸载/opt/下面的挂载重启multipath服务
    [root@node-1 ~]# umount /opt/
    [root@node-1 ~]# /etc/init.d/multipathd restart 
    ok
    Stopping multipathd daemon:                                [  OK  ]
    Starting multipathd daemon:                                [  OK  ]
    [root@node-1 ~]# multipath -ll
    mpatha (1IET     00010001) dm-1 sishen,target-01
    size=5.0G features='0' hwhandler='0' wp=rw
    |-+- policy='round-robin 0' prio=1 status=active
    | `- 9:0:0:1  sdc 8:32 active ready running
    `-+- policy='round-robin 0' prio=1 status=enabled
      `- 10:0:0:1 sdb 8:16 active ready running
    [root@node-1 ~]# df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    /dev/mapper/vg_master-LogVol00   18G  4.1G   13G  25% /
    tmpfs                           2.0G   72K  2.0G   1% /dev/shm
    /dev/sda1                       194M   35M  150M  19% /boot
    /dev/sr0                        3.6G  3.6G     0 100% /media/cdrom
    /dev/mapper/mpathap1            5.0G  139M  4.6G   3% /opt
    [root@node-1 ~]# ll /dev/mapper/mpatha*
    lrwxrwxrwx 1 root root 7 Jun  4 11:20 /dev/mapper/mpatha -> ../dm-1
    lrwxrwxrwx 1 root root 7 Jun  4 11:20 /dev/mapper/mpathap1 -> ../dm-2

    配置负载均衡

    [root@node-1 ~]# multipath -ll
    mpatha (1IET     00010001) dm-1 sishen,target-01 #远程存储设备的产品信息 dm-0 xuegod #厂商,target1 #产品ID
    size=5.0G features='0' hwhandler='0' wp=rw
    |-+- policy='round-robin 0' prio=1 status=active
    | `- 9:0:0:1  sdc 8:32 active ready running
    `-+- policy='round-robin 0' prio=1 status=enabled
      `- 10:0:0:1 sdb 8:16 active ready running
    [root@node-1 ~]# cp /etc/multipath.conf{,.bak}
    [root@node-1 ~]# vim /etc/multipath.conf 
    ## Use user friendly names, instead of using WWIDs as names. #注释掉以下三行
    #defaults { 
    #       user_friendly_names yes
    #}
    62 multipaths {
     63         multipath {
     64                 wwid                   "1IET     00010001" #
     65                 alias                   data-back
     66                 path_grouping_policy    multibus
     67                 path_checker            readsector0
     68                 path_selector           "round-robin 0"
     69                 failback                manual
     70                 rr_weight               priorities
     71                 no_path_retry           5
     72         }
     73 }     
    [root@node-1 ~]# /etc/init.d/multipathd restart 
    ok
    Stopping multipathd daemon:                                [  OK  ]
    Starting multipathd daemon:                                [  OK  ]
    [root@node-1 ~]# /etc/init.d/iscsi restart 
    Stopping iscsi:                                            [  OK  ]
    Starting iscsi:                                            [  OK  ]
    [root@node-1 ~]# multipath -ll
    Jun 04 11:30:32 | multipath.conf line 67, invalid keyword: path_checker
    data-back (1IET     00010001) dm-1 sishen,target-01
    size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
    `-+- policy='round-robin 0' prio=1 status=active
      |- 12:0:0:1 sdb 8:16 active ready running
      `- 11:0:0:1 sdc 8:32 active ready running
    [root@node-1 ~]# vim /etc/multipath.conf
     24 ## Use user friendly names, instead of using WWIDs as names.25 #defaults {
     26 #       user_friendly_names yes
     27 #}
    #在62行修改或添加如下内容
     62 multipaths {
     63         multipath {
     64                 wwid                   "1IET     00010001"
     65                 alias                   data-back
     66                 path_grouping_policy    multibus
     67                 path_selector           "round-robin 0"
     68                 failback                manual
     69                 rr_weight               priorities
     70                 no_path_retry           5
     71         }
     72 }

    重启服务

    [root@node-1 ~]# /etc/init.d/multipathd restart 
    ok
    Stopping multipathd daemon:                                [  OK  ]
    Starting multipathd daemon:                                [  OK  ]
    [root@node-1 ~]# /etc/init.d/iscsi restart 
    Stopping iscsi:                                            [  OK  ]
    Starting iscsi:                                            [  OK  ]
    [root@node-1 ~]# multipath -ll 
    datashare (1IET     00010001) dm-1 sishen,target-01
    size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
    `-+- policy='round-robin 0' prio=1 status=active
      |- 6:0:0:1 sdb 8:16 active ready running
      `- 5:0:0:1 sdc 8:32 active ready running
    [root@node-1 ~]# ll /dev/mapper/datashare*
    lrwxrwxrwx 1 root root 7 Jun  4 13:02 /dev/mapper/datashare -> ../dm-1
    lrwxrwxrwx 1 root root 7 Jun  4 13:02 /dev/mapper/datasharep1 -> ../dm-2

    挂载测试

    [root@node-1 ~]# mount /dev/mapper/datashare
    datashare    datasharep1  
    [root@node-1 ~]# mount /dev/mapper/datasharep1 /opt/
    [root@node-1 ~]# df -h /opt/
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/datasharep1  5.0G  139M  4.6G   3% /opt
    [root@node-1 ~]# cp install.log /opt/
    [root@node-1 ~]# ll /opt/
    total 80
    -rw-r--r-- 1 root root 61802 Jun  4 13:05 install.log
    drwx------ 2 root root 16384 Jun  4 12:37 lost+found

    模拟故障测试冗余

    [root@master ~]# ifdown eth1 #手动停掉eth1
    Device state: 3 (disconnected)
    [root@node-1 ~]# multipath -ll #这里大约需要60秒来识别,所以会卡在这里,等待即可
    datashare (1IET     00010001) dm-1 sishen,target-01
    size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
    `-+- policy='round-robin 0' prio=1 status=active
      |- 6:0:0:1 sdb 8:16 active faulty running
      `- 5:0:0:1 sdc 8:32 active ready  running
    在服务端
    [root@master ~]# ifdown eth1
    Device state: 3 (disconnected)
    在客户端
    [root@node-1 ~]# multipath -ll   #回车之后等待大约60秒
    datashare (1IET     00010001) dm-1 sishen,target-01
    size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
    `-+- policy='round-robin 0' prio=1 status=active
      |- 6:0:0:1 sdb 8:16 failed faulty running
      `- 5:0:0:1 sdc 8:32 active ready  running   #这里也要等待大约60秒
    测试数据写入
    [root@node-1 ~]# cp /etc/passwd /opt/
    [root@node-1 ~]# ll /opt/
    total 84
    -rw-r--r-- 1 root root 61802 Jun  4 13:05 install.log
    drwx------ 2 root root 16384 Jun  4 12:37 lost+found
    -rw-r--r-- 1 root root  1779 Jun  4 13:16 passwd
    在服务端启动eth1
    [root@master ~]# ifup eth1
    Active connection state: activated
    Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/2
    在客户端查看负载均衡
    [root@node-1 ~]# multipath -ll  #立刻就会显示结果
    datashare (1IET     00010001) dm-1 sishen,target-01
    size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
    `-+- policy='round-robin 0' prio=1 status=active
      |- 6:0:0:1 sdb 8:16 active ready running
      `- 5:0:0:1 sdc 8:32 active ready running
    #这里说明负载均衡正常
  • 相关阅读:
    (2015年郑州轻工业学院ACM校赛题) B迷宫
    (2015年郑州轻工业学院ACM校赛题) A 彩票
    POJ 1861 Network
    动态逆序对
    K大数查询
    Dynamic Rankings
    Cleaning
    Boxes
    P3601 签到题
    How many integers can you find
  • 原文地址:https://www.cnblogs.com/zd520pyx1314/p/9132829.html
Copyright © 2011-2022 走看看