资源池化multipath多链路冗余环境搭建指南

为了进一步提高openGauss资源池化集群与Dorado存储设备(磁阵)之间的稳定性,为每个数据库节点新增冗余链路,以提高数据库集群的可靠性

本文以openGauss资源池化一主一备环境为例,介绍multipath多链路冗余环境的搭建流程

本次multipath多链路冗余环境搭建设备信息详情如下表所示。在正常集群的硬件配置基础之上,每个节点需要额外使用一张网卡进行备用链路搭建

机器名 IP OS 选定主网卡 && IP 选定备网卡 && IP 磁阵IP
centos131 x.x.x.131 CentOS 7 enp3s0f0: y.y.y.131 enp3s0f1: y.y.y.34 y.y.y.229
opengauss133 x.x.x.133 CentOS 7 enp2s0f0: y.y.y.35 enp129s0f0: y.y.y.133 y.y.y.229

一. 需要安装的软件

所需安装的软件及功能概述:

软件 功能概述
open-iscsi 允许主机系统通过 TCP/IP 网络连接到远程的 iSCSI 存储设备,使得这些存储设备在主机看来就像本地的磁盘一样,从而实现存储区域网络的功能
libvirt-daemon-driver-storage-iscsi 一个存储驱动程序,用于在基于libvirt的虚拟化环境中管理和使用 iSCSI 存储,iSCSI 存储驱动程序使得虚拟机能够方便地访问和使用 iSCSI 存储设备
device-mapper-multipath 要工作在设备映射器框架之上,能够将多个物理路径(通过不同的网络连接或者存储接口连接到存储设备的路径)虚拟成一个逻辑设备,为操作系统提供统一的存储访问接口

在不同OS下的device-mapper-multipath版本推荐,如下表所示

OS device-mapper-multipath推荐版本
centOS 7(x86) 0.4.9-111.el7.x86_64 ~ 0.4.9-136.el7_9.x86_64
openEuler 20.03(arm) 0.8.4-12.oe1.aarch64
openEuler 22.03(arm) 0.8.7-6.oe2203.aarch64

(1) 安装软件

1. yum install -y open-iscsi
2. yum install -y libvirt-daemon-driver-storage-iscsi
3. yum install -y device-mapper-multipath

(2) 使用rpm -qa|grep app检查软件是否正确安装,若未正确安装,该命令的输出为空

1. [root@centos131 ~]# rpm -qa|grep iscsi
2. iscsi-initiator-utils-6.2.0.874-22.el7_9.x86_64
3. libiscsi-1.9.0-7.el7.x86_64
4. libvirt-daemon-driver-storage-iscsi-4.5.0-36.el7_9.5.x86_64
5. iscsi-initiator-utils-iscsiuio-6.2.0.874-22.el7_9.x86_64

7. [root@centos131 ~]# rpm -qa|grep libvirt-daemon-driver-storage-iscsi
8. libvirt-daemon-driver-storage-iscsi-4.5.0-36.el7_9.5.x86_64

10. [root@centos131 ~]# rpm -qa|grep multipath
11. device-mapper-multipath-0.4.9-136.el7_9.x86_64
12. device-mapper-multipath-libs-0.4.9-136.el7_9.x86_64

二. 检查网卡与磁阵的连通性

(1) 使用ping命令测试四张网卡与磁阵的连通性

1. ping y.y.y.229 -I NIC // NIC表示待测网卡

检查131机器上的网卡enp3s0f0,enp3s0f1与磁阵的连通性

若网卡不通,则使用命令关闭反向路由检查,这里提供两种方法

a. 法一:重启会失效

1. echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
2. echo 0 > /proc/sys/net/ipv4/conf/enp3s0f0/rp_filter
3. echo 0 > /proc/sys/net/ipv4/conf/enp3s0f1/rp_filter

b. 法二:写入文件,长期有效,之后使用命令sysctl -p让配置信息生效

1. vim /etc/sysctl.conf

3. net.ipv4.conf.default.rp_filter = 0
4. net.ipv4.conf.all.rp_filter = 0
5. net.ipv4.tcp_tw_recycle = 0
6. net.ipv4.conf.default.rp_filter = 0
7. net.ipv4.conf.enp3s0f0.rp_filter = 0
8. net.ipv4.conf.enp3s0f1.rp_filter = 0

再检查133机器上的网卡enp2s0f0,enp129s0f0与磁阵的连通性

使用命令关闭反向路由检查

重启失效

1. echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
2. echo 0 > /proc/sys/net/ipv4/conf/enp2s0f0/rp_filter
3. echo 0 > /proc/sys/net/ipv4/conf/enp129s0f0/rp_filter
1. vim /etc/sysctl.conf

3. net.ipv4.conf.default.rp_filter = 0
4. net.ipv4.conf.all.rp_filter = 0
5. net.ipv4.tcp_tw_recycle = 0
6. net.ipv4.conf.default.rp_filter = 0
7. net.ipv4.conf.enp129s0f0.rp_filter = 0
8. net.ipv4.conf.enp2s0f0.rp_filter = 0

备注:若关闭反向路由检查后,网卡依旧ping不通磁阵,可联系物料管理员协助处理

三. 发现并连接磁阵

在131机器上使用命令发现目标磁阵

(1) 使用iscsiadm命令执行discovery发现目标磁阵,并用指定网卡登录

1. iscsiadm -m discovery -t st -p y.y.y.229 -l enp3s0f0
2. iscsiadm -m discovery -t st -p y.y.y.229 -l enp3s0f1
1. [root@centos131 ~]# iscsiadm -m discovery -t st -p y.y.y.229 -l enp3s0f0

3. y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229
4. y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229
5. Logging in to [iface: iscsi_enp3s0f0, target: iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229, portal: y.y.y.229,3260] (multiple)
6. Logging in to [iface: iscsi_enp3s0f1, target: iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229, portal: y.y.y.229,3260] (multiple)
7. Login to [iface: iscsi_enp3s0f0, target: iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229, portal: y.y.y.229,3260] successful.
8. Login to [iface: iscsi_enp3s0f1, target: iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229, portal: y.y.y.229,3260] successful.

10. [root@centos131 ~]# iscsiadm -m discovery -t st -p y.y.y.229 -l enp3s0f1

12. y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229
13. y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229

在133机器上的操作与机器131上的相同

1. [root@opengauss133 ~]# iscsiadm -m discovery -t st -p y.y.y.229 -l enp2s0f0
2. y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229

4. [root@opengauss133 ~]# iscsiadm -m discovery -t st -p y.y.y.229 -l enp129s0f0
5. y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229

从上面的命令输出可以看到,133少了2条链路,这里介绍冗余链路的配置过程

1. *********************************
2. *****  冗余链路的配置过程-开始  *****
3. *********************************

5. (1) 建立iscsi端口

7. iscsiadm -m iface -I iscsi_enp2s0f0 --op=new
8. iscsiadm -m iface -I iscsi_enp129s0f0 --op=new

10. (2) 绑定iscsi端口,建立网卡与iscsi端口之间的映射关系

12. iscsiadm -m iface -I iscsi_enp2s0f0 --op=update -n iface.net_ifacename -v enp2s0f0
13. iscsiadm -m iface -I iscsi_enp129s0f0 --op=update -n iface.net_ifacename -v enp129s0f0

15. (3) 确认iface配置

17. iscsiadm -m iface

19. (4) 重启iscsi服务

21. systemctl restart iscsi.service

23. (5) 若重启导致网络不通,执行关闭反向路由

25. echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
26. echo 0 > /proc/sys/net/ipv4/conf/enp2s0f0/rp_filter
27. echo 0 > /proc/sys/net/ipv4/conf/enp129s0f0/rp_filter

29. (6) 再次发射存储映射信息

31. iscsiadm -m discovery -t st -p y.y.y.229

33. (7) 查看端口服务信息

35. netstat -anp|grep 3260

37. *********************************
38. *****  冗余链路的配置过程-结束  *****
39. *********************************

四. 在Dorado的device manager平台进行主机和启动器绑定映射,并生成4块盘

(1) 创建主机cenos131,centos133

(2) 创建主机组centos_hg

(3) 将主机加入主机组

(4) 创建lun—为了生成4块盘

1. [15:0:0:1]   disk    HUAWEI   XSG1             6000  /dev/sdl   36382028100c0772b338f5c8900000011   214GB
2. [15:0:0:2]   disk    HUAWEI   XSG1             6000  /dev/sdm   36382028100c0772b338f5c8900000012   214GB
3. [15:0:0:3]   disk    HUAWEI   XSG1             6000  /dev/sdn   36382028100c0772b338f5c8900000015   214GB
4. [15:0:0:4]   disk    HUAWEI   XSG1             6000  /dev/sdo   36382028100c0772b338f5c8900000016   214GB

五. 启动multipath

为了确保在多人共用的环境中,multipath的配置过程对他人的环境没有影响,需要做一些预操作

a. 启用并初始化多链路配置文件

1. mpathconf --enable

执行完该命令之后,会在/etc下生成一个空的multipath.conf文件,其内容如下所示。该文件为multipath的核心文件,负责multipath相关的各种功能控制与参数配置,是异常重要的

1. # device-mapper-multipath configuration file

3. # For a complete list of the default configuration values, run either:
4. # # multipath -t
5. # or
6. # # multipathd show config

8. # For a list of configuration options with descriptions, see the
9. # multipath.conf man page.

11. defaults {
12. user_friendly_names yes
13. find_multipaths yes
14. }

16. blacklist_exceptions {
17. property "(SCSI_IDENT_|ID_WWN)"
18. }

20. blacklist {
21. }

为了避免对他人环境的影响,在blacklist中写入wwid "3*"将所有的设备加入到blacklist中,再将多路径设备(第四步中生成的4块盘)加入到blacklist_exceptions中

在该操作之后,multipath扫描多路径设备时,除了blacklist_exceptions中的设备外,其他设备均会被忽略

b. multipath核心配置文件multipath.conf简介

multipath.conf文件可分为几个部分,见下表:

子部分 功能说明
blacklist 黑名单,不被视为多路径设备的设备列表
blacklist_exceptions: 黑名单的豁免名单,若出现在黑名单中的设备被加入到该名单中,会被扫描为多路径设备
defaults multipath的常规默认设置
multipaths 各个多路径设备特性的设置,这些值会覆盖在配置文件中的 overrides, devices, 和 defaults 部分指定的值
device 各个存储控制器的设置,这些值覆盖了在配置文件的 defaults 部分中指定的内容
overrides 适用于所有设备的设置,这些值覆盖了在配置文件的 devices 和 defaults 部分中指定的值

当系统决定多路径设备的属性时,它会按照以下顺序检查 multipath.conf 文件中的单独部分的设置:

1. multipaths --> overrides --> devices --> defaults

c. defaults、multipaths关键参数说明

当在multipaths与defaults中有相同的参数时,会优先使用multipaths中的设定的参数

1. defaults {
2. polling_interval        5
3. path_selector           "round-robin 0"
4. path_grouping_policy    multibus
5. uid_attribute           ID_SERIAL
6. prio                    alua
7. path_checker            readsector0
8. rr_min_io               100
9. max_fds                 8192
10. rr_weight               priorities
11. failback                immediate
12. no_path_retry           fail
13. user_friendly_names     yes
14. }

16. multipaths {
17. multipath {
18. wwid                    3600508b4000156d700012000000b0000
19. alias                   yellow
20. path_grouping_policy    multibus
21. path_selector           "round-robin 0"
22. failback                manual
23. rr_weight               priorities
24. no_path_retry           5
25. }
26. multipath {
27. wwid                    1DEC_____321816758474
28. alias                   red
29. }
30. }

在这两个子部分,有几个重要的参数需要介绍

polling_interval: 用于设置多路径设备的路径状态轮询间隔,即系统检查各条路径是否可用以及状态是否发生变化的时间周期

默认值通常在 5 到 10 秒之间,取值越小,路径状态的检查越频繁,系统能更快检测到路径故障并切换,但会增加系统开销

path_selector: 用于指定检查存储路径状态的方法,具体取值参考下表(默认值为tur)

path_selector参数值介绍

参数值 功能说明 特点
tur 通过向存储设备发送特定的scsi命令[TEST_UNIT_READY]检查路径状态 通用,简单
emc_clariion 专门为EMC Clariion存储设备设计的路径检查器 充分利用设备优势,通用性差
hp_sw 专门为惠普存储设备设计的路径检查器 充分利用设备优势,通用性差
netapp_fcp 适用于NetApp的光纤通道存储设备的路径检查器 充分利用设备优势,通用性差
readsector0 读取存储设备的第0扇区检查路径状态的路径检查器 原始,速度慢,通用
write_file 向指定文件写入数据来检查路径状态的路径检查器 具有一定的灵活性

path_grouping_policy: 用于定义多路径设备的路径分组策略,默认值为failover

path_grouping_policy参数值介绍

参数值 功能说明
failover 是一种主备模式的路径分组策略。在这种模式下,多条路径被分为活动路径和备用路径。通常只有活动路径用于数据传输,当活动路径出现故障时,备用路径会自动接管,确保数据的连续性
multibus 负载均衡模式。在这种策略下,所有路径同时参与工作,数据会根据一定的算法分布在不同的路径上进行传输,实现负载均衡,充分利用所有可用路径的带宽,提高整体性能
group_by_serial 根据存储设备的序列号对路径进行分组。具有相同序列号的存储设备的路径会被分在同一组,同一组内的路径按照一定的规则进行主备或负载均衡配置
group_by_prio 按照路径的优先级进行分组。用户可以为每条路径设置不同的优先级,优先级高的路径会被优先选择用于数据传输,当高优先级路径不可用时,再选择低优先级路径
group_by_node_name 根据存储设备的节点名称对路径进行分组

failback: 用于控制当故障路径恢复正常后,是否自动将数据传输切换回原来的主路径,默认值为manual

failback参数值介绍

参数值 功能说明
immediate 当故障路径恢复后,系统会立即将数据传输切换回原主路径,这种方式能快速恢复到故障前的路径状态,最大限度地利用原主路径的性能优势
manual 故障路径恢复后,系统不会自动切换回原主路径,而是继续使用当前的备用路径或负载均衡路径,需要管理员手动干预才能将数据传输切换回原主路径
followover 指定只有路径组的第一个路径处于活跃状态时,才能执行自动故障恢复。当另一个节点请求故障切换时,这会让节点自动进行故障恢复
delayed 在故障路径恢复后延迟一段时间再进行切换,以避免在路径刚恢复时可能存在的不稳定因素对数据传输造成影响

fast_io_fail_tmo: 当检测到当前路径I/O出现问题时,在此时间内(以s为单位)未解决,multipathd进程会认为该路径故障并进行路径切换

no_path_retry: 路径故障后的重试次数

multipath的参数很多,极其重要的参数在这里列出,可以根据不同场景需要自行配置

(1) 启动multipathd服务并设置开机启动

1. systemctl enable multipathd   // 设置开机启动
2. systemctl start multipathd    // 启动multipathd服务

(2) 清除多链路残留,重新配置并加载多链路,显示多链路拓扑

1. multipath -F   // 清除多链路残留
2. multipath -v2  // 重新加载多链路
3. multipath -ll  // 显示多链路拓扑

(3) 使用multipath -ll查看盘的映射情况,当其输出为空时,表示配置有误,修复方法如下:

a. 检查multipath的相关模块是否安装成功

1. [root@centos131 ~]# lsmod |grep dm_multipath

3. dm_multipath           27792  2 dm_round_robin,dm_service_time
4. dm_mod                128595  12 dm_multipath,dm_log,dm_mirror

b. 将dm-multipath内核模块加载到Linux系统内核中,该模块是多路径功能的核心组成部分,主要用于实现存储设备的多路径访问

1. modprobe dm-multipath

c. 将dm-round-robin内核模块加载到Linux系统内核中,该模块是Linux系统中设备映射器的一部分,主要功能是实现一种轮询的I/O调度策略

1. modprobe dm-round-robin

d. 开启multipath服务

1. service multipathd start

3. Redirecting to /bin/systemctl start multipathd.service

e. 使用multipath -v2命令验证多路径功能是否正常启用

1. multipath -v2

3. Nov 15 16:34:16 | sdg: alua not supported
4. Nov 15 16:34:16 | sdi: alua not supported
5. Nov 15 16:34:16 | sdk: alua not supported
6. Nov 15 16:34:16 | sdm: alua not supported
7. Nov 15 16:34:16 | sdf: alua not supported
8. Nov 15 16:34:16 | sdh: alua not supported
9. Nov 15 16:34:16 | sdj: alua not supported
10. Nov 15 16:34:16 | sdl: alua not supported
1. [root@centos131 ~]# multipath -ll

3. [root@centos131 ~]# iscsiadm -m session
4. tcp: [38] y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229 (non-flash)
5. tcp: [39] y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229 (non-flash)

f. 退出之前建立的会话

1. [root@centos131 ~]# iscsiadm -m session -u
2. Logging out of session [sid: 38, target: iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229, portal: y.y.y.229,3260]
3. Logging out of session [sid: 39, target: iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229, portal: y.y.y.229,3260]

g. 重新发现磁阵并连接

1. [root@centos131 ~]# iscsiadm -m discovery -t st -p y.y.y.229 -l enp3s0f0
2. y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229
3. y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229
4. Logging in to [iface: iscsi_enp3s0f0, target: iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229, portal: y.y.y.229,3260] (multiple)
5. Logging in to [iface: iscsi_enp3s0f1, target: iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229, portal: y.y.y.229,3260] (multiple)
6. Login to [iface: iscsi_enp3s0f0, target: iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229, portal: y.y.y.229,3260] successful.
7. Login to [iface: iscsi_enp3s0f1, target: iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229, portal: y.y.y.229,3260] successful.

9. [root@centos131 ~]# iscsiadm -m discovery -t st -p y.y.y.229 -l enp3s0f1
10. y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229
11. y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229

h. 查看建立的TCP会话

1. [root@centos131 ~]# iscsiadm -m session
2. tcp: [40] y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229 (non-flash)
3. tcp: [41] y.y.y.229:3260,36354 iqn.2006-08.com.huawei:oceanstor:2100382028c0772b::28e01:y.y.y.229 (non-flash)

i. 使用命令multipath -ll查看多链路拓扑并检查盘的映射情况

1. [root@centos131 ~]# multipath -ll
2. Nov 15 16:35:38 | sdk: alua not supported
3. Nov 15 16:35:38 | sdm: alua not supported
4. mpathe (36382028100c0772b338f5c8900000016) dm-6 HUAWEI  ,XSG1
5. size=200G features='0' hwhandler='0' wp=rw
6. `-+- policy='service-time 0' prio=-1 status=active
7. |- 50:0:0:4 sdk 8:160 active ready running
8. `- 51:0:0:4 sdm 8:192 active ready running
9. Nov 15 16:35:38 | sdi: alua not supported
10. Nov 15 16:35:38 | sdl: alua not supported
11. mpathd (36382028100c0772b338f5c8900000015) dm-5 HUAWEI  ,XSG1
12. size=200G features='0' hwhandler='0' wp=rw
13. `-+- policy='service-time 0' prio=-1 status=active
14. |- 50:0:0:3 sdi 8:128 active ready running
15. `- 51:0:0:3 sdl 8:176 active ready running
16. Nov 15 16:35:38 | sdg: alua not supported
17. Nov 15 16:35:38 | sdj: alua not supported
18. mpathc (36382028100c0772b338f5c8900000012) dm-4 HUAWEI  ,XSG1
19. size=200G features='0' hwhandler='0' wp=rw
20. `-+- policy='service-time 0' prio=-1 status=active
21. |- 50:0:0:2 sdg 8:96  active ready running
22. `- 51:0:0:2 sdj 8:144 active ready running
23. Nov 15 16:35:38 | sdf: alua not supported
24. Nov 15 16:35:38 | sdh: alua not supported
25. mpathb (36382028100c0772b338f5c8900000011) dm-3 HUAWEI  ,XSG1
26. size=200G features='0' hwhandler='0' wp=rw
27. `-+- policy='service-time 0' prio=-1 status=active
28. |- 50:0:0:1 sdf 8:80  active ready running
29. `- 51:0:0:1 sdh 8:112 active ready running

经过该步骤之后,在multipath -ll命令的输出中,mpathb、mpathc、mpathd及mpathe为多链路的标志且可观察到第四步生成的4块盘所对应的盘符dm-*,每个盘都有两条链路且状态都是active ready running

注意:经过该步骤之后,需要检查各个节点上multipath对4块盘生成的盘符dm-*是否一致。若一致,可继续执行后续安装步骤;若不一致,可使用下述方法处理

(4) 各个节点multipath对4块盘生成的盘符不一致的解决方法[可选步骤]

a. 逐一修改各个节点的multipath.conf文件中的参数,并为多路径设备(4块盘)统一别名

1. vim /etc/multipath.conf

3. defaults {
4. user_friendly_names no
5. find_multipaths no
6. }

8. multipaths {
9. multipath {
10. wwid "36382028100c0772b109f1ce700000007"
11. alias   aa
12. }
13. multipath {
14. wwid "36382028100c0772b109f1ce700000008"
15. alias   bb
16. }
17. multipath {
18. wwid "36382028100c0772b109f1ce700000009"
19. alias   cc
20. }
21. multipath {
22. wwid "36382028100c0772b109f1ce70000000a"
23. alias   dd
24. }
25. }

在defaults部分,将user_friendly_names设置为no,并在multipaths部分,使用参数alias为每个多路径设备起别名

b. 清除多链路残留,重新配置并加载多链路,显示多链路拓扑

1. multipath -F   // 清除多链路残留
2. multipath -v2  // 重新加载多链路
3. multipath -ll  // 显示多路径拓扑

5. dd (36382028100c0772b109f1ce70000000a) dm-6 HUAWEI,XSG1
6. size=50G features='1 queue_if_no_path' hwhandler='0' wp=rw
7. `-+- policy='service-time 0' prio=1 status=active
8. |- 0:0:0:4 sdn     8:208 active ready running
9. `- 1:0:0:4 sdm     8:192 active ready running
10. aa (36382028100c0772b109f1ce700000007) dm-3 HUAWEI,XSG1
11. size=1000G features='1 queue_if_no_path' hwhandler='0' wp=rw
12. `-+- policy='service-time 0' prio=1 status=active
13. |- 0:0:0:1 sdh     8:112 active ready running
14. `- 1:0:0:1 sda     8:0   active ready running
15. bb (36382028100c0772b109f1ce700000008) dm-4 HUAWEI,XSG1
16. size=500G features='1 queue_if_no_path' hwhandler='0' wp=rw
17. `-+- policy='service-time 0' prio=1 status=active
18. |- 0:0:0:2 sdj     8:144 active ready running
19. `- 1:0:0:2 sdi     8:128 active ready running
20. cc (36382028100c0772b109f1ce700000009) dm-5 HUAWEI,XSG1
21. size=50G features='1 queue_if_no_path' hwhandler='0' wp=rw
22. `-+- policy='service-time 0' prio=1 status=active
23. |- 0:0:0:3 sdl     8:176 active ready running
24. `- 1:0:0:3 sdk     8:160 active ready running

从该命令的输出中,可以看到4个多路径设备的别名都设置为了aa、bb、cc及dd的形式

c. 进入/dev/mapper目录下,查看4个多路径设备产生的软链接

1. [root@openGauss54 ~]# cd /dev/mapper
2. [root@openGauss54 mapper]# ll
3. total 0
4. lrwxrwxrwx. 1 root root       7 Dec 18 10:12 aa -> ../dm-3
5. lrwxrwxrwx. 1 root root       7 Dec 18 10:12 bb -> ../dm-4
6. lrwxrwxrwx. 1 root root       7 Dec 18 10:12 cc -> ../dm-5
7. lrwxrwxrwx. 1 root root       7 Dec 18 10:12 dd -> ../dm-6

后续搭建资源池化集群环境时,在xml对应位置直接使用,例如,/dev/mapper/aa

六. 查看四块盘生成的盘符

使用ll /dev/dm-*命令依次查看对应盘的盘符

1. [root@centos131 script]# ll /dev/dm-3
2. brw-rw---- 1 root disk 253, 3 Nov 15 16:35 /dev/dm-3
3. [root@centos131 script]# ll /dev/dm-4
4. brw-rw---- 1 root disk 253, 4 Nov 15 16:35 /dev/dm-4
5. [root@centos131 script]# ll /dev/dm-5
6. brw-rw---- 1 root disk 253, 5 Nov 15 16:35 /dev/dm-5
7. [root@centos131 script]# ll /dev/dm-6
8. brw-rw---- 1 root disk 253, 6 Nov 15 16:35 /dev/dm-6

七. 资源池化环境搭建

在资源池化集群的xml文件中,若各个节点的多路径盘符一致,则将四个盘的盘符修改为相应的编号/dev/dm-*即可;若不一致,则使用对应的软链接/dev/mapper/**即可,后续流程与资源池化环境搭建相同

八. 可靠性&&可用性测试

后续测试,可在主备同时跑TPCC,期间可使用命令ip link set NIC down或者ifdown NIC对网卡进行DOWN操作,可持续几分钟,或者使用脚本在一段时间内反复执行DOWN和UP操作且中间可夹杂SLEEP操作,观察集群状态和业务执行情况,以验证multipath多链路冗余环境给集群带来的可用性及可靠性