CentOS6.x操作系统自带的 DM Multipath(DMMP)多路径软件配置说明。
CentOS系统下的多路径软件是操作系统自带的 DM Multipath(DMMP)工具。
------------------------------------------------------------------------------------------------------------------
DM-Multipath 组件介绍:
dm-multipath: 内核模块 为路径和路径组群重新指定 I/O 并支持出错冗余。
mpathconf: 程序 配置并启用设备映射器多路径
multipath: 命令 列出并配置 multipath 设备。通常使用 /etc/rc.sysinit 启动,还可以在添加块设备时使用 udev 程序启动。
multipathd: 守护进程 监视器路径,如果路径故障并返回,它可能会启动路径组群切换。可为多路径设备提供互动修改。
对 /etc/multipath.conf 文件的任何修改都必须启动它。
kpartx: 命令 为设备中的分区生成设备映射器设备。这个命令对带 DM-MP 的 DOS 分区
是很必要的。kpartx 在其自身软件包中就存在,但 devicemapper-multipath 软件包要依赖它。
-------------------------------------------------------------------------------------------------------------------
一、首先检查系统是否已安装了 DMMP 软件包,如果没有从系统安装光盘上找到并且安装相应软件包。
[root@pipci ~]# rpm -qa | grep device-mapper-multipath
[root@pipci ~]# #没有返回值说明没有安装
二、安装 device-mapper-multipath
1、通过yum源安装,如果操作系统可以连接外网通过网络yum源最方便,如果不能连外网,可以通过DVD光驱挂载系统iso镜像文件实现本地yum源安装,
挂载DVD源的方法CentOS源的文章已经介绍这里不再介绍了。
[root@pipci ~]# yum search device-mapper-multipath #搜索软件包
device-mapper-multipath-libs.x86_64 : The device-mapper-multipath modules and shared
device-mapper-multipath.x86_64 : Tools to manage multipath devices using device-mapper
[root@pipci ~]# yum install device-mapper-multipath.x86_64 #安装软件包
安装device-mapper-multipath.x86_64软件包,会依赖device-mapper-multipath-libs.x86_64库软件包
这两个软件包会一起安装上。
2、通过rpm包直接安装。我们可以在系统iso镜像中Packages目录下找到对应的安装包,分别是下面两个
device-mapper-multipath-0.4.9-100.el6.x86_64.rpm #主软件包
device-mapper-multipath-libs-0.4.9-100.el6.x86_64.rpm #主软件包赖的库软件包
将上面两个软件包复制到/opt目录下进行安装
[root@pipci opt]# rpm -ivh device-mapper-multipath-libs-0.4.9-100.el6.x86_64.rpm
[root@pipci opt]# rpm -ivh device-mapper-multipath-0.4.9-100.el6.x86_64.rpm
3、查看软件是否安装成功
[root@pipci opt]# rpm -qa | grep device-mapper-multipath
device-mapper-multipath-0.4.9-100.el6.x86_64
device-mapper-multipath-libs-0.4.9-100.el6.x86_64
显示上面两个软件说明已经安装成功
三、设置 DMMP 服务在每次系统启劢时自动开启。
[root@pipci ~]# chkconfig multipathd on #在运行级别2、3、4、5上设置为自动运行
[root@pipci ~]# chkconfig --list multipathd #检查ntp服务是否开机启动
multipathd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
四、DMMP 需要建立一个配置文件/etc/multipath.conf,默认情况下是没有的,创建的方法有两种。
1、通过命令创建
[root@pipci ~]# mpathconf --enable
这种方法CentOS6.x版本可以5.x应该不可以
2、可以将模板配置文件复制到/etc 目录下,模板配置文件/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
[root@pipci ~]#cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc
这种方法比较通用。
五、修改配置文件/etc/multipath.conf添加下面的内容
defaults {
user_friendly_names yes #如果是集群环境yes最好改成no,下面有解释。
find_multipaths yes
path_grouping_policy multibus
}
如果您在启动 multipath 守护进程后发现需要编辑 multipath 配置文件,则必须执行
service multipathd reload 命令方可使更改生效。
六、启劢 multipathd 服务,守护进程。
[root@pipci ~]# service multipathd start
正在启动守护进程multipathd: [确定]
七、检查 DMMP 模块是否正常加载
[root@pipci ~]# lsmod |grep dm_multipath
dm_multipath 17916 1 dm_round_robin
dm_mod 102467 3 dm_multipath,dm_mirror,dm_log
八、安装配置成功后,可以查看到 DMMP 管理了一个名称为 mpathn 的多路径设备,此设备包含有两个 路径。
[root@pipci ~]#multipath -ll #user_friendly_names yes(别名设置)
mpathc (36505dac1002fc54b0bfca55c00000011) dm-0 HUAWEI,XSG1
size=2.0T features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 1:0:0:7 sdh 8:112 active ready running
`- 2:0:0:7 sdp 8:240 active ready running
mpathb (36505dac1002fc54b0bfc0b9c0000000d) dm-1 HUAWEI,XSG1
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 1:0:0:3 sdd 8:48 active ready running
`- 2:0:0:3 sdl 8:176 active ready running
[root@pipci ~]#multipath -ll #user_friendly_names no(未别名设置)
36505dac1002fc54b0bfc0b500000000b dm-0 HUAWEI,XSG1
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 1:0:0:1 sdb 8:16 active ready running
`- 2:0:0:1 sdj 8:144 active ready running
36505dac1002fc54b0bfca5190000000f dm-1 HUAWEI,XSG1
size=2.0T features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 1:0:0:5 sdf 8:80 active ready running
`- 2:0:0:5 sdn 8:208 active ready running
九、使用 fdisk 查看硬盘会多出存储设备/dev/mapper/36505dac1002fc54b0bfca4f10000000e (没用别名),这个是多路径软件生成的设备,在分区或其他针对硬盘的操作时请 使用这个设备,不要使用/dev/sdb 和/dev/sdc等设备,除非是服务器本地磁盘。
[root@pipci ~]#fdisk -l
Disk /dev/sdb: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/36505dac1002fc54b0bfca4f10000000e: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
十、对修改配置文件multipath.conf添加下面的内容说明
-----------------------------------------------------------------------------------------
1、user_friendly_names yes
每个多路径设备都有一个全球识别符(WWID),它是一个全球唯一的无法更改的号码。默认情况下会将
多路径设备的名称设定为它的 WWID。另外,您还可以在多路径配置文件中设置
user_friendly_names 选项,该选项可将别名设为格式为 mpathn 的节点唯一名称
当在 DM-Multipath中添加新设备时,这些新设备会位于 /dev 目录的两个不同位
置:/dev/mapper/mpathn 和 /dev/dm-n。
/dev/mapper 中的设备是在引导过程中生成的。可使用这些设备访问多路径设备,例如在生成
逻辑卷时。
所有 /dev/dm-n 格式的设备都只能是作为内部使用,请不要使用它们。
*在集群中保持多路径设备名称一致(重点)
当将 user_friendly_names 配置选项设为 yes 时,该多路径设备的名称对于节点来说是唯一的,但不
保证对使用多路径设备的所有节点都一致。同样,如果您为 multipath.conf 配置文件的 multipaths
部分中的设备设定 alias 选项,该名称不会自动在集群的所有节点中保持一致。如果您使用 LVM 在多路
径设备中创建逻辑设备,这不应是问题。但如果您需要将您的多路径设备名称在集群中的每个节点上都保
持一致,请不要将 user_friendly_names 选项设定为 yes,且不要为那些设备配置别名。默认情况
下,如果您不将 user_friendly_names 设定为 yes,或者为某个设备配置别名,则设备名称将是该设
备的 WWID,它是不会变的。
如果您要系统定义的用户友好名称在集群的所有节点中都一致,您可按照以下步骤操作:
1. 在一台机器中设定所有多路径设备。
2. 运行以下命令在其他机器中禁用所有 multipath 设备:
# service multipathd stop
# multipath -F
3. 将第一台机器中的 /etc/multipath/bindings 文件复制到集群中的其它所有机器中。
4. 使用以下命令在集群的其他机器中重新 multipathd 守护进程:
设备映射多路径
# service mutipathd start
如果您添加新设备,您将需要重复这个过程。
同样,如果您为某个设备配置别名以便在集群的节点中使其保持一致,您应确定
/etc/multipath.conf 文件对于集群中的每个节点都是一样的,步骤如下:
1. 为机器 multipath.conf 文件中的多路基功能设备配置别名。
2. 运行以下命令在其他机器中禁用所有 multipath 设备:
# service multipathd stop
# multipath -F
3. 将第一台机器中的 /etc/multipath.conf 文件复制到集群中的其它所有机器中。
4. 使用以下命令在集群的其他机器中重新 multipathd 守护进程:
# service mutipathd start
当您添加新设备时,您将需要重复这个过程。
-----------------------------------------------------------------------------------------------
2、find_multipaths yes
在旧版CentOS(5版本以下,包括5) Linux 中,multipath 总是尝试为每个没有明确放入黑名单的路
径创建 multipath 设备。但在CentOS Linux 6 中,如果将 find_multipaths 配置参数设定
为 yes,默认为no,那么 multipath 将只在满足以下三个条件之一时创建设备:
1、至少有两个没有列入黑名单的路径使用同一 WWID。
2、用户使用 multipath 命令指定设备强制手动生成该设备。
3、路径拥有与之前创建的多路径设备相同的 WWID(即使该多路径设备目前不存在)。如果您
之前在没有设定 find_multipaths 参数的情况下创建了多路径设备
可以通过下面的命令查看所以磁盘的wwid号。
#scsi_id --whitelist /dev/sda #单个磁盘
或
# ll /dev/disk/by-id/ #会显示所有磁盘
-----------------------------------------------------------------------------------------------
3、path_grouping_policy multibus
DM-Multipath 可在主动/被动配置中提供出错冗余。在主动/被动配置中,只有一半的路径在每次
I/O 时都使用。如果 I/O 路径的任意元素(电缆、交换机或者控制器)出现故障,就会将 DMMultipath 切换到备用路径。
也可将 DM-Multipath 配置为主动/主动模式,其中将 I/O 以轮叫调度算法方式分布到所有路径中。
在有些配置中,DM-Multipath 可在 I/O 路径中检测负载并动态重新平衡负载
默认配置path_grouping_policy failover 主备模式
配置成 path_grouping_policy multibus 负载模式
十一、常用命令
# multipath -ll #显示现有多路径配置
# multipath -F #删除全部路径
# multipath -v2 #格式化路径,格式化后会生成新路径
CentOS6.x操作系统自带的 DM Multipath(DMMP)多路径软件配置说明。的更多相关文章
- Ubuntu系统下的多路径软件 DM Multipath 配置。
Ubuntu系统下的多路径软件是操作系统自带的 DM Multipath工具.------------------------------------------------------------- ...
- 在CentOS6.7操作系统上编译安装httpd2.4
功能描述: 在CentOS6.7操作系统上,编译安装apache服务,实现定制功能等 一.安装前提 1)安装编译httpd需要的软件包 [root@bqe6tewv41kx ~]# yum -y i ...
- multipath多路径实验02-配置多路径软件
multipath多路径实验02-配置多路径软件 在上一篇文章<multipath多路径实验01-构建iSCSI模拟环境>,我构建了iSCSI的模拟环境,在文章最后,已经成功配置并在主机上 ...
- RHEL6.5安装multipath多路径软件
一.划zone(以博科光纤交换机为例) ①查看光纤交换机端口状态 RAC_SW_01:admin> switchshow Index Port Address Media Speed State ...
- Dell R710、720等系列类服务器 U盘安装centos6.5 操作系统
一般全新服务器创建系统的时候,没做raid 会报错,如下: 解决: 开机启动时按F10,进入下面界面. 在LC设置-语言和键盘设置选项里可以选择界面显示的语言 在界面主页选项里选择"配置RA ...
- windows操作系统自带的TCP端口转发
假定需要通过192.168.1.8的14941端口连接192.168.1.118的1494端口,则需要在192.168.1.8主机的命令行输入如下语句netsh interface ipv6 ins ...
- 安装CentOS6.2操作系统
原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...
- 在CentOS6.7操作系统上编译安装mysql-5.6.31
功能概述: 由于在centos 6.7下通过yum安装的mysql是5.1版本的,不满足需求,因此经常性需要编译安装mysql服务等. 一.安装mysql 1.安装前提 1)安装编译mysql代码所依 ...
- CentOS6.4卸载自带的OpenJDK并安装jdk1.6.21
#进入系统的terminal,查看当前的jdk版本: shell>java -version #查看安装包 shell>rpm -qa|grep java #将上条命令查出来的结果卸载掉, ...
随机推荐
- LaTeX 表格
本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50066137 一些LaTeX中表格的使 ...
- [MST] Remove Model Instances from the Tree
In this lesson we will dive a bit more into the tree semantics of MST. In this lesson you will learn ...
- 【推荐系统实战】:C++实现基于用户的协同过滤(UserCollaborativeFilter)
好早的时候就打算写这篇文章,可是还是參加阿里大数据竞赛的第一季三月份的时候实验就完毕了.硬生生是拖到了十一假期.自己也是醉了... 找工作不是非常顺利,希望写点东西回想一下知识.然后再攒点人品吧,仅仅 ...
- HDU 5319
Painter Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Su ...
- 适配 iOS 8 时遇到的问题两则:远程推送和 Unwind Segue
原文:http://imtx.me/archives/1910.html 昨天我在微博上吐槽:iOS 8 / Xcode 6 真是史上对开发人员最糟糕的版本号了.收到非常多朋友表达同感. 之所以这么说 ...
- MVC自定义错误日志异常处理
MVC添加错误日志处理模块很简单,只要写个继承自HandleErrorAttribute的过滤器,重新OnException方法,贴个异常处理代码如下: public class ExceptionA ...
- AppManager类,管理Activity和App
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); / ...
- AIX系统谨慎使用reboot命令
在客户一次停机维护中,发现了这个问题. 环境是ORACLE 10G RAC for AIX6,使用了HACMP管理共享磁盘. 在停机维护时间段内需要重启主机,当关闭了数据库和CLUSTER后,节点1使 ...
- POJ-2785 Values whose Sum is 0 Hash表
题目链接:https://cn.vjudge.net/problem/POJ-2785 题意 给出四组数,每组有n个数 现从每组数中取一个数作为a,b,c,d 问有几组这样的a+b+c+d=0 思路 ...
- shell中处理用户输入
1.使用命令行参数 在shell执行的时候命令行中输入的所有参数可以赋值给一些特殊变量,这些变量成为位置变量参数. 包括: $0返回脚本名称.$1为第一个参数.$2为第二个参数 ...$9第九个参数 ...