主机名 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. Codeforces Round #346 (Div. 2) E. New Reform

    E. New Reform time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  2. vim使用手册出现 找到 tag:1/9或更多 查看别的定义的方法

    :ts 或 tselect 查看有相同地方的定义 通过这种方式会出现一个列表,输入:q 然后通过数字键和回车查看某一个定义,个人经常用:ts :tn或tnext 查找下一个定义地方. :tp 查找上一 ...

  3. TTL以及LVDS接口传输【转】

    本文转载自:http://blog.csdn.net/jscese/article/details/16860833 TTL接口:属于并行方式传输数据的接口,采用这种接口时,不必在液晶显示器的驱动板端 ...

  4. linux初级学习笔记五:bash特性详解!(视频序号:03_2,3)

    本节学习的命令:history,alias,ualias,\CMD 本节学习的技能:   bash的特性 光标跳转 查看命令历史 命令历史的使用技巧 给命令起别名 命令替换 文件名通配符 shell: ...

  5. asp+jQuery解决中文乱码

    1. [代码][ASP/Basic]代码 '在客户端使用javascript的escape()方法对数据进行编码,在服务器端使用对等的VbsUnEscape()对数据进行解码,同样在服务器端使用Vbs ...

  6. 关于O_DIRECT的那些事儿

    很久之前落下的坑,一直没怎么记录-.- 一般地,如果在Linux内核中读写一个文件,其IO流程都需要经过Kernel内的page cache层次,如果程序员若想要使用自己开发的缓存系统,那么就可以在打 ...

  7. dba操作之archivelog清理

    下面的命令用于校验归档日志的有效性,列出无效的归档日志,以及以何种方式清除归档日志,列出几种常用的: crosscheck archivelog all;                        ...

  8. java中的泛型类和泛型方法

    1.泛型是什么? 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类. 可以在集合框架(Collection fram ...

  9. Runtime.getRuntime().addShutdownHook(Thread)

    Runtime.getRuntime().addShutdownHook(Thread)为虚拟机添加关闭时添加钩子线程

  10. nodejs supvisor模块

    在测试nodejs程序的时候,每次都需要在控制台编译,非常的麻烦.supervisor是一款无需重复手动编译,自动后台监听文件变化来自动编译,并且不需要在项目内require,使用非常的方便. 使用方 ...