DM multipath总结---基于LINUX 7

DM multipath总结---基于LINUX 7

DM multipath总结


DM Multipath提供的功能:

  • 冗余:
    DM Multipath 能够在主动/被动配置下提供故障转移。在主动/被动配置下,只有一半的路径在每次进行 I/O 时会被使用。若一条 I/O 路径的任一元素(电缆、交换器或者控制器)出现故障,DM Multipath 就会将它切换到备用路径。
  • 改进的性能:
    可将 DM Multipath 配置为主动/主动模式, 这会将 I/O 以轮循机制(round-robin)的方式分布到所有的路径中。在有些配置中,DM Multipath 能够检测 I/O 路径的负载,并且重新动态平衡负载。

查看支持存储命令:
    默认情况下,DM Multipath 支持大多数常用的支持 DM Multipath的储存阵列。若要了解默认配置值和支持的设备的相关信息,请运行下列指令中的任何一个。

multipathd show config
或
multipath -t  

DM MULTIPATH 组件:

组件 描述
dm-multipath kernel 模块 为路径和路径组重新指定 I/O 并支持故障转移。
mpathconf 工具程序 配置并启用 DM Multipath。
multipath 指令 列出并配置多路径设备。通常使用 /etc/rc.sysinit 启动,还可以在添加块设备时通过 udev 程序启动。
multipathd 守护进程 监视路径;若路径故障并返回,它可能会启动路径组切换。允许对多路径设备进行交互式修改。若需对 /etc/multipath.conf 文件进行任何修改,都必须重新启动本守护进程。
kpartx 命令 为设备分区生成设备映射器。对于带 DM Multipath 的基于 DOS 的分区来说,使用此命令很有必要。kpartx 命令包含在它自己的软件包当中,但是 device-mapper-multipath 软件包需要依赖它。

为系统配置 DM Multipath 的基本步骤:

  1. 安装 device-mapper-multipath rpm。
  2. 使用 mpathconf 命令创建配置文件并启用多路径。若无需编辑该配置文件,可使用此命令启动多路径守护程序。
  3. 如需编辑该配置文件,请编辑 multipath.conf 配置文件,修改默认值并保存更新的文件。
  4. 启动多路径守护进程。

DM multipath相关概念:
    若没有 DM Multipath,从服务器节点到储存控制器的每一条路径都会被系统视为独立的设备,即使 I/O 路径连接的是相同的服务器节点到相同的储存控制器也是如此。DM Multipath 提供了有逻辑的管理 I/O 路径的方法,即在基础设备顶端生成单一多路径设备。

全球识别符(WWID):
它是一个全球唯一的无法更改的号码。默认情况下会将多路径设备的名称设定为它的 WWID。另外,您还可以在多路径配置文件中设置 user_friendly_names 选项,该选项可将别名设为格式为 mpathn 的节点唯一名称。
mpath-n和dm-n :
新设备被纳入 DM Multipath 控制时,该设备会显示在 /dev 目录的两个不同位置:/dev/mapper/mpathn 和 /dev/dm-n。
/dev/mapper 中的设备是在引导过程中生成的。可使用这些设备访问多路径设备,例如在生成逻辑卷时。
任何 /dev/dm-n 格式的设备都只适用于内部使用,管理员请勿直接使用。

集群中确保所有节点多路径设备名称一致的方法:
如果需要将多路径设备名称在集群中的每个节点上都保持一致,请不要将 user_friendly_names 选项设定为 yes,且不要为那些设备配置别名。默认情况下,如果不将 user_friendly_names 设定为 yes,或者为某个设备配置别名,则设备名称将是该设备的 WWID,它是不会变的。
要系统定义的用户友好名称在集群的所有节点中都一致需要以下步骤:

  1. 在一台机器中设定所有多路径设备。
  2. 运行以下命令禁用其它机器上所有的多路径设备:
# service multipathd stop
# multipath -F  
  1. 将第一台机器中的 /etc/multipath/bindings 文件复制到集群中的其它所有机器中。
  2. 使用以下命令在集群的其他机器中重新 multipathd 守护进程:
# service multipathd start
  1. 如果添加新设备,需要重复这个过程。同时需要在变更时及时备份和维护/etc/multipath/bindings配置文件。

如果您为某个设备配置别名以便在集群的节点中使其保持一致,您应确定 /etc/multipath.conf 文件对于集群中的每个节点都是一样的,步骤如下:

  1. 为一台机器上 multipath.conf 文件中的多路径设备配置别名。
  2. 运行以下命令禁用其它机器上所有的多路径设备:
# service multipathd stop
# multipath -F
  1. 将第一台机器中的 /etc/multipath.conf 文件复制到集群中的其它所有机器中。
  2. 使用以下命令在集群的其他机器中重新 multipathd 守护进程:
# service multipathd start
  1. 如果添加新设备,需要重复这个过程。同时需要在变更时及时备份和维护/etc/multipath/bindings配置文件。

默认multipath没有DM multipath配置文件,使用以下命令生成:

/sbin/mpathconf --enable --find_multipaths y --with_module y --user_friendly_names y --with_multipathd y|             |                 |                  |                     |_______________启动multipathd守护进程,非必要按需开启。|             |                 |                  |_____________________________________设置用户友好名称,非必要按需开启。|             |                 |________________________________________________________加载dm-multipath模块,默认为Y。  |             |__________________________________________________________________________设置为发现多路径模式,默认为Y。  |________________________________________________________________________________________开启或关闭控制文件,enable开启,disable关闭。  

注:
可使用 mpathconf 程序设置多路径,它可创建多路径配置文件 /etc/multipath.conf。
如果 /etc/multipath.conf 文件已存在,mpathconf 程序将会编辑该文件。
如果 /etc/multipath.conf 文件不存在,mpathconf 程序将使用 /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf 文件作为起始文件。
如果 /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf 文件不存在,则 mpathconf 程序将从头开始创建 /etc/multipath.conf 文件。
如果在启动 multipath 守护进程后发现需要编辑 multipath 配置文件,则必须执行 service multipathd reload 命令方可使更改生效。

multipath命令用法:

 multipath -ll    ------查看多路径映射情况。  eg:  
3600d0230000000000e13955cc3757800 dm-1 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 6:0:0:0 sdb 8:16  active ready  running
`-+- policy='round-robin 0' prio=1 status=enabled`- 7:0:0:0 sdf 8:80  active ready  running++++++++++++++++++内容注释++++++++++++++++++
对于每个多路径设备:action_if_any: alias (wwid_if_different_from_alias) dm_device_name_if_known vendor,product   size=size features='features' hwhandler='hardware_handler' wp=write_permission_if_known   
对与每个路径组群:  
-+- policy='scheduling_policy' prio=prio_if_known status=path_group_status_if_known  
对于每个路径:  
`- host:channel:id:lun devnode major:minor dm_status_if_known path_status online_status
选项 描述
-l 显示来自 sysfs 和设备映射器的当前多路径配置。
-ll 显示来自 sysfs 、设备映射器以及系统中其他所有可用组件的当前多路径配置。
-f device 删除命名的多路径设备。
-F 删除所有不使用的多路经设备。
-w device 从 wwids 文件中删除指定设备的 wwid。
-W 重新设定 wwids 文件使其只包含当前 multipath 设备。
-v0 初始化时没有输出。
-v1 则只输出生成或者更新的路径名称。
-v2 将输出所有检测到的路径、多路径和设备映射。
多路径命令详解参考网页链接

默认配置文件内容块:

defaults {                                  -----DM Multipath 的常规默认设置。
find_multipaths yes                         
user_friendly_names yes
}
blacklist {                                ------不被视为多路径的具体设备列表。
wwid 3600508b1001c5ae72efe1fea025cd2e5
devnode "^hd[a-z]"
devnode "^sd[a-b]"
devnode "^sda"
}
multipaths {                               ------各个独立多路径设备的特性设置。这些数值覆盖了在配置文件的 defaults 和 devices 部分中指定的数值。
multipath {
wwid 14f504e46494c4552356a657269452d66315a572d65773258
alias VMLHRStorage000
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
}
devices {                                 ------各个存储控制器的设置。这些数值覆盖了在配置文件的 defaults 部分指定的数值。如果要使用不是默认支持的存储阵列,则可能需要为您的阵列创建 devices 子部分。
device {
vendor "VMWARE"
product "VIRTUAL-DISK"
path_grouping_policy multibus
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
path_checker readsector0
path_selector "round-robin 0"
hardware_handler "0"
failback 15
rr_weight priorities
no_path_retry queue
}
}  
EG:
defaults {user_friendly_names     yespath_grouping_policy    multibus
}+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
multipath.conf 配置文件的defaults部分中设置的属性。DM Multipath会使用这些值,除非该属性被multipath.conf文件的  
devices和multipaths部分所指定的属性覆盖。

image.png

multipaths {multipath {wwid                  3600508b4000156d70001200000b0000alias                 yellowpath_grouping_policy  multibuspath_selector         "round-robin 0"failback              manualrr_weight             prioritiesno_path_retry         5}multipath {wwid                  1DEC_____321816758474alias                 redrr_weight             priorities}
}+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
multipath.conf 配置文件multipaths部分中可为每个特定多路径设备设置的属性。这些属性只适用于一个指定的multipath。  
这些默认属性可供DM Multipath使用,并且能覆盖multipath.conf文件中defaults和devices部分设置的属性。  

image.png

device {vendor			"COMPAQ  "product			"MSA1000         "path_grouping_policy	multibuspath_checker		turrr_weight		priorities}  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
multipath.conf配置文件devices部分的每个独立储存设备能设置的属性。DM Multipath会使用这些属性,除非它们被  
multipath.conf文件multipaths部分为包含该设备的路径所指定的属性覆盖。devices部分属性会覆盖multipath.conf文件defaults  
部分设定的属性。 

如需在配置文件的这部分添加没有默认自动配置的设备,您需要设置vendor和product参数。获取相关这两个值可以通过查看/sys/block/device_name/device/vendor和/sys/block/device_name/device/model中找到这些值,其中device_name 是要进行多路径操作的设备,示例如下:

# cat /sys/block/sda/device/vendor
WINSYS  
# cat /sys/block/sda/device/model
SF2372+++++++++++++++++++++++++++++++附相关自动生成脚本,每次执行需要按需进行调整+++++++++++++++++++++++++++++++++++++++++++++ 
#/bin/bash
for i in b c d e f g h idoecho "$i vendor is : `cat /sys/block/sd$i/device/vendor`"echo "$i model is : `cat /sys/block/sd$i/device/model`"echo '++++++++++++++++++++++++++'
done

image.png

++++++++++++++++++++++完整示例+++++++++++++++++++++++
## Use user friendly names, instead of using WWIDs as names.              
defaults {                                                                user_friendly_names yes                                           polling_interval 10 find_multipaths yes                                        
}  
#blacklist {                                                               
#        devnode "*"                                                      
#}            
multipaths {                                                              multipath {                                                        wwid                    14f504e46494c4552594c796765322d5368436d2d5a6b7138  alias                   mpatha                             }                                                                  multipath {                                                        wwid                    14f504e46494c45524961506456612d4a3062462d6e395764  alias                   mpathb                             }                                                                  multipath {                                                        wwid                    14f504e46494c45526157663366522d443064552d6c78676f  alias                   mpathc                             }                                                                  multipath {                                                        wwid                    14f504e46494c45524c7170734b6c2d557536702d6e487970  alias                   mpathd                             }       
}                                                                         
devices {                                                                 device {                                                           vendor                  "OPNFILER"                         product                 "VIRTUAL-DISK"                               no_path_retry           5                                  features                "0"                                hardware_handler        "0"                                path_grouping_policy    multibus                           
#               getuid_callout          "/sbin/scsi_id -g -u -s /block/%n" path_checker            tur                                path_selector           "round-robin 0"                    failback                manual                             rr_weight               uniform                            rr_min_io               100rr_min_io_rq            100                                }                                                           
}  

参考链接:redhat官网多路径相关文档

red_hat_enterprise_linux-7-dm_multipath-zh-cn.pdf

multipath删除不用映射盘操作
1.备份/etc/multipath.conf、/etc/multipath/binds、wwids
2.将三个配置文件中的失效盘相关配置进行清理。
3.记录multipath -ll结果,盘个数,链路状态。
4.删除失效的映射盘:
multipath -f mpathaf
5.检查是否成功及相关配置文件是否有变化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/834710.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如果让你来设计网络

如果让你来设计网络 你是一台电脑,你的名字叫 A 很久很久之前,你不与任何其他电脑相连接,孤苦伶仃。 ​​ 直到有一天,你希望与另一台电脑 B 建立通信,于是你们各开了一个网口,用一根网线连接了起来。 ​​ 用一根网线连接起来怎么就能"通信"了呢?我可以给你讲…

Wincc 7.5SP1下VBA编程练习:批量设置看见权限

这一篇学习笔记我在新浪发表过,那边还在审核。在这里也记录一下。 前两天QQ群里面有人询问能不能快速的给WINCC画面上的控件设置操作权限,这个是比较容易的。比如有个画面有10个IO域,在VBA编辑器写下面的脚本:Sub IOField_PropertyTrigger1() Dim objects Dim obj Dim objd…

项目冲测6

项目冲测6这个作业属于哪个课程 计科12班这个作业的要求在哪里 项目冲测 一.团队简介 队名:菜鸟队姓名 学号 团队责任巴哈尔古丽吾甫尔 3222004679 协调团队工作,对作业任务进行整理分配,整理博客工具人努日曼姑丽阿卜来孜 3222004935 指定测试计划,对软件进行测试,漏洞整…

20222407 2024-2025-1 《网络与系统攻防技术》实验六实验报告

1.实验内容 1.1 本周学习内容回顾 Metasploit 是一个功能强大的渗透测试框架,广泛应用于网络安全领域。它为安全专家、渗透测试人员和红队提供了一个全面的工具集,支持漏洞利用、攻击模拟和安全评估。Metasploit 提供了丰富的攻击模块,涵盖了远程代码执行、服务拒绝、提权等…

项目冲测5

项目冲测5这个作业属于哪个课程 计科12班这个作业的要求在哪里 项目冲测 一.团队简介 队名:菜鸟队姓名 学号 团队责任巴哈尔古丽吾甫尔 3222004679 协调团队工作,对作业任务进行整理分配,整理博客工具人努日曼姑丽阿卜来孜 3222004935 指定测试计划,对软件进行测试,漏洞整…

基于Java+SSM+JSP+MYSQL实现的宠物领养收养管理系统功能设计与实现四

三、系统设计基于SSM整合maven开发的一款宠物收养领养管理系统附带源码指导运行视频,该项目前端模板是借鉴别人的,自己写的后台代码,该系统分为前台和后台,前台功能有:登录注册、领养中心、活动中心等。后台管理员功能有:用户管理、宠物管理、活动管理、领养管理、志愿者…

项目冲测4

项目冲测4这个作业属于哪个课程 计科12班这个作业的要求在哪里 项目冲测 一.团队简介 队名:菜鸟队姓名 学号 团队责任巴哈尔古丽吾甫尔 3222004679 协调团队工作,对作业任务进行整理分配,整理博客工具人努日曼姑丽阿卜来孜 3222004935 指定测试计划,对软件进行测试,漏洞整…

此操作系统不支持 .NET Framework 4.8.1

解决办法: 安装一个4.8的离线包,下载地址:https://download.visualstudio.microsoft.com/download/pr/2d6bb6b2-226a-4baa-bdec-798822606ff1/8494001c276a4b96804cde7829c04d7f/ndp48-x86-x64-allos-enu.exe 感谢吾爱:点击跳转 终于安装上了:作者QQ4577105

MarkText使用教程-cnblog

MarkText使用教程 typora是需要付费的,就算使用破解版的,每次都要点....,可能有的时候不需要 还是觉得不好 找到开源的MarkText,个人觉得还是非常好用的 使用的方法也和typora差不多的,用习惯了就好了 下载安装 首先我们要登录github,搜索Marktext 但基本都会搜索到英文版的,对…

20222427 2024-2025-1 《网络与系统攻防技术》实验六实验报告

1.实验内容 1.1 本周学习内容回顾使用了Metasploit框架,其是一个功能强大的渗透测试框架。在使用的过程当中,Metasploit 提供了种类繁多的攻击模块,涵盖了远程代码执行、服务拒绝、提权等多种攻击方式,支持对多种操作系统和应用程序进行测试。除了漏洞利用,它还具备强大的…

ShardingSphere 如何完美驾驭分布式事务与 XA 协议?

0 前言 基于上一文基础,详细展开 ShardingSphere 分布式事务实现。先看支持强一致性事务的XAShardingTransactionManager。 1 XAShardingTransactionManager 回到 ShardingSphere,来到 sharding-transaction-xa-core 工程的 XAShardingTransactionManager 类,分布式事务的 X…

基于Java+SSM+JSP+MYSQL实现的宠物领养收养管理系统功能设计与实现三

基于SSM整合maven开发的一款宠物收养领养管理系统附带源码指导运行视频,该项目前端模板是借鉴别人的,自己写的后台代码,该系统分为前台和后台,前台功能有:登录注册、领养中心、活动中心等。后台管理员功能有:用户管理、宠物管理、活动管理、领养管理、志愿者管理等。该项…