linux下多路径dm不一致,DM多路径存储

什么是 multipath?

普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN 环境,由于主机和存储通过了光纤交换机连接,这样的话,就构成了多对多的关系。也就是说,主机到存储可以有多条路径可以选择。主机到存储之间的IO 由多条路径可以选择。既 然,每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O 流量如何分配?其中一条路径坏掉了,如何处理?还有在操作系统的角度来 看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来了困惑。多路径软件就是为了解决上面的问题应运而生的。

多路径的主要功能就是和存储设备一起配合实现如下功能:

1) 故障的切换和恢复

2) IO 流量的负载均衡

3) 磁盘的虚拟化

DM 多路径存储

系统环境: RHEL6 x86_64 small install selinux and iptables disabled

主机规划:

主机

网卡

软件

station133

eth0: 192.168.0.133

eth1: 192.168.0.132

scsi-target-utils

station28

eth0: 192.168.0.28

Iscsi-initiator-utils

device-mapper

device-mapper-multipath

可使用 DM-Multipath 提供:

•冗余

DM-Multipath 可在主动/被动配置中提供出错冗余。在主动/被动配置中,只有一半的路径在每次 I/O 时都使用。如果 I/O 路径的任意元素(电缆、交换机或者控制器)出现故障,就会将 DM-Multipath 切换到备用路径。

•改进性能

可将 DM-Multipath 配置为主动/主动模式,其中将 I/O 以轮叫调度算法方式分布到所有路径中。在有些配置中,DM-Multipath 可在 I/O 路径中检测负载并动态重新平衡负载。

DM-Multipath 组件

组件

描述

dm-multipath内核模式

为路径和路径组群重新指定I/O并支持出错冗余

mpathconf命令

配置并启用设备器多路径

multipath命令

列出并配置多路径设备。通常从/etc/rc.sysinit开始,还可以使用udev程序随时添加块设备,或者可用initramfs文件系统运行。

multipathd守护进程

监视器路径,如果路径故障并返回,它可能会启动路径族群切换。可为多路径设备提供互动修改。对/etc/multipathd.conf文件的任何修改都必须启动它。

kpartx命令

为设备中的分区生成设备映射器设备。这个命令对带DM-MP的DOS分区是很必要的,kpart在其自身软件包中就存在,但device-mapper-multipath软件包要依赖它。

1. 软件安装

station133:

yum install scsi-target-utils -y

station28:

yum install Iscsi-initiator-utils ccs device-mapper device-mapper-multipath -y

2. ISCSI 配置

station133:

service tgtd start

tgtadm --lld iscsi --mode target --op new --tid 1 -T storage1

tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 -b /dev/xvdb1

tgtadm --lld iscsi --mode target --op bind --tid 1 -I ALL

station28:

service iscsid start

iscsiadm -m discovery -t st -p 192.168.0.133

iscsiadm -m node -T storage1 -p 192.168.0.133 -l

iscsiadm -m discovery -t st -p 192.168.0.132

iscsiadm -m node -T storage1 -p 192.168.0.132 -l

3. DM 配置

配置文件模板:

#/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf

你也可以使用: “mpathconf --enable ”指令生成主配置文件,并且会自动启用 multipathd.

vi /etc/multipath.conf

blacklist {

devnode "vda"    #禁止使用/dev/vda 设备

}

defaults {

user_friendly_names    yes

udev_dir                        /dev            #生成 udev 设备节点的目录,默认值为 /dev。

path_grouping_policy    failover    #failover 为主备模式; multibus 为负载均衡模式

failback        immediate #指定立即恢复到包含活跃路径的最高级别路径组群

no_path_retry        fail        #这个属性的数字值指定系统在禁用队列前应该试图使用失败的路径的次数.fail 值表明立即失败,无需排队。

}

#service multipathd start

当将 user_friendly_names 配置设定为 yes,会将该多路径设备的名称设定为 mpathn。

当在 DM-Multipath 中添加新设备时,这些新设备会位于 /dev 目录的两个不同位置:

/dev/mapper/mpathn 和 /dev/dm-n。

•/dev/mapper 中的设备是在引导过程中生成的。可使用这些设备访问多路径设备,例如在生成逻辑卷时。

•所有 /dev/dm-n 格式的设备都只能是作为内部使用,请不要使用它们。

# multipath -ll

mpatha (1IET00010001) dm-0 IET,VIRTUAL-DISK

size=2.0G features='0' hwhandler='0' wp=rw

|-+- policy='round-robin 0' prio=1 status=active

| `- 2:0:0:1 sda 8:0 active ready running

`-+- policy='round-robin 0' prio=1 status=enabled

`- 3:0:0:1 sdb 8:16 active ready running

注:可以看到 sda 和 sdb 两条链路复合成一条链路 mpatha,此为 Failover(主备)情况,当你对 mpatha 设备读写时,处于 active 状态的 sda 链路有数据流,而处于 enabled 状态的sdb 链路无数据流;当 sda 链路出现问题时,才会切换到 sdb 链路上。

4. 测试

用 dd 往磁盘读写数据,然后用 iostat 观察各通道的流量和状态,以判断 Failover 或负载均衡方式是否正常:

# dd if=/dev/zero of=/dev/mapper/mpatha

# iostat -k 2

如果成功你会发现,当断开链路 sda 时,等待片刻,会自动切换到链路 sdb 上,并不会造成写入失败。

手动切换模式:(如果需要永久生效直接修改 multipath.conf,并重新 reload)

# multipath -F        # 刷新所有的多路径设备映射

# multipath -p multibus -v0 # 切换成负载均衡模式

# multipath -ll

mpatha (1IET

00010001) dm-0 IET,VIRTUAL-DISK

size=2.0G features='0' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=1 status=active

|- 2:0:0:1 sda 8:0 active ready running

`- 3:0:0:1 sdb 8:16 active ready running

如果成功你会发现它会根据轮叫方式调度链路 sda 和 sdb,从而实现负载均衡。

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS操作系统支持多路径存储的配置,以增加存储设备的冗余和可靠性。下面是在CentOS上配置多路径存储的步骤: 1. 安装设备及多路径软件:首先,确保服务器已连接到存储设备,并安装了正确的多路径软件。常见的多路径软件包括Device Mapper Multipath (dm-multipath)、Multipath I/O (MPIO)、DM-MPIO、EMC PowerPath等。在CentOS上,通过运行命令`yum install device-mapper-multipath`来安装dm-multipath软件包。 2. 配置多路径:编辑`/etc/multipath.conf`文件,该文件为多路径软件的配置文件。根据存储设备的类型和供应商,配置文件需要定义一些设备属性和路径配置。可以查看存储设备的文档或联系供应商以获取正确的配置信息。配置文件中的一些常见选项包括`alias`用于定义存储设备的别名、`wwid`用于指定存储设备的唯一标识符、`path_grouping_policy`用于指定路径组的策略等。 3. 启用并重启多路径服务:启用dm-multipath服务,通过运行命令`systemctl enable multipathd`。然后,重启多路径服务,通过运行命令`systemctl restart multipathd`。 4. 验证配置:运行命令`multipath -ll`来查看多路径配置是否生效。该命令将显示所有已配置的多路径设备及其路径信息。确保设备和路径的状态正常,没有错误信息。 5. 使用多路径:一旦多路径存储配置成功,可以像使用普通存储设备一样使用多路径设备。可以将多路径设备挂载到文件系统上,并进行读写操作。 通过以上步骤,可以在CentOS上成功配置多路径存储,增强服务器的存储冗余性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值