用户友好的设备名称
为了有效地进行故障排除,可以将 device-mapper 配置为在 /dev/mapper 下具有人类可读、用户友好的设备名称,而不是使用 WWID。
可以通过在 /etc/multipath.conf 文件中启用 user_friendly_names 选项来创建像 /dev/mapper/mpath0 这样的用户友好名称:
defaults { user_friendly_names yes }
我们还可以使用别名选项控制特定 LUN 的名称:
multipaths { multipath { wwid 3600a0b8000473abc0000bafc52fac127 alias mdisk001 } }
如何验证是否安装并配置了 DMMP
1.检查是否安装了device-mapper。
# rpm -qa |grep device-mapper device-mapper-1.02.39-1.el5 device-mapper-multipath-0.4.7-34.el5 device-mapper-1.02.39-1.el5 device-mapper-event-1.02.39-1.el5
- 检查以下设备映射器模块是否已加载。
# lsmod |grep dm_multipath dm_multipath 56921 2 dm_round_robin scsi_dh 42177 2 scsi_dh_rdac,dm_multipath dm_mod 101649 11 dm_mirror,dm_multipath,dm_raid45,dm_log
- 如果满足上述条件,请检查文件/etc/multipath.conf 是否配置。
确保将粗体行注释掉以启用设备映射器。
# This is a basic configuration file with some examples, for device mapper multipath ...... # Blacklist all devices by default. Remove this to enable multipathing # on the default devices. #blacklist { # devnode "*" #} ......
- 检查 multipathd 是否正在运行。
# /etc/init.d/multipathd status "multipathd (pid 11405) is running..."
- 如果是,请使用以下命令检查列出的任何设备。
# multipath -v2 or # multipath -ll mpath15 (3600a0b8000473abc0000bafc52fac127) dm-14 SUN,STK6580_6780 [size=10G][features=0][hwhandler=0][rw] _ round-robin 0 [prio=1][enabled] _ 8:0:0:2 sds 65:32 [active][ready] _ round-robin 0 [prio=0][enabled] _ 9:0:0:2 sdu 65:64 [active][faulty] mpath13 (3600a0b8000473abc0000bb74530aa7da) dm-12 SUN,STK6580_6780 [size=931G][features=0][hwhandler=0][rw] _ round-robin 0 [prio=1][enabled] _ 9:0:0:0 sdp 8:240 [active][ready] _ round-robin 0 [prio=0][enabled] _ 8:0:0:0 sdo 8:224 [active][faulty]
如果以上所有步骤都成功,则系统已配置为 DMMP。
Linux删除多路径 DM multipathing
删除多路径设备的所有路径后,运行以下命令以完全删除多路径设备:
# multipath -f [device]
在停止 multipahtd 守护进程后刷新所有多路径设备:
# multipath -F
验证配置
multipath 命令可用于验证 multipathinf 配置。
要列出有关多路径设备的信息:
# multipath -ll mpath0 (3600a0b8000473abc0000bafc52fac127) dm-14 SUN,STK6580_6780 [size=10G][features=0][hwhandler=0][rw] _ round-robin 0 [prio=1][enabled] _ 8:0:0:2 sds 65:32 [active][ready] _ round-robin 0 [prio=0][enabled] _ 9:0:0:2 sdu 65:64 [active][faulty]
输出显示多路径 LUN mpath0 。
后面的数字是 LUN 的 WWID 。
状态 active/ready 表示路径已准备好进行 I/O。
如果路径显示错误/失败,则需要在将其用于 I/O 之前对其进行修复。
配置完成后,我们可以持久启动multipathd:
# /etc/init.d/multipathd start # chkconfig multipathd on
多路径配置
在开始配置多路径之前,请确保安装了 device-mapper-multipath 包。
如果未安装,请使用 yum 安装:
# yum -y install device-mapper-multipath
设备映射器多路径使用配置文件 /etc/multipath.conf 进行配置。
如果对此文件进行任何更改,则必须运行 multipath 命令以重新配置多路径设备。
创建此文件的最简单方法是使用 mpathconf 实用程序。
如果存在现有的配置文件 mpathconf 将编辑它,如果不存在这样的文件它将复制 /usr/share/doc/device-mapper-multipath-*/multipath.conf 。
# mpathconf --enable --with_multipathd y --with_chkconfig y
配置文件由 5 个主要部分组成,如下所示:
部分 | 说明 |
---|---|
defaults | 系统级默认配置 |
blacklist | 列入黑名单的设备。 不应在 DMMP 下配置的设备 |
blacklist_exceptions | 列入黑名单的设备的例外情况 |
devices | 单个存储控制器设备的设置 |
multipaths | 微调单个 LUN 的配置 |
什么是设备映射器多路径
设备映射器多路径 即Device Mapper Multipathing(或者 DM-multipathing)是一个 Linux 原生多路径工具,它允许我们将服务器节点和存储数组之间的多个 I/O 路径配置到单个设备中。
这些 I/O 路径是物理 SAN 连接,可以包括单独的电缆、交换机和控制器。
多路径聚合 I/O 路径,创建由聚合路径组成的新设备。
无论使用的供应商硬件如何,设备映射器都会在 /dev/mapper/ 下为连接到系统的每个 LUN 创建一个块设备。
设备映射器组件
Device Mapper 多路径的重要组成部分是:
组件 | 描述 |
---|---|
dm-multipath | 内核模块负责在正常/失败条件下做出路由决策 |
multipath | 用于查看/列出多路径设备和初始配置的命令 |
multipathd | 守护路径,标记失败的路径,重新激活恢复的路径,根据需要添加/删除设备文件。 |
kpartx | 用于为多路径 LUN 上的分区创建设备映射器条目的命令。 使用 multipath 命令时会自动调用它。 |
多路径(Multipathing)概述
路径是服务器和底层存储之间的连接。
由于 HBA 故障、电缆故障等多种原因,路径可能会被切断。
为了避免这种单点故障,存在多路径。
多路径确保系统使用多个物理路径来提供冗余和增加的吞吐量。
有许多特定于供应商的多路径实施,例如 EMC 的 powerpath 和 Symantecs VxDMP。