[TOC]
0x00 前言简述
Q:什么是Multipath多路径?
答:Multipath I/O 电脑储存技术,指利用两个以上的路径同时在CPU与储存设备之间传送讯号,以达到侦错与强化效能的目的。 简单的说当服务器到某一存储设备有多条路径时,每条路径都会识别为一个单独的设备(不便于使用),而多路径允许您将服务器节点和储存阵列间的多个I/O路径配置为一个单一设备()即多路径聚合了I/O路径并生成由这些集合路径组成的新设备,这些I/O路径可等;
WeiyiGeek.多路径图示
工作原理: 当因为主机HBA卡、线缆、交换机或者存储设备的RAID控制器故障等原因造成一条物理路径失效时,服务器可以将通过此物理路径的I/O转移到其他正常的物理路径上面,应用程序不会觉察到这种改变,从而提高系统的可用性。
硬件要求: 硬件方面需要服务器有2块或以上的HBA接口卡,网络上有两个或以上的交换机,块存储设备有两个或以上的冗余控制器,各个物理路径之间没有任何硬件相互依赖。多路径冗余I/O也可以实现I/O的负载均衡,提高系统性能,但主要还是一种容错机制。
Q:它有什么用?
Q: 如何使用Multipath? 描述: 可以参照下面的章节并存在相应的测试环境进行实践,常见三种情况会使用到比如有存储设备并且与主机通过()进行直连; 其应用场景:
多路径技术
描述:实现的核心通过存储设备去适配操作系统,从而实现多路径技术,支持ALUA是其中主要部分。
1.ALUA
描述:ALUA多路径技术(Asymmetric Logical Unit Access-非对称逻辑单元存取),其提供了一个路径发现和确定优先次序的标准化机制,。
特点:对于特定的LUN来说,在它的路径中,一个控制器的目标端口处于状态,另一个控制器的目标端口处状态。在某一个时刻,某个LUN只是属于某一个控制器,要想实现两边的负载均衡,就是将任务A扔给控制器A,将任务B扔给控制器B,。
2.SLUA
描述:SLUA多路径技术(Symmetric Logical Unit Access-对称逻辑单元存取)别名对称镜像卷,它是多路径的基本特性。 特点:对于特定的LUN来说,在它的路径中两个存储控制器的目标端口状态。两个控制器之间实现高速互联的通讯,一个IO发到控制器端,两个控制器可同时参与处理;。
SLUA与ALUA对比:
WeiyiGeek.多路径技术
名词解析
1.DM Multipath - 多路径设备
描述:若不采用 DM Multipath 那么从服务器节点到储存控制器的每一条路径都会被系统视为独立的设备,即使I/O路径连接的是相同的服务器节点到相同的储存控制器也是如此, 提供了有逻辑的管理I/O路径的方法,即在基础设备顶端生成单一多路径设备;
2.WWID - 全球识别符
描述:每个多路径设备都有一个WWID(全球识别符),它是全球唯一的无法更改的号码, , 可以在多路径配置文件()中设置选项,该选项可将别名设为格式为mpathn的节点唯一名称也可以也可以自定义存储设备名称;
示例.查看设备的 scsi id 即WWID查看, 获取 iscsi 共享盘的 wwid 全球唯一识别号三种方式
示例2.自定义存储设备名称;
3.scsi_id - 设备id
描述:其包含在udev程序包中,可以在multipath.conf中配置该程序来获取scsi设备的序号。通过序号便可以判断多个路径对应了同一设备。这个是多路径实现的关键。 multipath程序在创建multipath设备时,会调用scsi_id,从其标准输出中获得该设备的scsi id。在改写时需要修改scsi_id程序的返回值为0。因为在multipath程序中,会检查该值来确定scsi id是否已经成功得到。
4.多路径聚合和映射
Q:什么是存储的多路径聚合和映射? Linux 主机上通过外接 FC / SAS 到物理存储设备时,一般都会在主机上加装HBA卡,。如果HBA卡出问题需要更换时,WWN号相应的也会改变,中间的这个纽带相当于断了,就无法正常识别存储磁盘分区。 当然有些HBA上面贴的有WWN号,可以在更换HBA卡之前在光交或存储上更换相应的配置。不过很多没有标这个WWN所以需要非常,建议更换后到系统下通过命令查看新识别的WWN号确认以下即可。
主机上HBA卡WWN号查看
WeiyiGeek.服务器HBA标识
0x01 Multipath 管理
描述:对于存储设备创建的LUN卷以及映射分配给服务器后往往有多个控制器进行冗余,刷新scsi设备后你将会在服务器中查看到多个/dev/sd[b-z]磁盘设备,此时需要采用多路径软件进行聚合链路,使原本有多个SCSI磁盘的磁盘挂载到本地时候聚合为一个设备;注意这与您的存储设备息息相关大多数存储连接到Linux主机上可以使用multipath自带的多路径软件,然而向Huawei的存储则需要单独安装一个第三方的多路径软件才行;
Linux - Multipath
描述:在linux中开源的multipath工具是用来进行多路径IO管理,当一条链路不稳定时可自动切换到另一条链路,当然要使用多路径设备就必须安装相对应的multipath软件;
Multipath 安装&启动 备注:CentOS 7.8 / Ubuntu 20.04 tls 自带无需安装
redhat.multipath
接口驱动查看
1.针对于 FC SAN 多路径块存储卷磁盘
2.针对于 SAS SAN 多路径块存储卷磁盘
3.针对于 iSCSI 块存储磁盘
磁盘SCSI设备扫描添加与卸载
multipath 配置和使用
案例1.SAS FAN 多路径
至此通过存储设备分配给主机的存储卷通过连接到主机HBA设备中被正常识别与使用。
案例2.FC SAN 存储直链
案例3.多路径ISCSI磁盘的存储池配置 测试环境: Ubuntu 14.04
创建ISISC盘:
配置多路径 (multipath) :
补充parted磁盘分区与格式化挂载:
multipath 命令 - 设备映射器目标自动配置 描述: 该命令主要作用是设备进行映射器目标自动配置,即用于检测和合并到设备的多条路径,以用于故障转移或性能原因。
语法参数:
基础示例:
multipath.conf - 配置详解
配置多路径文件 /etc/multipath.conf 参数说明
bindings - 多路径缺省绑定的别名
描述:/etc/multipath/bindings文件是在multipath.conf中定义了user_friendly_names属性时候,默认采用以下友好的别名名称;
Windows - MPIO
描述: 在Windows下也自带多路径管理软件它叫MPIO,Windows MPIO集成在Windows的系统中,默认情况下不会安装,需要手动安装起来。
Step 1.打开“Server Manager-服务器管理”,选择“Feature”,选择右键菜单中的“Add Features-添加功能”
Step 2.添加“MultiPath I/O”在弹出的Features选择框中,选择“MultiPath I/O”
WeiyiGeek.MultiPath I/O
Step 3.需要对MPIO多路径进行配置才能让其接管存储系统。Windows 2008及后续版本的操作系统提供mpclaim多路径命令可以用于查询磁盘信息;
Step 4.运行MPIO管理控制台也可在管理工具找到它,进行添加待管理存储设备的信息 在“MPIO Device”中点击“Add”添加存储设备。
WeiyiGeek.
Step 5.重启主机使多路径生效,然后查看MPIO策略。重启主机后将重新扫描磁盘。磁盘数量与映射给主机的LUN的数量一致。右键单击磁盘,选择“Properties”可以看到属性中MPIO选项,一般来说如无特别要求,优先使用默认MPIO策略。 不同情况下默认的策略是不同的,常用操作系统的默认策略如表1-1所示。
Step 6.修改路径状态某些特定场景或需求,需对路径状态重新配置。
例如:对于“Fail Over Only”策略,只允许一条路径为Activate状态,其余路径必须编辑成Standby状态;对于Windows 2008,需要将连接到归属控制器的路径状态设置为“Active/Optimized”,将连接到其他控制器的路径状态设置为“Active/Unoptimized”。
Step 7. 保存路径状态配置
磁盘的所有路径状态修改完成后在界面上并不会立刻更新,需要单击MPIO策略配置界面“OK”按钮保存配置,并重新打开MPIO策略配置界面查看更改是否生效。
mpclaim 命令
描述:在cmd下面也可以对MPIO进行管理在使用前
基础示例:
注意事项: