系统环境: rhel6 x86_64 iptables and selinux disabled

主机:

主机

网卡

软件

server21.example.com

eth0:192.168.122.121

eth0:192.168.122.122

scsi-target-utils

Server73.example.com

eth0:192.168.122.173

Iscsi-initiator-utils

device-mapper

device-mapper-multipath

可使用
DM-Multipath
提供:

•冗余

DM-Multipath
可在主动/被动配置中提供出错冗余。在主动/被动配置中,只有一半的路径在每
次 I/O 时都使用。如果
I/O
路径的任意元素(电缆、交换机或者控制器)出现故障,就会将
DM- Multipath
切换到备用路径。

•改进性能

可将
DM-Multipath
配置为主动/主动模式,其中将
I/O
以轮叫调度算法方式分布到所有路径中。
在有些配置中,DM-Multipath
可在 I/O
路径中检测负载并动态重新平衡负载。

带一个RAID设备的主动/主动多路经配置

带一个RAID设备的主动/被动多路经配置

带两个RAID设备的主动/被动多路经配置

DM-Multipath组件

1.安装软件

以下步骤在server21上实施:

[root@server21 ~]# yum install scsi-target-utils.x86_64 -y

以下步骤在server73上实施:

[root@server73
~]# yum install iscsi-initiator-utils.x86_64 -y

[root@server73
~]# yum install device-mapper device-mapper-multipath
sysstat-9.0.4-20.el6.x86_64 -y

2.配置iscsi

以下步骤在server21上实施:

添加一块虚拟硬盘(/dev/vda)

[root@server21
~]# fdisk -cu /dev/vda

划分分区,文件类型为Linux
LVM,便于拉伸.

[root@server21
~]# pvcreate /dev/vda1

[root@server21
~]# vgcreate koenvg /dev/vda1

[root@server21
~]# lvcreate -L 2G -n koenlv koenvg

[root@server21
~]# vim /etc/tgt/targets.conf

<target
iqn.2013-07.com.example:server.target1>

backing-store /dev/mapper/koenvg-koenlv

initiator-address 192.168.122.173

</target>

[root@server21
~]# /etc/init.d/tgtd start

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

出现类似如上结果说明配置成功.

以下步骤在server73上实施:

[root@server73 ~]# iscsiadm -m discovery -t st -p 192.168.122.121

[root@server73 ~]# iscsiadm -m node -T iqn.2013-07.com.example:server.target1 -p 192.168.122.121 -l

[root@server73
~]# iscsiadm -m discovery -t st -p 192.168.122.122

[root@server73
~]# iscsiadm -m node -Tiqn.2013-07.com.example:server.target1 -p
192.168.122.122 -l

执行fdisk
-l
查看若若出两块设备说明成功.

3.配置DM

以下步骤在server73上实施:

配置文件模板:

#/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf

也可以使用:“mpathconf --enable”指令生成主配置文件,并且会自动启用 multipathd.

[root@server73 ~]# vim /etc/multipath.conf

blacklist {

devnode "sda" #禁止使用/dev/sda设备(注:不同机子不同,此设备为除去iscsi登录的设备的其他设备)

}

defaults
{

user_friendly_names yes

udev_dir /dev #生成udev设备节点的目录,默认值为/dev

path_grouping_policy failover #failover为主备模式;
multibus为负载均衡模式

failback immediate #指定立即恢复到包含活跃路径的最高级别路径组群

no_path_retry fail
#这个属性的数字值指定系统在禁用队列前应该试图使用失败的路径的次数,fail值表明立即失败,无需排队

}

当将
user_friendly_names
配置设定为
yes,会将该多路径设备的名称设定为
mpathn.

当在
DM-Multipath
中添加新设备时,这些新设备会位于
/dev 目录的两个不同位置:

/dev/mapper/mpathn
和 /dev/dm-n.

•/dev/mapper
中的设备是在引导过程中生成的.可使用这些设备访问多路径设备,例如在生
成逻辑卷时.

•所有
/dev/dm-n
格式的设备都只能是作为内部使用,请不要使用它.

[root@server73
~]# /etc/init.d/multipathd start

[root@server73
~]# multipath -ll

注:可以看到sdb和sdc两条链路复合成一条链路mpatha,此为Failover(主备)情况,

当你对mpatha设备读写时,处于active状态的sdb链路有数据流,而处于enabled状态的 sdc链路无数据流;当sdb链路出现问题时,才会切换到sdc链路上.

测试:

dd往磁盘读写数据:

[root@server73 ~]# dd if=/dev/zero of=/dev/mapper/mpatha

然后用iostat观察各通道的流量和状态,以判断Failover或负载均衡 方式是否正常:

[root@server73 ~]# iostat -k 2

当断开链路sdb(ifdown eth0),等待片刻,会自动切换到链路sdc,并不会造成写入失败。

手动切换模式:(如果需要永久生效直接修改 multipath.conf,并重新 reload)

[root@server73 ~]# multipath -F # 刷新所有的多路径设备映射

[root@server73 ~]# multipath -p multibus -v0 # 切换成负载均衡模式

[root@server73 ~]# multipath -ll

如果成功你会发现它会根据轮叫方式调度链路 sda sdb,从而实现负载均衡.

当断开链路sdb(ifdown eth0),等待片刻,将只在链路sdc上有数据流,并且不会造成写入失败。

Rhel6-DM多路经存储配置文档的更多相关文章

  1. Rhel6-moosefs分布式存储配置文档

    MFS 特性: 1. Free(GPL) 2. 通用文件系统,不需要修改上层应用就可以使用 3. 可以在线扩容,体系架构可伸缩性极强. 4. 部署简单. 5. 高可用,可设置任意的文件冗余程度(提供比 ...

  2. XML文档操作集锦(C#篇)

    在JSON没流行起来的时候xml一直作为程序存储配置信息的主流介质:特别是小型数据表方面还是不错的选择,所以经常涉及到的操作无非也就是增删改查,这篇博客主要是对这些对比较常用的操作做了个简单的总结 文 ...

  3. 批量导出access某表内容到word文档

    一.需求: 需要将表中每一条记录中的某些内容导出在一个word文档中,并将这些文档保存在指定文件夹目录下 二.界面,简单设计如下: 三.添加office相关引用 添加后可在解决方案资源管理器中看到: ...

  4. Hibernate配置文档详解

    Hibernate配置文档有框架总部署文档hibernate.cfg.xml 和映射类的配置文档 ***.hbm.xml hibernate.cfg.xml(文件位置直接放在src源文件夹即可) (在 ...

  5. Rhel6-mysql_cluster配置文档

    MySQL Cluster 是一种技术,其主要功能是在无共享的相关系统中部署内存中数据库 的 Cluster .在通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求. 此外,由于每个组 ...

  6. JS魔法堂:精确判断IE的文档模式by特征嗅探

    一.前言 苦逼的前端攻城狮都深受浏览器兼容之苦,再完成每一项功能前都要左顾右盼,生怕浏览器不支持某个API,生怕原生API内含臭虫因此判断浏览器类型和版本号成了不可绕过的一道关卡,而特征嗅探是继浏览器 ...

  7. 用Java对xml文档进行遍历,更新,创建,删除

    import java.io.File;import java.io.FileInputStream; import javax.imageio.stream.FileImageInputStream ...

  8. oracle database 12c R1 安装文档

    INSTALLORACLE DATABASE 12C 完整的安装文档下载地址: http://download.csdn.net/detail/royjj/5665869 OS:ORALCE LINU ...

  9. nginx-tomcat-memcached架构文档说明(转)

    800x600 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 st1\:*{be ...

随机推荐

  1. IUS

    后端提取的sdf中可能是有negative timing 在interconnect上的,可能的原因是crosstalk之类的问题导致. negative timing在FF,clock的delay超 ...

  2. window.event对象详尽解析

    event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如,fromEleme ...

  3. linux中非root用户使用wireshark进行抓包

    开始的时候我是在终端中使用sudo 命令打开 wireshark 的,因为如果不这样的话 wireshark 就没法抓包啊.偶尔抓一次包就使用这样的方式提权. 今天使用 wireshark 的时候特意 ...

  4. POJ 2516:Minimum Cost(最小费用流)

    https://vjudge.net/problem/11079/origin 题意:有N个商店和M个供应商和K种物品,每个商店每种物品有一个需求数,每个供应商每种物品有一个供应量,供应商到商店之间的 ...

  5. php,js清除cookie

    目的通过控制cookie中的是否有莫个值实现是否跳转重定向 http方式 <?php if ($_COOKIE['test'] == 1) {  echo 'have cookie test'; ...

  6. gfortran、g77等编译器中使用多个文件

    gfortran aaaa.f90 bbbb.f90 -o cccc (生成cccc可执行文件,cccc名称可自由设定) 又可以分成两步,因为gfortran先把程序文件编译成*.o文件,再把*.o文 ...

  7. KVM虚拟机virsh常用参数

    线上虚拟机挂了,常用的命令忘了,记录下 链接:http://www.ibm.com/support/knowledgecenter/zh/linuxonibm/liabp/liabpcommonvir ...

  8. 深入浅出设计模式——桥接模式(Bridge Pattern)

    模式动机设想如果要绘制矩形.圆形.椭圆.正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色.绿色.蓝色等,此时至少有如下两种设计方案: 第一种设计方案是为每一种形状都提供一套 ...

  9. 将php网站移到CentOS 6.7上[一]:yum安装lamp环境

    最近应老师要求,将一个网站从51php上转移到学校提供的服务器上,之前对Linux没有了解,一切都在百度百度百度.于是发现很多步骤自己做过后就忘了,现将有效步骤记录下来,以供下次参考. 原51php上 ...

  10. Flex Excel下载

    最近做Flex里的Excel下载,用as3xls进行Excel导出后,Excel修改编辑后老出现:不能以当前格式保存...若要保存所做的更改,请单击“确定”,然后将其另存为最新的格式. 最后通过JAV ...