陈老师:1415968548 郑老师:2735197625 乐老师:354331153
客服热线:
19941464235 / 19906632509 / 19906733890 / 19905812933(微信同号)

客服微信

【红帽】RHEL8 多路径配置详解

作者:刘老师
发布时间:2024-08-30 14:52
浏览量:249

本文为云贝教育 刘老师 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。


引言

在现代数据中心中,为了提高存储系统的可靠性和性能,多路径技术成为了一种重要的解决方案。多路径技术允许多条物理路径同时连接到同一个存储设备,从而提高了系统的可用性和I/O性能。本文将详细介绍如何在Linux系统中配置多路径技术,包括多路径的基本原理、配置步骤以及常见问题的解决方法。


一、多路径技术概述

多路径技术(MultiPath)是指通过多条物理路径连接到同一存储设备的技术。在Linux操作系统中,多路径软件Device Mapper MultiPath(简称DM-MultiPath)是实现多路径功能的核心组件。DM-MultiPath主要具备以下功能:

• 链路故障的切换和恢复:当一条或多条路径发生故障时,能够自动切换到其他可用路径,确保数据的连续访问。

• I/O流量的负载均衡:通过将I/O请求均匀地分配到所有可用路径上,提高存储系统的整体性能。

• 磁盘的虚拟化:通过将多条物理路径合并为一个逻辑设备,简化了存储管理。


二、配置虚拟机参数

一定要在虚拟机关闭状态下配置!

一定要在虚拟机关闭状态下配置!

一定要在虚拟机关闭状态下配置!


2.1 定位配置文件

右键虚拟机列表中的目标服务器


2.2 编辑配置文件Oracle19c_rhel8.vmx

添加如下内容


2.3 验证



三、查看当前存储配置

3.1 确认需要配置的存储


3.2 批量获取设置的scsi_id


四、多路径配置

4.1 多路径软件安装


4.2 多路径配置文件

MultiPath Tools主要由以下三个部分组成:

• multipath:主要用于存储工程师对多路径的维护,包括显示多路径信息、管理多路径设备等。

• multipathd:守护进程,负责监视路径状态,当发生故障时将重新配置路径所属的虚拟盘,以便该虚拟盘恢复。

• multipath.conf:配置文件,multipathd服务启动时读取该文件中的参数,并按参数的约定进行多路径设备管理。


4.3 多路径配置文件详解

配置文件multipath.conf位于/etc/multipath.conf,如果该文件不存在,可以通过/usr/share/doc/device-mapper-multipath/multipath.conf获取。

multipath.conf由多个“节”(section)组成,主要包括:

• defaults:定义MultiPath的默认设置。

• blacklist:定义排除哪些设备(黑名单)。

• blacklist_exceptions:定义包含的设备(白名单)。

• multipaths:定义某个多路径设备的设置。

• devices:定义各个存储控制器类型的设置。


4.4 多路径配置

• 以oracle asm磁盘组为示例(用户和权限未配置)


4.5 加载配置


4.6 验证

• 多路径详细配置


• 多路径拓扑


五、故障排查

5.1 multipath -ll扫不到单路径映射设备设备

• 问题现象

通过multipath -ll扫不到单路径映射设备设备


• 问题原因

FC连接配置问题,vmwar配置的虚拟机只使用一条FC链路进行映射,使用两条FC链路及以上没有该问题


• 问题解决

1)查看映射设备信息


2) 查看设备对应的WWID


3) 添加设备wwid到wwids文件中


4)确认添加成功


5)重新加载服务


6)查看信息

[root@db2 ~]# multipath -ll
asm_ocr02 (36000c29cf5192f3187e7aceb576d7db3) dm-2 VMware,,VMware Virtual S
size=2.0G features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
  `- 32:0:1:0 sdb     8:16  active ready running
asm_ocr01 (36000c29fa153119f4f69bf83037b2a06) dm-1 VMware,,VMware Virtual S
size=2.0G features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
  `- 32:0:0:0 sda     8:0   active ready running
asm_ocr03 (36000c29e74792408b024a8953e0f9e60) dm-3 VMware,,VMware Virtual S
size=2.0G features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
  `- 32:0:2:0 sdc     8:32  active ready running

[root@db2 ~]# fdisk -l | grep asm
Disk /dev/mapper/asm_ocr01: 2 GiB, 2147483648 bytes, 4194304 sectors
Disk /dev/mapper/asm_ocr02: 2 GiB, 2147483648 bytes, 4194304 sectors
Disk /dev/mapper/asm_ocr03: 2 GiB, 2147483648 bytes, 4194304 sectors

[root@db2 ~]# lsblk 
NAME         MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda            8:0    0    2G  0 disk  
└─asm_ocr01  253:1    0    2G  0 mpath 
sdb            8:16   0    2G  0 disk  
└─asm_ocr02  253:2    0    2G  0 mpath 
sdc            8:32   0    2G  0 disk  
└─asm_ocr03  253:3    0    2G  0 mpath 
nvme0n1      259:0    0   50G  0 disk  
├─nvme0n1p1  259:1    0  300M  0 part  /boot
├─nvme0n1p2  259:2    0    2G  0 part  [SWAP]
└─nvme0n1p3  259:3    0 47.7G  0 part  /
nvme0n2      259:4    0   30G  0 disk  
└─vg_01-lv01 253:0    0   30G  0 lvm   /dbs/pg14
nvme0n3      259:5    0   20G  0 disk  
└─vg_01-lv01 253:0    0   30G  0 lvm   /dbs/pg14

[root@db2 ~]# ll /dev/mapper/*
lrwxrwxrwx 1 root root       7 Jul 30 19:59 /dev/mapper/asm_ocr01 -> ../dm-1
lrwxrwxrwx 1 root root       7 Jul 30 19:59 /dev/mapper/asm_ocr02 -> ../dm-2
lrwxrwxrwx 1 root root       7 Jul 30 19:59 /dev/mapper/asm_ocr03 -> ../dm-3
crw------- 1 root root 10, 236 Jul 30 18:31 /dev/mapper/control
lrwxrwxrwx 1 root root       7 Jul 30 18:31 /dev/mapper/vg_01-lv01 -> ../dm-0