RHEL8 多路径配置详解

RHEL8 多路径配置详解 

引言

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

一、多路径技术概述

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

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

二、配置虚拟机参数

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

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

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

1.1 定位配置文件

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

1.2 编辑配置文件Oracle19c_rhel8.vmx

添加如下内容

disk.EnableUUID = "TRUE"

disk.locking=false

1.3 验证

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

36000c29fa153119f4f69bf83037b2a06

二、查看当前存储配置

2.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.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

三、多路径配置

3.1 多路径软件安装

yum -y install device-mapper*

3.2 多路径配置文件

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

  • multipath:主要用于存储工程师对多路径的维护,包括显示多路径信息、管理多路径设备等。
  • multipathd:守护进程,负责监视路径状态,当发生故障时将重新配置路径所属的虚拟盘,以便该虚拟盘恢复。
  • multipath.conf:配置文件,multipathd服务启动时读取该文件中的参数,并按参数的约定进行多路径设备管理。

3.3、多路径配置文件详解

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

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

  • defaults:定义MultiPath的默认设置。
  • blacklist:定义排除哪些设备(黑名单)。
  • blacklist_exceptions:定义包含的设备(白名单)。
  • multipaths:定义某个多路径设备的设置。
  • devices:定义各个存储控制器类型的设置。

3.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

3.5 加载配置

[root@db2 ~]# multipath -r

3.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

四、故障排查

4.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、付费专栏及课程。

余额充值