云贝教育 |【操作系统】RHEL8 多路径配置详解

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

引言

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

一、多路径技术概述

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

  • 链路故障的切换和恢复:当一条或多条路径发生故障时,能够自动切换到其他可用路径,确保数据的连续访问。
  • I/O流量的负载均衡:通过将I/O请求均匀地分配到所有可用路径上,提高存储系统的整体性能。
  • 磁盘的虚拟化:通过将多条物理路径合并为一个逻辑设备,简化了存储管理。

二、配置虚拟机参数

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

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

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

2.1 定位配置文件

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

2.2 编辑配置文件Oracle19c_rhel8.vmx

添加如下内容

disk.EnableUUID = "TRUE"
disk.locking=false

2.3 验证

[root@db2 ~]# /usr/lib/udev/scsi_id -g -u /dev/sda 
36000c29fa153119f4f69bf83037b2a06

三、查看当前存储配置

3.1 确认需要配置的存储

[root@db2 ~]# lsblk 
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda            8:0    0    2G  0 disk 
sdb            8:16   0    2G  0 disk 
sdc            8:32   0    2G  0 disk 
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

3.2 批量获取设置的scsi_id

for x in a b c;
do
echo "/dev/sd$x"  `/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$x`
done;

示例
[root@db2 ~]# for x in a b c;
> do
> echo "/dev/sd$x"  `/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$x`
> done;
/dev/sda 36000c29fa153119f4f69bf83037b2a06
/dev/sdb 36000c29cf5192f3187e7aceb576d7db3
/dev/sdc 36000c29e74792408b024a8953e0f9e60

四、多路径配置

4.1 多路径软件安装

yum -y install device-mapper*

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磁盘组为示例(用户和权限未配置)
cat <<EOF >>/etc/multipath.conf
defaults {
user_friendly_names yes
find_multipaths yes
}
blacklist {
}

multipaths {
    multipath {
    wwid '36000c29fa153119f4f69bf83037b2a06'
    alias asm_ocr01
    }
  multipath {
    wwid '36000c29cf5192f3187e7aceb576d7db3'
    alias asm_ocr02
    }
  multipath {
    wwid '36000c29e74792408b024a8953e0f9e60'
    alias asm_ocr03
    }
}
EOF

4.5 加载配置

[root@db2 ~]# multipath -r

4.6 验证

  • 多路径详细配置
[root@db2 ~]# multipath -v3
。。。
===== paths list =====
uuid                                 hcil     dev     dev_t pri dm_st chk_st v
36000c29fa153119f4f69bf83037b2a06    32:0:0:0 sda     8:0   1   undef undef  V
36000c29cf5192f3187e7aceb576d7db3    32:0:1:0 sdb     8:16  1   undef undef  V
36000c29e74792408b024a8953e0f9e60    32:0:2:0 sdc     8:32  1   undef undef  V
eui.ed5c00fc547e3125000c2969331c5b03 0:0:1:1  nvme0n1 259:0 1   undef undef  N
eui.7b5d349705989cb3000c296d7522417b 0:0:2:2  nvme0n2 259:4 1   undef undef  N
eui.c469682eac9c4916000c29600e605c86 0:0:3:3  nvme0n3 259:5 1   undef undef  N
  • 多路径拓扑
[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

五、故障排查

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

  • 问题现象

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

  • 问题原因

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

  • 问题解决

1)查看映射设备信息

[root@db2 ~]# lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda            8:0    0    2G  0 disk  
sdb            8:16   0    2G  0 disk  
sdc            8:32   0    2G  0 disk  
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

2) 查看设备对应的WWID

[root@db2 ~]# sg_inq --page=0x83 /dev/sda
VPD INQUIRY: Device Identification page
  Designation descriptor number 1, descriptor length: 20
    designator_type: NAA,  code_set: Binary
    associated with the Addressed logical unit
      NAA 6, IEEE Company_id: 0xc29
      Vendor Specific Identifier: 0xfa153119f
      Vendor Specific Identifier Extension: 0x4f69bf83037b2a06
      [0x6000c29fa153119f4f69bf83037b2a06]
[root@db2 ~]# sg_inq --page=0x83 /dev/sdb
VPD INQUIRY: Device Identification page
  Designation descriptor number 1, descriptor length: 20
    designator_type: NAA,  code_set: Binary
    associated with the Addressed logical unit
      NAA 6, IEEE Company_id: 0xc29
      Vendor Specific Identifier: 0xcf5192f31
      Vendor Specific Identifier Extension: 0x87e7aceb576d7db3
      [0x6000c29cf5192f3187e7aceb576d7db3]
[root@db2 ~]# sg_inq --page=0x83 /dev/sdc
VPD INQUIRY: Device Identification page
  Designation descriptor number 1, descriptor length: 20
    designator_type: NAA,  code_set: Binary
    associated with the Addressed logical unit
      NAA 6, IEEE Company_id: 0xc29
      Vendor Specific Identifier: 0xe74792408
      Vendor Specific Identifier Extension: 0xb024a8953e0f9e60
      [0x6000c29e74792408b024a8953e0f9e60]

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

[root@db2 ~]# multipath -a 36000c29fa153119f4f69bf83037b2a06
wwid '36000c29fa153119f4f69bf83037b2a06' added
[root@db2 ~]# multipath -a 36000c29cf5192f3187e7aceb576d7db3
wwid '36000c29cf5192f3187e7aceb576d7db3' added
[root@db2 ~]# multipath -a 36000c29e74792408b024a8953e0f9e60
wwid '36000c29e74792408b024a8953e0f9e60' added

4)确认添加成功

[root@db2 ~]# cat /etc/multipath/wwids 
# Multipath wwids, Version : 1.0
# NOTE: This file is automatically maintained by multipath and multipathd.
# You should not need to edit this file in normal circumstances.
#
# Valid WWIDs:
/36000c29fa153119f4f69bf83037b2a06/
/36000c29cf5192f3187e7aceb576d7db3/
/36000c29e74792408b024a8953e0f9e60/

5)重新加载服务

[root@db2 ~]# multipath -r

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值