主机名 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.-.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-
</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 : iqn.-.cn.sishen.www:target_san1
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN:
Type: controller
SCSI ID: IET
SCSI SN: beaf10
Size: MB, Block size:
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- ~]# ping -c  192.168.30.130
PING 192.168.30.130 (192.168.30.130) () bytes of data.
bytes from 192.168.30.130: icmp_seq= ttl= time=0.183 ms
bytes from 192.168.30.130: icmp_seq= ttl= time=0.267 ms --- 192.168.30.130 ping statistics ---
packets transmitted, received, % packet loss, time 1000ms
rtt min/avg/max/mdev = 0.183/0.225/0.267/0.042 ms
[root@node- ~]# ping -c 192.168.17.130
PING 192.168.17.130 (192.168.17.130) () bytes of data.
bytes from 192.168.17.130: icmp_seq= ttl= time=0.350 ms
bytes from 192.168.17.130: icmp_seq= ttl= time=0.154 ms --- 192.168.17.130 ping statistics ---
packets transmitted, received, % packet loss, time 1000ms
rtt min/avg/max/mdev = 0.154/0.252/0.350/0.098 ms

配置线路1

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

配置线路2

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

客户端重启iscsi服务

[root@node- ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 : .6G rom /media/cdrom
sda : 20G disk
├─sda1 : 200M part /boot
├─sda2 : 2G part [SWAP]
└─sda3 : .8G part
└─vg_master-LogVol00 (dm-) : .8G lvm /
sdc : 5G disk
└─sdc1 : 5G part
sdb : 5G disk
└─sdb1 : 5G part

挂在数据测试

[root@node- ~]# mount /dev/sdb1 /opt/
[root@node- ~]# df -h /opt/
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 .0G 139M .6G % /opt
[root@node- ~]# ll /dev/sdb1
brw-rw---- root disk , Jun : /dev/sdb1
[root@node- ~]# ll /dev/sdc1
brw-rw---- root disk , Jun : /dev/sdc1

配置多路径实现冗余

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

配置负载均衡

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

重启服务

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

挂载测试

[root@node- ~]# mount /dev/mapper/datashare
datashare datasharep1
[root@node- ~]# mount /dev/mapper/datasharep1 /opt/
[root@node- ~]# df -h /opt/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/datasharep1 .0G 139M .6G % /opt
[root@node- ~]# cp install.log /opt/
[root@node- ~]# ll /opt/
total
-rw-r--r-- root root Jun : install.log
drwx------ root root Jun : lost+found

模拟故障测试冗余

[root@master ~]# ifdown eth1 #手动停掉eth1
Device state: (disconnected)
[root@node- ~]# multipath -ll #这里大约需要60秒来识别,所以会卡在这里,等待即可
datashare (1IET ) dm- sishen,target-
size=.0G features='1 queue_if_no_path' hwhandler='' wp=rw
`-+- policy='round-robin 0' prio= status=active
|- ::: sdb : active faulty running
`- ::: sdc : active ready running
在服务端
[root@master ~]# ifdown eth1
Device state: (disconnected)
在客户端
[root@node- ~]# multipath -ll #回车之后等待大约60秒
datashare (1IET ) dm- sishen,target-
size=.0G features='1 queue_if_no_path' hwhandler='' wp=rw
`-+- policy='round-robin 0' prio= status=active
|- ::: sdb : failed faulty running
`- ::: sdc : active ready running #这里也要等待大约60秒
测试数据写入
[root@node- ~]# cp /etc/passwd /opt/
[root@node- ~]# ll /opt/
total
-rw-r--r-- root root Jun : install.log
drwx------ root root Jun : lost+found
-rw-r--r-- root root Jun : passwd
在服务端启动eth1
[root@master ~]# ifup eth1
Active connection state: activated
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/
在客户端查看负载均衡
[root@node- ~]# multipath -ll #立刻就会显示结果
datashare (1IET ) dm- sishen,target-
size=.0G features='1 queue_if_no_path' hwhandler='' wp=rw
`-+- policy='round-robin 0' prio= status=active
|- ::: sdb : active ready running
`- ::: sdc : active ready running
#这里说明负载均衡正常

RHEL 6.5----iscsi多路径存储的更多相关文章

  1. DM 多路径存储

    DM多路径存储 系统环境:RHEL5.4 small install  selinux and iptables disabled主机规划:主机网卡软件station133eth0: 192.168. ...

  2. ISCSI多路径配置(二)

    搭建iscsi存储系统(一) (1).配置ISCSI多路径实现磁盘挂载高可用 如果存储服务器到交换机只有一条线路的时候,那么一条线路出现故障,整个就没法使用了,所以多线路可以解决这个问题,避免单点故障 ...

  3. iscsi序列二、iscsi多路径配置方式

    一.ISCSI多路径应用 如果存储服务器到交换机只有一条线路的时候,那么一条线路出线故障,整个就没法使用了,所以多线路可以解决这个问题,避免单点故障 如上图,如果SAN服务器与客户端交换机只有一条线路 ...

  4. iscsi: 多路径

    作者:吴香伟 发表于 2014/10/8 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 上图(a)给出了计算机的总线结构,SCSI磁盘挂在SCSI卡上,SCSI ...

  5. 配置iSCSI多路径

    1.添加MPIO功能,完成后打开MPIO进行配置,添加对iSCSI多路径的支持,如下图表示已经添加完成后灰色不可选,再打开 MPIO设备 标签页可以看到已安装完成的MPIO所支持的设备:

  6. photoshop:把路径存储为形状

    这个其实跟定义画笔步骤是一样的 路径存储为自定义形状 1.用路径选择工具(快捷键A),选中路径 2.菜单:编辑->定义自定形状 3.选择自定义形状工具(快捷键U),可以看到刚定义的形状 把当前形 ...

  7. 配置iSCSI部署网络存储

    iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口)是由IBM 下属的两大研发机构一一加利福尼亚AImaden和以色列Haifa研 ...

  8. iscsi 挂载网络存储及存储访问

    http://blog.sina.com.cn/s/blog_408764940101ghzi.html 一.Ess3016x设置 登陆admin 密码 888888888888 1.安装硬盘,查看硬 ...

  9. Folyd + 路径存储

    一.Folyd 算法原理 如果 AB + AC < BC 那么, BC最短路就要经过 A. 在算法进行过程中,应该是 ,B-A 有很多路径,B 代表这些路径权值之和,A-C也有很多路径,C是这些 ...

随机推荐

  1. HBase协处理器同步二级索引到Solr

    一. 背景二. 什么是HBase的协处理器三. HBase协处理器同步数据到Solr四. 添加协处理器五. 测试六. 协处理器动态加载 一. 背景 在实际生产中,HBase往往不能满足多维度分析,我们 ...

  2. [译]Flutter JSON和序列化

    [译]Flutter JSON和序列化   很难想象一个移动应用程序不需要与Web服务器通信或在某些时候容易存储结构化数据.制作网络连接的应用程序时,迟早需要消耗一些好的旧JSON. 本指南介绍了如何 ...

  3. SVN命令使用详解【转】

    本文转载自:http://blog.sina.com.cn/s/blog_963453200101eiuq.html 1.检出svn  co  http://路径(目录或文件的全路径) [本地目录全路 ...

  4. 项目中Redis分库

    Redis中有16个库 默认第0个库 配置库的设置: 不同的库  key可以重复哈 公司的多个不同分布式项目,但是只有一个redis时候,以项目方式区分不同的库 每个项目连接相同 但是库不同

  5. SET IDENTITY_INSERT 和 DBCC CHECKIDENT

    SET IDENTITY_INSERT (Transact-SQL) Allows explicit values to be inserted into the identity column of ...

  6. PHP Framework MVC Benchmark 基准测试

    身边有朋友在用yaf框架,讨论的也声音也比较多,今天没事看鸟哥的博客,看到一篇现在PHP主流的几个框架性能对比,比较有意思,给大家分享一下! Yaf是用PHP扩展的形式写的一个PHP框架,也就是以C语 ...

  7. POJ - 1236 Network of Schools(有向图的强连通分量)

    d.各学校之间有单向的网络,每个学校得到一套软件后,可以通过单向网络向周边的学校传输, 问题1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件. 问题2:至少需要添加几条传输线 ...

  8. SocketErrorCode:10022

    在编写.net的网络服务器时,我使用了裸socket来实现.在windows上,或者在linux上通过.net core来跑时都没有什么问题,但是通过mono运行调用socket.Bind()时却总是 ...

  9. java -- 虚拟机和内存

    从大方向来分:栈内存,堆内存,方法区,本地方法栈,程序计数器 java从存储数据的角度来分: 寄存器(register):最快的存储区,由编译器根据需求进行分配,不由认为控制. 堆栈(statck): ...

  10. 哈希表的C实现(三)---传说中的暴雪版

    关于哈希表C实现,写了两篇学习笔记,不过似乎网上流传最具传奇色彩的莫过于暴雪公司的魔兽文件打包管理器里的hashTable的实现了:在冲突方面的处理方面,采用线性探测再散列.在添加和查找过程中进行了三 ...