系统环境: 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. jquery file upload 文件上传插件

    1. jquery file upload 下载 jquery file upload Demo 地址:https://blueimp.github.io/jQuery-File-Upload/ jq ...

  2. Linux基础命令介绍七:网络传输与安全 wget curl rsync iptables

    本篇接着介绍网络相关命令:wget 文件下载工具.curl 网络数据传输工具.rsync 文件传输工具等. 本篇接着介绍网络相关命令 1.wget 文件下载工具 wget [option]... [U ...

  3. wex5 教程之 图文讲解 Cloudx5一键部署

    视频教程地址:http://v.youku.com/v_show/id_XMTc3OTExNTUwNA==.html 效果预览: 一键部署cloudx5三要领 1.数据源命名为x5 2.数据库命名为x ...

  4. Css Study - 横向MENU

    http://cssmenumaker.com/menu/tabbed-chrome-and-blue HTML <div id="topMenu"> <ul&g ...

  5. Dynamics AX 2012 R2 RemoteApp导出项目报错

        今天,Reinhard使用RemoteApp的方式登陆AX开发环境,对项目文件进行修改后,习惯性地将项目导出到Reinhard的电脑上,做个备份.但是导出时弹出错误提示框,报以下错误:     ...

  6. php Windows系统 wamp集成环境下redis的使用

    先说一下我的本地环境,使用的是wamp集成环境,(Apache 2.4.9.PHP 5.5.12.MySQL 5.6.17) windows下安装PHP扩展: 第一步:找到扩展文件(.dll),htt ...

  7. mysql已有数据字符集转换

    下面模拟把latin1字符集的数据转换为utf8字符集 一.创建测试表和测试数据: 1.修改会话级别的连接字符集 mysql > set names latin1; 查看一下: 2.创建测试表: ...

  8. Spring中@Controller和@RestController之间的区别

    1. Controller, RestController的共同点 都是用来表示Spring某个类的是否可以接收HTTP请求 2.  Controller, RestController的不同点 @C ...

  9. Linux crontab 命令详解

    在 Linux 中,任务可以被配置在指定的时间段.指定的日期.或系统平均载量低于指定的数量时自动运行.红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新.譬如,被 locat ...

  10. 我的android学习经历35

    这几天又把android的基础知识全部复习了一遍,没有第一次那么难,感觉简单了好多,也发现了许多细节问题,发现了自己在网络编程方面的不足. 下面列举一些小的细节问题: 1.String,StringB ...