Linux多路径multipath安装配置
- 格式:docx
- 大小:59.67 KB
- 文档页数:11
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中实现多路径的一种机制,它能够自动选择最合适的路径来传输数据,从而提高了系统的性能和可靠性。
在本篇文章中,我们将介绍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普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。
而到了有光纤组成的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为例,虽然版本比较老,但下面的配置方式基本适用后面的所有版本。
RHEL系统带有iSCSI initiator软件,下面描述如何配置iSCSI Initiator实现对ISCSI卷的访问1.Linux iscsi 介绍(这一条介绍了linux iscsi的基本原理和相关命令,具体配置时可略过)在Linux内核中提供了iscsi驱动,iSCSI 驱动(driver)使主机拥有了通过IP网络访问存储的能力,驱动在主机(Initiator)和服务端(Target)间使用iSCSI协议在TCP/IP 网上传输SCSI请求和响应,在构建上,iSCSI驱动与TCP/IP栈、网络驱动和网络接口卡(NIC)结合,其等同于SCSI或光纤通道卡适配器驱动对主机总线卡(HBA)的作用。
驱动采用采用模块的方式,具体模块包括iscsi_tcp, libiscsi, libiscsi_tcp。
Initiator守护进程介绍:/etc/iscsi/iscsid.conf --initiator配置文件/sbin/iscsiadm --initiator管理工具open-iscsi包括两个守护进程iscsid和iscsi,其中iscsid是主进程,iscsi进程则主要负责根据配置,在系统启动时进行发起端(Initiator)到服务端(target)的登录,建立发起端与服务端的会话,使主机在启动后即可使用通过iSCSI提供服务的存储设备。
iscsid 进程实现iSCSI协议的控制路径以及相关管理功能。
例如守护进程(指iscsid)可配置为在系统启动时基于持久化的iSCSI数据库内容,自动重新开始发现(discovery)目标设备。
Initiator配置介绍(前提是已经安装iSCSI initiator)1> iSCSI initiator 名称设置initiator名称用来唯一标识一个iSCSI Initiator端。
保存此名称的配置文件为 /etc/iscsi/initiatorname.iscsi,命名规则可采用iqn-type格式,利用 iscsi-iname命令可产出一个名称,将此名称输入到initiatorname.iscsi配置文件即可。
multipath-tools 原理multipath-tools是一个用于Linux系统的多路径软件,它可以将多个路径绑定在一起,形成一个逻辑上的设备,从而提高系统的可靠性和性能。
其原理如下:1. 多路径设备的定义在Linux系统中,每个磁盘设备都有一个唯一的标识符,称为WWN(World Wide Name)。
多路径设备是由多个WWN相同的磁盘设备组成的,这些设备可以是不同的物理路径,也可以是同一路径上的不同端口。
在多路径设备中,只有一个设备是活动的,其他设备处于备用状态。
2. 多路径设备的管理multipath-tools通过将多个路径绑定在一起,形成一个逻辑上的设备,从而提高系统的可靠性和性能。
在多路径设备中,只有一个设备是活动的,其他设备处于备用状态。
当活动设备发生故障时,备用设备会自动接管工作,从而保证系统的连续性。
3. 多路径设备的配置在Linux系统中,多路径设备的配置通常需要在multipath.conf文件中进行。
该文件包含了多路径设备的配置信息,包括设备的WWN、路径的优先级、设备的属性等。
在配置文件中,还可以定义多个路径组,每个路径组包含多个路径,用于提高系统的可靠性和性能。
4. 多路径设备的使用在使用多路径设备时,需要先将其格式化为文件系统,然后挂载到系统中。
在挂载时,可以使用/dev/mapper/路径来代替实际的设备路径,这样可以避免在多路径设备发生故障时,系统无法访问数据的情况。
总结:multipath-tools是一个用于Linux系统的多路径软件,可以将多个路径绑定在一起,形成一个逻辑上的设备,从而提高系统的可靠性和性能。
其原理包括多路径设备的定义、管理、配置和使用。
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 多路径相关的概念和操作:1. 多路径概念:1. 路径(Path):-指连接主机和存储设备之间的物理通道。
一个存储设备可以有多个路径。
2. 多路径设备(Multipath Device):-将多个路径组合在一起,形成一个逻辑上的多路径设备。
这个设备会在主机上被当作一个单一的设备来使用,但它会通过多个路径连接到存储设备。
3. 多路径I/O(Multipath I/O):-主机使用多个路径同时进行I/O 操作,以提高性能和可靠性。
2. 多路径软件:1. Device Mapper(DM):-Linux 中使用Device Mapper 实现多路径支持。
multipathd是Device Mapper 的用户空间管理工具,用于检测和管理多路径设备。
2. Multipath Configuration Files:- /etc/multipath.conf是Multipath 的配置文件,可以定义多路径设备的行为、超时设置、路径选择策略等。
3. 操作和命令:1. 安装Multipath 工具:-使用包管理工具安装Multipath 工具,如在基于Debian/Ubuntu 的系统中可以使用apt-get,在基于Red Hat/CentOS 的系统中可以使用yum。
# Debian/Ubuntusudo apt-get install multipath-tools# Red Hat/CentOSsudo yum install device-mapper-multipath2. 配置Multipath:-编辑/etc/multipath.conf文件,配置多路径设备的行为和参数。
配置存储
1 刷新磁盘
若没有重机器,存储挂载后在系统中会看不到,用如下命令迚行硬件刷新:rescan-scsi-bus.sh
upRescan
2 配置linux多路径
cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/ 3 启动multipath服务
/etc/init.d/multipathd start
Starting multipathd daemon: [ OK ]
4 执行命令确认多路径服务是否开启自启动
chkconfig --level 2345 multipathd on
5 查看多路径生效后的磁盘状态
multipath –ll
查看所有磁盘wwid记下
6 固定multipath设备的命名
修改/etc/multipath.conf配置文件
vi /etc/multipath.conf
(添加以下内容,wwid号及磁盘数量根据实际情况修改)
multipaths {
multipath {
wwid360a98000416c6a78732b47365664446f(multipath –ll磁盘的wwid) alias srorage(磁盘名称)
}
7 重启multipathd服务
/etc/init.d/multipathd restart
ok
Stopping multipathd daemon: [ OK ]
Starting multipathd daemon: [ OK ]
磁盘在/dev/mapper下
用自带命令格式化即可。
LINUX下多路径(multi-path)介绍及使用一、什么是多路径普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。
而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来连接,这样的话,就构成了多对多的关系。
也就是说,主机到存储可以有多条路径可以选择。
主机到存储之间的IO由多条路径可以选择。
每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处理?还有在操作系统的角度来看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来了困惑。
多路径软件就是为了解决上面的问题应运而生的。
多路径的主要功能就是和存储设备一起配合实现如下功能:1.故障的切换和恢复2.IO流量的负载均衡3.磁盘的虚拟化由于多路径软件是需要和存储在一起配合使用的,不同的厂商基于不同的操作系统,都提供了不同的版本。
并且有的厂商,软件和硬件也不是一起卖的,如果要使用多路径软件的话,可能还需要向厂商购买license才行。
比如EMC公司基于linux下的多路径软件,就需要单独的购买license。
好在, RedHat和Suse的2.6的内核中都自带了免费的多路径软件包,并且可以免费使用,同时也是一个比较通用的包,可以支持大多数存储厂商的设备,即使是一些不是出名的厂商,通过对配置文件进行稍作修改,也是可以支持并运行的很好的。
二、Linux下multipath介绍,需要以下工具包:在CentOS 5中,最小安装系统时multipath已经被安装,查看multipath是否安装如下:1、device-mapper-multipath:即multipath-tools。
主要提供multipathd和multipath 等工具和 multipath.conf等配置文件。
一、什么是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能够及时地顶上继续为客户提供服务,且客户感觉不到这个为他提供服务的对象已经更换。
在linux下安装HP多路软件步骤(Device Mapper Multipath Enablement Kit for HP StorageWorks Disk Arrays)各位兄弟,因为本人早就开始接触到HP EVA4400的存储,但是一直都是在windows或者VMware下解决多路径的问题。
今天刚好在Redhat Enterprise Linux 5.5解决,顺便也写成文档,免得自己老了,记不了。
这里要感谢一下广军,感谢他对我的信任和支持。
以下是客户的环境:服务器:4台HP DL580G7服务器OS:Redhat Enterprise Linux 5.5存储:EVA4400步骤一、确认信息1、确认HBA卡驱动是否正常,系统是否能识别到。
注意:有部份博科的HBA卡是不能直连的,只能通过光纤交换机才能连接的。
可以使用lspci命令查看。
(别的牌子没有测试过还不知道)。
2、确认HBA卡的驱动是否加载到内核里面,可以使用lsmod命令查看。
3、确保系统已经安装已下的rpm包:可以使用rpm –qa|grep device* 查看是否安装For RHEL 4 Update 7:∙device-mapper-1.02.25-2.el4 or later∙device-mapper-multipath-0.4.5-31.el4 or later∙For RHEL 4 Update 8:∙device-mapper-1.02.28-2.el4 or later∙device-mapper-multipath-0.4.5-35.el4 or later∙For RHEL 5 Update 2:∙device-mapper-1.02.24-1.el5 or later∙device-mapper-multipath-0.4.7-17.el5 or later∙For RHEL 5 Update 3:∙device-mapper-1.02.28-2.el5 or later∙device-mapper-multipath-0.4.7-23.el5 or later∙For RHEL 5 Update 4:∙device-mapper-multipath-0.4.7-30.el5 or later∙device-mapper-1.02.32-1.el5 or later∙For RHEL 5 Update 5:∙device-mapper-multipath-0.4.7-34.el5 or later∙device-mapper-1.02.39-1.el5 or later∙For SLES 10 SP2:∙device-mapper-1.02.13-6.14 or later∙device-mapper-devel-1.02.13-6.14 or later∙multipath-tools-0.4.7-34.43 or later∙For SLES 10 SP3:∙device-mapper-1.02.13-6.14 or later∙device-mapper-devel-1.02.13-6.14 or later∙multipath-tools-0.4.7-34.50.10 or later∙For SLES 11:∙device-mapper-1.02.27-8.6 or later∙multipath-tools-0.4.8-40.4.1 or later步骤二、安装HPDM Multipath Enablement在HP的官网上有很多版本,可以根据自己需要下载(/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en&cc=us&pro dNameId=3559652&prodTypeId=18964&prodSeriesId=3559651&swLang=13&taskId=135&swEnv OID=4004)下载完成后,进入文件目标,例如:/tmp# cd /tmp# tar -zxvf HPDMmultipath-<version>.tar.gz# cd HPDMmultipath-<version># ./INSTALL这样HPDM Multipath Enablement就安装完成了。
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 技术的常用存储。
部署Multipath多路径环境ip adress ls环境准备:1.存储端:[root@san ~]# nmcli connection add type ethernet con-name eth1 ifname eth1连接“eth1”(a2dd7d0b-f4b5-42e0-a5c6-d359917ceca9) 已成功添加。
[root@san ~]# nmcli connection modify eth1 ipv4.method manual ipv4.addresses 192.168.2.71/24 connection.autoconnect yes[root@san ~]# nmcli connection up eth12.客户端:[root@mysql1 ~]# nmcli connection add type ethernet con-name eth1 ifname eth1连接“eth1”(6e0ea641-567e-411d-a607-aacb07b36ab6) 已成功添加。
[root@mysql1 ~]# nmcli connection modify eth1 ipv4.method manual ipv4.addresses 192.168.2.72/24connection.autoconnect yes[root@mysql1 ~]# nmcli connection up eth1[root@mysql1 ~]# tree /var/lib/iscsi/└── .tedu.sharedisk│└── 192.168.4.71,3260,1│└── default重新发现新的磁盘:[root@mysql1 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.71 --discover192.168.2.71:3260,1 .tedu:sharedisk192.168.2.71:3260,1 .tedu.sharedisk重庆iscsi服务,并查看ww_id信息和查看硬盘信息:[root@mysql1 ~]# systemctl restart iscsi[root@mysql1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sda36001405a3fbe6769ddb45c98a9bcd341[root@mysql1 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disksdb 8:16 0 20G 0 disk安装多路径软件:[root@mysql1 ~]# yum install -y device-mapper-multipath产⽣配置⽂件:[root@mysql1 ~]# mpathconf --user_friendly_names n修改配置⽂件:[root@mysql1 ~]# vim /etc/multipath.confmultipaths {multipath {wwid 36001405a3fbe6769ddb45c98a9bcd341alias san1:wq启动服务并启动开机⾃起:[root@mysql1 ~]# systemctl start multipathd[root@mysql1 ~]# systemctl enable multipathd查看服务状态:[root@mysql1 ~]# multipath -llAug 03 17:23:55 | /etc/multipath.conf line 97, invalid keyword: multipathAug 03 17:23:55 | /etc/multipath.conf line 98, invalid keyword: wwidAug 03 17:23:55 | /etc/multipath.conf line 99, invalid keyword: aliasAug 03 17:23:55 | unmatched '}' at line 100 of /etc/multipath.confAug 03 17:23:55 | /etc/multipath.conf line 100, invalid keyword: }36001405a3fbe6769ddb45c98a9bcd341 dm-2 LIO-ORG ,ipsasnsize=20G features='0' hwhandler='0' wp=rw|-+- policy='service-time 0' prio=1 status=active| `- 2:0:0:0 sda 8:0 active ready running`-+- policy='service-time 0' prio=1 status=enabled`- 5:0:0:0 sdb 8:16 active ready running[root@mysql1 ~]# systemctl status multipathd删除多路径[root@mysql1 ~]# multipath -F发现多路径:[root@mysql1 ~]# multipath -v2查看多路径:[root@mysql1 ~]# multipath -ll[root@mysql1 ~]# multipath -FAug 03 17:51:48 | san1: map in useAug 03 17:51:48 | failed to remove multipath map san1不能删除多路径,可能是设备正在使⽤:[root@mysql1 ~]# umount /var/lib/mysql/[root@mysql1 ~]# multipath -F[root@mysql1 ~]# multipath -v2[root@mysql1 ~]# multipath -ll[root@mysql1 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk└─san1 253:2 0 20G 0 mpath /var/lib/mysqlsdb 8:16 0 20G 0 disk└─san1 253:2 0 20G 0 mpath /var/lib/mysql[root@mysql2 ~]# rpm -qf `which multipath`device-mapper-multipath-0.4.9-111.el7.x86_64[root@mysql2 ~]# rpm -ql device-mapper-multipath | less发现存储:iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.71 --discover192.168.2.71:3260,1 .tedu.sharedisk192.168.2.71:3260,1 .tedu:sharedisk[root@mysql2 ~]# iscsiadm --mode node -T .tedu:sharedisk -p 192.168.4.2.71 -l [root@mysql2 ~]# systemctl restart iscsi[root@mysql2 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disksdb 8:16 0 20G 0 disk⽣成配置⽂件:[root@mysql2 ~]# rpm -ql device-mapper-multipath | less[root@mysql2 ~]# cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc 重起多路径服务:[root@mysql2 ~]# systemctl start multipathd.service查看多路径:[root@mysql2 ~]# multipath -llmpatha (36001405a3fbe6769ddb45c98a9bcd341) dm-2 LIO-ORG ,ipsasnsize=20G features='0' hwhandler='0' wp=rw|-+- policy='service-time 0' prio=1 status=active| `- 2:0:0:0 sda 8:0 active ready running`-+- policy='service-time 0' prio=1 status=enabled`- 7:0:0:0 sdb 8:16 active ready running。
1、查看/dev/mapper下的设备,其中mpathn是多路径映射的设备2、对mpathn进行分区,使用parted进行分区[root@localhost mapper]# cd[root@localhost ~]# parted /dev/mapper/mpath13GNU Parted 1.8.1Using /dev/mapper/mpath13Welcome to GNU Parted! Type 'help' to view a list of commands.(parted) helpcheck NUMBER do a simple check on the file systemcp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition help [COMMAND] prints general help, or help on COMMAND mklabel,mktable LABEL-TYPE create a new disklabel (partition table)mkfs NUMBER FS-TYPE make a FS-TYPE file system on partititon NUMBERmkpart PART-TYPE [FS-TYPE] START END make a partitionmkpartfs PART-TYPE FS-TYPE START END make a partition with a file systemmove NUMBER START END move partition NUMBERname NUMBER NAME name partition NUMBER as NAMEprint [free|NUMBER|all] display the partition table, a partition,or all devicesquit exit programrescue START END rescue a lost partition near START and ENDresize NUMBER START END resize partition NUMBER and its file systemrm NUMBER delete partition NUMBERselect DEVICE choose the device to editset NUMBER FLAG STATE change the FLAG on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBERunitUNIT set the default unit to UNITversion displays the current version of GNU Parted and copyright information(parted) mkpartPartition type?primary/extended? pFile system type? [ext2]? ext3Start? 1End? 1(parted) mkpartPartition type?primary/extended? pFile system type? [ext2]? ext3Start? 1End? 3000(parted) printModel: Linux device-mapper (dm)Disk /dev/mapper/mpath13: 322GBSector size (logical/physical): 512B/512BPartition Table: msdosNumber Start End Size Type File system Flags1 0.51kB 1000kB1000kB primary2 1000kB 3000MB 2999MB primary(parted) mkpartPartition type?primary/extended? pFile system type? [ext2]? ext3Start? 1End? 102400Warning: You requested a partition from 1000kB to 102GB.The closest location we can manage is 3002MB to 102GB. Is this still acceptable to you?Yes/No?Yes/No?yes(parted) namePartition number? 1Error: msdos disk labels do not support partition names.Partition name? 3Error: msdos disk labels do not support partition names.(parted) printModel: Linux device-mapper (dm)Disk /dev/mapper/mpath13: 322GBSector size (logical/physical): 512B/512BPartition Table: msdosNumber Start End Size Type File system Flags1 0.51kB 1000kB1000kB primary2 1000kB 3000MB 2999MB primary3 3002MB 102GB 99.4GB primary(parted) quitInformation: Don't forget to update /etc/fstab, if necessary.[root@localhost ~]# fdisk -lDisk /dev/sda: 291.9 GB, 291999055872 bytes255 heads, 63 sectors/track, 35500 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 35500 285049327+ 8e Linux LVMDisk /dev/sdb: 322.1 GB, 322122547200 bytes255 heads, 63 sectors/track, 39162 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdb doesn't contain a valid partition tableDisk /dev/sdc: 322.1 GB, 322122547200 bytes255 heads, 63 sectors/track, 39162 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdc doesn't contain a valid partition tableDisk /dev/dm-2: 322.1 GB, 322122547200 bytes255 heads, 63 sectors/track, 39162 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/dm-2p1 1 1 976+ 83 Linux Partition 1 does not end on cylinder boundary./dev/dm-2p2 1 365 2928711 83 Linux Partition 2 does not end on cylinder boundary./dev/dm-2p3 366 12449 97064730 83 LinuxDisk /dev/dm-3: 322.1 GB, 322122547200 bytes255 heads, 63 sectors/track, 39162 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id SystemDisk /dev/sdd: 322.1 GB, 322122547200 bytes255 heads, 63 sectors/track, 39162 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdd doesn't contain a valid partition tableDisk /dev/sde: 322.1 GB, 322122547200 bytes255 heads, 63 sectors/track, 39162 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sde doesn't contain a valid partition table[root@localhost ~]# cd /dev/mapper[root@localhost mapper]# lscontrol mpath13p1mpath13p3 VolGroup01-LogVol00mpath13mpath13p2 mpath14 VolGroup01-LogVol01[root@localhost mapper]# mkfs.ext3 /dev/mapper/mpath13p3mke2fs 1.39 (29-May-2006)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)12140544 inodes, 24266182 blocks1213309 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=4294967296741 block groups32768 blocks per group, 32768 fragments per group16384 inodes per groupSuperblock backups stored on blocks:32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,4096000, 7962624, 11239424, 20480000, 23887872Writing inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information:doneThis filesystem will be automatically checked every 24 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.[root@localhost mapper]#[root@localhost mapper]# cd[root@localhost ~]# lsa iometer-2006_07_27.linux.i386-binanaconda-ks.cfg iometer-2006_07_27.linux.i386-bin.tgzinstall.log iscsi-initiator-utils-6.2.0.871-0.16.el5.x86_64.rpminstall.log.syslog[root@localhost ~]# mount /dev/mapper/mpath13p3 a**将mpath13p3挂载到目录a下[root@localhost ~]# lsa iometer-2006_07_27.linux.i386-binanaconda-ks.cfg iometer-2006_07_27.linux.i386-bin.tgzinstall.log iscsi-initiator-utils-6.2.0.871-0.16.el5.x86_64.rpminstall.log.syslog[root@localhost ~]# cd a[root@localhost a]# lslost+found下面对mpath13p3进行读写测试和链路切换测试路径冗余测试-linux1、使用dd进行读写测试2、查看实时IO状态,3、拔掉客户端一根网线,查看io变化。
多路径multipath配置⽂件详解 默认情况下,multipath已经⽀持⼤部分常见的存储型号(可见multipath.conf.defaults),但不同的multipath版本可能都有些不同。
这时,建议参考存储的官⽅⽂档,但有时候,同⼀台机器上如果连接了⼀个以上的存储时,可能默认规则并不完全适⽤。
这时我们可以给特定的存储定制多路径符合的策略。
配置⽂件的模板默认位于/usr/share/doc/device-mapper-multipath-x.x.x/multipath.conf(x为multipath的实际版本号),配置multipath配置⽂件时,可以将该⽂件复制于/etc/multipath.conf,然后,在进⾏定制配置。
配置Linux (suse and redhat;redhat7以上不适⽤,详见下⼀篇)vi /etc/multipath.confdefaults {user_friendly_names yespolling_interval 30}devices {device {vendor "NETAPP"product "LUN.*"path_grouping_policy "group_by_prio"path_checker "tur"features "3 queue_if_no_path pg_init_retries 50"hardware_handler "1 alua"prio "alua"failback "immediate"rr_weight "uniform"rr_min_io 128dev_loss_tmo "infinity"retain_attached_hw_handler "yes"detect_prio "yes"path_selector "round-robin 0"no_path_retry 18}}blacklist {device {vendor ".*"}}blacklist_exceptions {device {vendor "^NETAPP"}}⼀、配置⽂件字段 1)defaults:全局属性的默认设置。
S T A R S I N OLINUX multi-path安装配置测试报告RenYang2013.12目录一、测试环境摘要 (4)二、检查安装multipath (4)2.1检查是否已安装 (4)2.2若未安装则安装 (4)2.2.1搭建yum源 (4)2.2.2通过yum源安装并自启动 (4)2.3核查安装是否成功 (5)2.4设为开机自动启动 (5)三、配置multipath (5)3.1创建配置脚本 (5)3.2赋予脚本执行权限 (7)3.3执行脚本 (8)3.4确认配置结果 (8)3.5正常使用磁盘 (9)四、测试 (9)4.1负载均衡测试 (9)4.2路径切换测试 (9)五、常用操作命令 (10)5.1启停mulitipath服务 (10)5.2删除现有路径 (10)5.3格式化路径(重新扫描) (10)5.4查看多路径 (10)5.5重载multipathd服务 (10)5.6查看所有磁盘wwid (10)5.7显示当前device mapper信息 (11)说明:本文档中安装部署部分所提到的步骤都在测试环境中通过。
可以作为安装部署参考手册。
但因环境不同而无法保证在其他环境中准确无误(配置请按照特定环境自行修改)。
本文档仅供参考,建议按照官方手册安装配置。
蓝色字体—命令行绿色字体—脚本或输出结果暗红字体—表示变量(可更改)红色字体—需注意之处# — root用户下执行一、测试环境摘要FreeNAS模拟iSCSI存储并划分空间分配给Linux5系统二、检查安装multipath2.1检查是否已安装[root@linux5 ~]# rpm -qa|grep mapperdevice-mapper-1.02.55-2.el5device-mapper-1.02.55-2.el5device-mapper-event-1.02.55-2.el5device-mapper-multipath-0.4.7-42.el52.2若未安装则安装2.2.1搭建yum源mkdir -p /mnt/yummount /dev/cdrom /mnt/yum如果从ISO挂载,则使用如下命令:mount -o loop -t iso9660 /tmp/Redhat_5.0_U6_64.ISO /mnt/yumecho "[yum]">/etc/yum.repos.d/yum.repoecho "name=yum">>/etc/yum.repos.d/yum.repoecho "baseurl=file:///mnt/yum/Server">>/etc/yum.repos.d/yum.repo echo "enabled=1">>/etc/yum.repos.d/yum.repoecho "gpgcheck=1">>/etc/yum.repos.d/yum.repoecho"gpgkey=file:///mnt/yum/RPM-GPG-KEY-redhat-release">>/etc/yum.repos .d/yum.repo2.2.2通过yum源安装并自启动yum –y install device-mapper device-mapper-multipath2.3核查安装是否成功[root@linux5 ~]# lsmod |grep dm_multipathdm_multipath 56921 0scsi_dh 42177 1 dm_multipathdm_mod 101393 4 dm_mirror,dm_multipath,dm_raid45,dm_log 如果模块没有加载成功请使用下列命初始化DM,或重启系统:modprobe dm-multipathmodprobe dm-round-robinservice multipathd startmultipath –v22.4设为开机自动启动chkconfig --level 2345 multipathd on三、配置multipath3.1创建配置脚本Multipath的配置文件是/etc/multipath.conf,为了快速进行配置,可直接在linux系统任意目录创建一个脚本并将以下内容复制到脚本中:cp /etc/multipath.conf /etc/multipath.conf.bakecho 'blacklist {devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"devnode "^hd[a-z]"devnode "^cciss!c[0-9]d[0-9]*"devnode "^sd[a-b]"}defaults {udev_dir /devpolling_interval 10failback immediateno_path_retry 5rr_min_io 100path_checker turselector "round-robin 0"path_grouping_policy failoveruser_friendly_names yes}multipaths {'>/etc/multipath.conffor pv in `cat /proc/partitions|awk '{print $4}'|grep sd|grep [a-z]$`;do echo "`scsi_id -g -u -s /block/$pv`">>$$.wwid; donefor wwid in `awk 'NF' $$.wwid|sort|uniq|awk '{print $1}'`;doecho "Found a device:"for pv in `cat /proc/partitions|awk '{print $4}'|grep sd|grep [a-z]$`;doif [[ `scsi_id -g -u -s /block/$pv` = $wwid ]];then echo " $pv: `scsi_id -g -u -s /block/$pv`";fidonestop=0while [[ $stop -lt 1 ]];doread -p "Whether to add $wwid? [y,n,q] (y) " addif [[ -z "$add" || "$add" = "y" ]];thenecho " multipath {">>/etc/multipath.confecho " wwid $wwid">>/etc/multipath.confread -p "alias: (none) " aliasif [[ -n "$alias" ]];then echo " alias $alias">>/etc/multipath.conf;firead -p "gid: (none) " gidif [[ -n "$gid" ]];then echo " gid $gid">>/etc/multipath.conf;firead -p "uid: (none) " uidif [[ -n "$uid" ]];then echo " uid $uid">>/etc/multipath.conf;firead -p "mode: [0600,none] (none) " modeif [[ $mode = "0600" ]];then echo " mode $mode">>/etc/multipath.conf;fiecho " }">>/etc/multipath.confstop=1else if [[ $add = "n" ]];then stop=1else if [[ $add = "q" ]];then rm -fr $$.wwid;break 2;fi fi fidonedoneecho "}">>/etc/multipath.confrm -fr $$.wwid备注:1、红色字体部分根据现场环境进行修改;2、也可以按wwid或device进行排除(示例如下):➢按wwid方式:blacklist {wwid 26353900f02796769}➢按device方式:blacklist {device {vendor "IBM"product "3S42" #DS4200 Product 10}device {vendor "HP"product "*"}}3、也可以选择性使用blacklist_exceptions进行排除:例如:如果有大量设备,但只有一个需要多路径(WWID为 112233445566),此时不需要将想要使用多路径的设备之外的每个设备单独加入黑名单,只需要将所有设备都加入黑名单,然后只允许想要使用多路径的设备即可:blacklist {wwid "*"}blacklist_exceptions {wwid "112233445566"}3.2赋予脚本执行权限chmod +x tmp.sh3.3执行脚本[root@linux5 ~]# ./tmp.shFound a device:sdd: 3300000001f548fcaWhether to add 3300000001f548fca? [y,n,q] (y)回车alias: (none) test1gid: (none) 1300uid: (none) 1101mode: [0600,none] (none) 0600略去N字……备注:根据提示操作即可,alias、gid、uid、mode非强制要求,根据具体环境及需求选择。