资源池化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多链路冗余环境给集群带来的可用性及可靠性
