Linux下多路径multipath配置文档和相关概念

合集下载

DeviceMapperMultipath配置指导书全解

DeviceMapperMultipath配置指导书全解

Device Mapper Multipath配置指导书华为技术有限公司版权所有侵权必究Device Mapper Multipath配置指导书文档密级:内部公开修订记录目录目录 (1)前言 (3)1检查系统DM-Multipath (4)1.1检查DM-Multipath是否正确安装 (4)1.2查看DM-Multipath版本 (5)1.3检查DM-Multipath配置文件 (5)1.4检查DM-Multipath服务multipathd是否开机启动 (5)2修改DM-Multipath配置 (6)2.1修改multipath.conf文件 (6)2.1.1 CentOS 6.3 对接阵列S5800T 配置 (7)2.1.2 NeoKylin Advance Linux Server V5.6 对接阵列18500配置 (8)2.2 FAQ (9)2.2.1如何获取阵列vendor及product (9)2.2.2 DM-Multipath可用的磁盘在哪里 (9)3注意事项 (11)3.1集群应用 (11)3.2 DM-Multipath与UltraPath共存 (11)3.3设备屏蔽 (11)3.4驱动超时参数 (11)3.4.1 FC驱动 (11)3.4.2 ISCSI驱动 (12)附录A DM-Multipath盘符绑定 (13)附录B DM-Multipath磁盘屏蔽 (14)附录C 常用命令 (16)关键词:Device Mapper Multipath、配置摘要:本指导书是针对Linux系统自带多路径Device Mapper Multipath对接我司阵列,配置操作过程中需要的步骤、注意事项等提供的指导,本指导书描述了Multipath配置过程及注意事项。

缩略语清单:DM-Multipath(Device Mapper Multipath ):Linux系统自带多路径LUN(Logical Unit Number): 逻辑单元号ALUA(Asymmetric Logical Unit Access):非对称逻辑单元IALUA(Implicit Asymmetric Logical Unit Access):隐式ALUAEALUA(Explicit Asymmetric Logical Unit Access):显式ALUA参考资料清单:无。

linux多路径multipath 参数

linux多路径multipath 参数

linux多路径multipath 参数在Linux系统中,多路径是一种常见的冗余技术,用于提高系统的可靠性和稳定性。

Multipath则是Linux中实现多路径的一种机制,它能够自动选择最合适的路径来传输数据,从而提高了系统的性能和可靠性。

在本篇文章中,我们将介绍Linux多路径Multipath的参数。

一、Multipath工作原理Multipath是一种自动选择最佳路径来传输数据的机制,它使用多个路径来连接不同的存储设备或网络资源。

当系统需要访问存储设备上的数据时,Multipath会根据各个路径的性能和可靠性等因素,自动选择最合适的路径来传输数据。

这种机制提高了系统的性能和可靠性,因为即使某个路径出现故障,系统仍然可以使用其他路径来访问数据。

二、Multipath参数配置在Linux系统中,可以通过配置Multipath的参数来优化系统的性能和可靠性。

以下是一些常见的Multipath参数及其说明:1. `dm.multipath`:该参数用于启用或禁用Multipath机制。

将其设置为`1`以启用Multipath,设置为`0`以禁用。

2. `dm.scan`:该参数用于指定应搜索哪些设备以启用Multipath。

常见的值包括`all`(搜索所有设备)和`loop`(仅搜索loop设备)。

3. `dm.service_timeout`:该参数用于设置Multipath服务的超时时间。

默认值为60秒。

4. `dm.scan_tmo`:该参数用于设置扫描设备的超时时间。

默认值为3秒。

5. `multipath.scan_interval`:该参数用于设置Multipath自动扫描设备的间隔时间。

默认值为1秒。

6. `multipath.default_timeout`:该参数用于设置默认的块设备超时时间。

7. `multipath.find_tune`:该参数用于指定是否应该自动调整设备组的性能设置。

multipath多路径原理

multipath多路径原理

multipath多路径原理Multipath多路径原理是计算机网络中常见的一种技术,它通过使用多个路由路径来传输数据,从而提高数据传输的可靠性和性能,在数据传输中起到了至关重要的作用。

下面我们将详细阐述Multipath 多路径原理。

一、多路径技术概述传统的网络中,每个网络设备只有一种传输路径,数据只能通过这条路径进行传输。

但是,在现代网络环境中,单一路径无法满足高负载和高可用性的需求。

多路径技术允许在不同的路径上重复传输数据,从而使得数据传输更加灵活和高效。

二、Multipath多路径原理Multipath多路径原理是一种基于动态路由的技术,它通过将数据流分成多个流,每个流负责在不同的路径上传输数据。

在传输过程中,数据被拆分成多个数据包,每个数据包被分发到不同的路径上,通过各种高级路由协议计算出最优路径进行传输,重新组合成完整的数据包,最终传输到另一端,从而提高数据传输的速度和可靠性。

当数据包被发送时,传输协议会通过一系列路由算法计算出最佳路径,这些算法涉及到多种因素,包括网络拥塞、路由器负载、网络拓扑、网络带宽等。

然后,数据包将沿着这条路径传输,不过如果这条路径发生了阻塞,传输协议会选择另一条路径来传输数据包,这就保证了数据的可靠性和高可用性。

三、Multipath多路径技术的优势1、提高了网络传输的可靠性。

当一个路径被阻塞时,传输协议可以动态地选择另一条可用路径来传输数据,避免了数据丢失和传输延迟的问题。

2、提高了网络传输的性能。

多路径技术允许同时使用多个路径传输数据,因此可以实现更高的传输带宽和更低的传输延迟,从而提高了网络传输的性能和吞吐量。

3、提高了网络的可扩展性。

多路径技术可以有效地对网络进行分流,避免网络过载和拥塞,提高了网络的可扩展性和可维护性。

四、Multipath多路径技术的应用1、负载均衡:多路径技术可以用于实现负载均衡,同时利用多个路径来分配网络负载,保证每个路径都得到充分利用,提高了网络的效率和可靠性。

Linux DM multipath多路径配置问题汇总

Linux DM multipath多路径配置问题汇总
path_checker readsector0 //决定路径状态的方法
path_checker tur
path_selector "round-robin 0" //选择那条路径进行下一个IO操作的方法
prio_callout "/sbin/mpath_prio_alua/dev/%n" //获取有限级数值使用的默认程序
}
}
※千万不要写错path_checker(可能值有:readsector0, tur, emc_clariion, hp_sw, directio)。不清楚的,可从存储的官方资料查看
排错过程
# multipath -v3 -ll
# dmsetup ls
# multipathd -k
> > show config
/dev/mpath/mpathn 是udev设备管理器创建的,实际上就是指向下面的dm-n设备,仅为了方便,不能用来挂载;
/dev/dm-n 是软件内部自身使用的,不能被软件以外使用,不可挂载。
简单来说,就是我们应该使用/dev/mapper/下的设备符。对该设备即可用fdisk进行分区,或创建为pv。
测试multpath路径
然后用iostat观察各通道的流量和状态,以判断Failover或负载均衡方式是否正常:
# dd if=/dev/zero of=/dev/mapper/mpath0
# iostat -k 2
容错模式:
mpath18设备读写时,sdaf、sdv 会处于active状态,都有数据流,但sdb、sdl 组成的链路是enabled,作为ready情况。这为Failover(主备)情况

Linux_Device_Mapper_Multipathing多路径技术

Linux_Device_Mapper_Multipathing多路径技术

Linux Device Mapper Multipathing技术在SAN存储网络中,冗余地访问存储设备是整个系统的关键技术之一,在Linux平台,开源的解决方案之一是DM-Multipath。

Device Mapper Multipathing ( DM-Multipath )允许在服务器节点和存储阵列之间配置多个I/ O路径但仍视为一个单一存储设备。

这些I/O路径是物理SAN连接,可以包含独立的数据线,交换机和控制器。

多路径集成了I/O路径,创建了包含集成多路径的一个新设备。

本文主体是基于Red Hat管理手册Red Hat Enterprise Linux 5 DM Multipath –DM Mult ipath Configuration and Administration Edition 3结合项目实施过程中的实践撰写的。

文档以Re d Hat英文管理手册翻译为主,并完整经过实践。

DM-Multipath 概述DM-Multipath 可以提供:•冗余DM-Multipath 可以在active/passive 配置中提供failover。

在一个active/passive 配置中,对于I/O任何时候只使用一半的路径。

如果一个I/O路径的任何组成部分(数据线,交换机或控制器)出现故障,DM-Multipath将切换到一个替换路径上。

•性能提高DM-Multipath 可以配置为active/active 模式,这样I/O采用round-robin 方式分摊到多路径上。

在一些配置中,DM-Multipath 可以检测到I/O路径的负载并可以动态重平衡负载。

•Active/Passive Mulstipath Configuration with one RAID Devices配置说明:•o提供了HBA,FC cable,SAN switch和阵列控制器failovero不支持硬件存储阵列故障failover•更为复杂的Active/Passive Mulstipath Configuration with one RAID Devices配置说明:•o支持全冗余硬件failovero数据冗余需要通过软件来实现存储阵列支持默认情况下,DM-Multipath 支持大多数支持DM-Multipath 技术的常用存储。

Linux MultiPath 多路径部署方案

Linux MultiPath 多路径部署方案

Linux MultiPath多路径部署方案目录一、环境摘要 (3)二、检查安装multipath (3)2.1检查是否已安装模块 (3)2.2加载模块 (3)2.3设为开机自动启动 (3)三、配置multipath (4)3.1创建配置脚本 (4)3.2确认配置结果 (8)3.3正常使用磁盘 (8)四、测试 (8)4.1负载均衡测试 (8)五、常用操作命令 (9)5.1启停mulitipath服务 (9)5.2删除现有路径 (9)5.3格式化路径(重新扫描) (9)5.4查看多路径 (9)5.5重载multipathd服务 (10)一、环境摘要Suse 11 sp1二、检查安装multipath2.1检查是否已安装模块Suse 11 sp2系统默认安装有以下模块# rpm -qa |grep mapperdevice-mapper-32bit-1.02.63-18.25.1device-mapper-1.02.63-18.25.1# rpm -qa |grep multimultipath-tools-0.4.9-0.60.1# rpm -qa |grep udevlibudev0-32bit-147-0.47.2libgudev-1_0-0-147-0.47.2udev-147-0.47.2libudev0-147-0.47.22.2加载模块modprobe dm-multipathmodprobe dm-round-robin2.3设为开机自动启动chkconfig --level 35 multipathd on三、配置multipath3.1创建配置脚本Multipath的配置文件是/etc/multipath.conf,将以下内容复制到文件中,并保存:以下脚本屏蔽了华为多路径软件,并且对多路径盘进行绑定,避免系统重启后设备名发生改变。

blacklist {wwid "3600605b0042372d01159327313feb8a2" devnode"^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^hd[a-z]"device{vendor "up" #屏蔽华为多路径盘product "updisk"}}defaults {udev_dir /devpolling_interval 10#prio alua#rr_min_io 10user_friendly_names yesno_path_retry 10path_checker turpath_grouping_policy failover}devices {device {vendor "HP|COMPAQ"product "HSV1[01]1\(C\)COMPAQ|HSV2[01]0|HSV300|HSV4[05]0"path_grouping_policy group_by_priogetuid_callout "/lib/udev/scsi_id -g -u /dev/%n"path_checker turpath_selector "round-robin 0"prio aluarr_weight uniformfailback immediatehardware_handler "0"no_path_retry 18rr_min_io 100}}multipaths {multipath {wwid 3600050ccd64326f8579ee51180c744a8alias mpathapath_grouping_policy failoverfailback manualno_path_retry 10}multipath {wwid 3600050ccd44326f8579ee51180c744a8alias mpathbpath_grouping_policy failoverfailback manualno_path_retry 10}multipath {wwid 3600050ccdc4326f8579ee51180c744a8 alias mpathcpath_grouping_policy failover failback manualno_path_retry 10}multipath {wwid 3600050ccde4326f8579ee51180c744a8 alias mpathdpath_grouping_policy failover failback manualno_path_retry 10}multipath {wwid 3600050cce04326f8579ee51180c744a8 alias mpathepath_grouping_policy failover failback manualno_path_retry 10}}3.2确认配置结果1、启动服务:Service multipathd restart2、多路径聚合与查看多路径:Multipath –v2multipath -ll3、其他核查方式✓会在/dev/mapper/目录下多出类似mpatha、mpathb之类设备(如果指定了alias则以别名方式显示)✓用fdisk -l命令可以看到多路径软件创建的磁盘,如/dev/dm-[0-3]等3.3正常使用磁盘要使用多路径生成的磁盘直接操作/dev/mapper/目录下的磁盘就便可。

十、Multipath多路径-基础知识

十、Multipath多路径-基础知识

⼗、Multipath多路径-基础知识10.1 多路径概述
• 当服务器到某⼀存储设备有多条路径时,每条路径都会识别为⼀个单独的设备
• 多路径允许您将服务器节点和储存阵列间的多个I/O路径配置为⼀个单⼀设备
• 这些 I/O 路径是可包含独⽴电缆、交换器和控制器的实体 SAN 链接
• 多路径集合了 I/O 路径,并⽣成由这些集合路径组成的新设备
10.2 多路径主要功能
• 冗余
– 主备模式,⾼可⽤
• 改进的性能
– 主主模式,负载均衡
10.3 多路径设备
• 若没有 DM Multipath,从服务器节点到储存控制器
的每⼀条路径都会被系统视为独⽴的设备,即使 I/O
路径连接的是相同的服务器节点到相同的储存控制器
也是如此
• DM Multipath 提供了有逻辑的管理 I/O 路径的⽅法,
即在基础设备顶端⽣成单⼀多路径设备。

multipath概念和配置文档

multipath概念和配置文档

一、什么是multipath普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。

而到了有光纤组成的SAN环境,由于主机和存储通过了光纤交换机连接,这样的话,就构成了多对多的关系。

也就是说,主机到存储可以有多条路径可以选择。

主机到存储之间的IO由多条路径可以选择。

既然,每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处理?还有在操作系统的角度来看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来了困惑。

多路径软件就是为了解决上面的问题应运而生的。

多路径的主要功能就是和存储设备一起配合实现如下功能:1. 故障的切换和恢复2. IO流量的负载均衡3. 磁盘的虚拟化二、为什么使用multipath由于多路径软件是需要和存储在一起配合使用的,不同的厂商基于不同的操作系统,都提供了不同的版本。

并且有的厂商,软件和硬件也不是一起卖的,如果要使用多路径软件的话,可能还需要向厂商购买license才行。

比如EMC公司基于linux下的多路径软件,就需要单独的购买license。

其中,EMC提供的就是PowerPath,HDS提供的就是HDLM,更多的存储厂商提供的软件,可参考这里。

当然,使用系统自带的免费多路径软件包,同时也是一个比较通用的包,可以支持大多数存储厂商的设备,即使是一些不是出名的厂商,通过对配置文件进行稍作修改,也是可以支持并运行的很好的。

※请与IBM的RDAC、Qlogic的failover驱动区分开,它们都仅提供了Failover的功能,不支持Load Balance方式。

但multipath根据选择的策略不同,可支持多种方式,如:Failover、Multipath等。

三、multipath的组成我这里以红帽x86_64为例,虽然版本比较老,但下面的配置方式基本适用后面的所有版本。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、什么是multipath普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。

而到了有光纤组成的SAN环境,由于主机和存储通过了光纤交换机连接,这样的话,就构成了多对多的关系。

也就是说,主机到存储可以有多条路径可以选择。

主机到存储之间的IO由多条路径可以选择。

既然,每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处理?还有在操作系统的角度来看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来了困惑。

多路径软件就是为了解决上面的问题应运而生的。

多路径的主要功能就是和存储设备一起配合实现如下功能:1. 故障的切换和恢复2. IO流量的负载均衡3. 磁盘的虚拟化二、为什么使用multipath由于多路径软件是需要和存储在一起配合使用的,不同的厂商基于不同的操作系统,都提供了不同的版本。

并且有的厂商,软件和硬件也不是一起卖的,如果要使用多路径软件的话,可能还需要向厂商购买license才行。

比如EMC公司基于linux下的多路径软件,就需要单独的购买license。

其中,EMC提供的就是PowerPath,HDS提供的就是HDLM,更多的存储厂商提供的软件,可参考这里。

当然,使用系统自带的免费多路径软件包,同时也是一个比较通用的包,可以支持大多数存储厂商的设备,即使是一些不是出名的厂商,通过对配置文件进行稍作修改,也是可以支持并运行的很好的。

※请与IBM的RDAC、Qlogic的failover驱动区分开,它们都仅提供了Failover的功能,不支持Load Balance负载均衡方式。

但multipath根据选择的策略不同,可支持多种方式,如:Failover、Multipath等。

Failover的功能解释:通俗地说,即当A无法为客户服务时,系统能够自动地切换,使B能够及时地顶上继续为客户提供服务,且客户感觉不到这个为他提供服务的对象已经更换。

这里的A和B可以存在于各种领域,但一般fail-over特指计算机领域的数据库、应用服务、硬件设备等的失效转移。

三、multipath的组成我这里以红帽x86_64为例,虽然版本比较老,但下面的配置方式基本适用后面的所有版本。

引用# cat /etc/redflag-releaseRed Flag DC Server release 5.0 (Trinity SP2)# uname -aLinux localhost.localdomain 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux# rpm -qa|grep devicedevice-mapper-event-1.02.32-1.el5device-mapper-1.02.32-1.el5device-mapper-multipath-0.4.7-30.el5device-mapper-1.02.32-1.el5这些是需要安装的安装包,如果没有安装需要到安装光盘中# rpm -ivh device-mapper-*将以上这些包全部安装# chkconfig --list |grep multipathmultipathd 0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭# chkconfig multipathd on可见,一套完整的multipath由下面几部分组成:1. device-mapper-multipath提供multipathd和multipath等工具和multipath.conf等配置文件。

这些工具通过device mapper的ioctr的接口创建和配置multipath设备(调用device-mapper的用户空间库。

创建的多路径设备会在/dev/mapper中);2. device-mapperdevice-mapper包括两大部分:内核部分和用户部分。

内核部分由device-mapper核心(multipath.ko)和一些target driver(dm-multipath.ko)构成。

dm-mod.ko是实现multipath的基础,dm-multipath其实是dm的一个target驱动。

核心完成设备的映射,而target根据映射关系和自身特点具体处理从mappered device 下来的i/o。

同时,在核心部分,提供了一个接口,用户通过ioctr可和内核部分通信,以指导内核驱动的行为,比如如何创建mappered device,这些device的属性等。

用户空间部分包括device-mapper这个包。

其中包括dmsetup工具和一些帮助创建和配置mappered device的库。

这些库主要抽象,封装了与ioctr通信的接口,以便方便创建和配置mappered device。

device-mapper-multipath的程序中就需要调用这些库;3. scsi_id其包含在udev程序包中,可以在multipath.conf中配置该程序来获取scsi设备的序号。

通过序号,便可以判断多个路径对应了同一设备。

这个是多路径实现的关键。

scsi_id是通过sg驱动,向设备发送EVPD page80或page83 的inquery命令来查询scsi设备的标识。

但一些设备并不支持EVPD 的inquery命令,所以他们无法被用来生成multipath设备。

但可以改写scsi_id,为不能提供scsi设备标识的设备虚拟一个标识符,并输出到标准输出。

multipath程序在创建multipath设备时,会调用scsi_id,从其标准输出中获得该设备的scsi id。

在改写时,需要修改scsi_id程序的返回值为0。

因为在multipath程序中,会检查该直来确定scsi id是否已经成功得到。

四、配置multipath原理看了一堆,实际配置还是比较简单的。

配置文件只有一个:/etc/multipath.conf 。

配置前,请用fdisk -l 确认已可正确识别盘柜的所有LUN逻辑单元号,HDS支持多链路负载均衡,因此每条链路都是正常的;而如果是类似EMC CX300这样仅支持负载均衡的设备,则冗余的链路会出现I/O Error的错误。

multipath.conf的配置参数、默认值,可参考:1、编辑黑名单默认情况下,multipath会把所有设备都加入到黑名单(devnode "*"),也就是禁止使用。

所以,我们首先需要取消该设置,把配置文件修改为类似下面的内容:# vim /etc/multipath.confdevnode_blacklist {#devnode "*" 用#将此行注释掉devnode "hda"wwid 3600508e000000000dc7200032e08af0b}这里禁止使用hda,也就是光驱。

另外,还限制使用本地的sda设备,这个wwid,可通过下面的命令获得:# scsi_id -g -u -s /block/sda3600508e000000000dc7200032e08af0b2、编辑默认规则不同的device-mapper-multipath或操作系统发行版,其默认的规则都有点不同,以RedHat x86_64为例,其path_grouping_policy默认为failover失效转移,也就是主备的方式。

这明显不符合我们的要求。

(HDS支持多路径负载均衡,EMC CX300等只支持Failover)。

所以,我们需要修改默认的规则:defaults {udev_dir /devpath_grouping_policy multibusfailback immediateno_path_retry failuser_friendly_name yes}关键是path_grouping_policy一项,其他选项可参考说明文档。

3、启动服务及生成映射# modprobe dm-multipath# service multipathd restart# multipath -v04、查看复合后的设备# multipath -ll会看到类似下面的信息:mpath0 (360060e80058e980000008e9800000007)[size=20 GB][features="0"][hwhandler="0"]\_ round-robin 0 [prio=1][active]\_ 3:0:0:7 sdaa 65:160 [active][ready]\_ round-robin 0 [prio=1][enabled]\_ 4:0:0:7 sdas 66:192 [active][ready]\_ round-robin 0 [prio=1][enabled]\_ 5:0:0:7 sdbk 67:224 [active][ready]\_ round-robin 0 [prio=1][enabled]\_ 2:0:0:7 sdi 8:128 [active][ready]这说明,已由四条链路sdaa/sdas/sdbk/sdi复合成一条链路,设备名为mpath0。

状态正常的话,把multipathd设置为自启动:# chkconfig multipathd on# mkdir /oradata# mkfs.ext3 /dev/mapper/mpath0# mkfs.ext3 /dev/mapper/mpath1# blkid /dev/mapper/mpath0 生成该存储设备的UUID# blkid /dev/mapper/mpath1# vim /etc/fstab (修改该配置文件并添加如下)UUID=47931c90-140b-45fe-9dfa-5a0f56810db3 /oradata ext3 defaults 0 0 保存退出# mount -a注意:要使用哪块存储设备就在fastab里面挂载就可以了5、使用mpath设备用multipath生成映射后,会在/dev目录下产生多个指向同一条链路的设备:/dev/mapper/mpath n/dev/mpath/mpath n/dev/dm-n但它们的来源是完全不同的:/dev/mapper/mpathn 是multipath虚拟出来的多路径设备,我们应该使用这个设备;/dev/mpath/mpathn 是udev设备管理器创建的,实际上就是指向下面的dm-n设备,仅为了方便,不能用来挂载;/dev/dm-n 是软件内部自身使用的,不能被软件以外使用,不可挂载。

相关文档
最新文档