客服微信
本文为云贝教育 刘老师 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。
在现代数据中心中,为了提高存储系统的可靠性和性能,多路径技术成为了一种重要的解决方案。多路径技术允许多条物理路径同时连接到同一个存储设备,从而提高了系统的可用性和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扫不到单路径映射设备设备
• 问题现象
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