Multipath

Multipath

一、多路径管理软件

在企业中,服务器与存储通常是分开放置的,服务器上的硬盘通常用来安装操作系统和应用软件,业务数据则是存储在单独的存储设备上,那么,服务器与存储是如何连接的呢?根据存储协议,经常有2种方案:

  • NAS存储 (Network Attached Storage,网络附加存储),NAS 存储使用基于文件的协议(例如CIFS、NFS),其它计算机通过以太网访问 NAS 存储,类似于一个共享目录,NAS 存储好处多多,网络适配性好,只要网络互通,就能访问,NAS 存储价格也较为便宜,缺点是相对 SAN 而言,网络带宽受限、网络延迟较大,性能较差。
  • SAN存储 (Storage Area Network,存储区域网络),SAN存储基于Fabric协议,分配给其它机器的是 LUN (Logical Unit NumberLogical Unit Number),SAN存储可以来理解为一个虚拟的磁盘。通常价格昂贵,性能较好。

对于NAS存储,只要使用IP访问即可,但是对于SAN存储,需要专业的硬件支持,主要是 SAN HBA卡和 SAN 交换机。

在SAN网络中,大企业为了业务稳定,不因硬件损坏而导致业务停滞,在硬件采购时,往往采用“双份”的策略:2个网卡做绑定、2个CPU、2个风扇、2个HBA卡、2个SAN交换机等等。为了保障存储的高可用性,存储、SAN交换机、服务器架构通常如下:

架构1:一台服务器拥有2个HBA卡,1台SAN交换机,2个存储控制器控制1台存储,这样就形成了2条链路。
在这里插入图片描述

架构2:一台服务器拥有2个HBA卡,2台SAN交换机,2个存储控制器控制1台存储

  • RAID A 和 RAID B 是同一台存储上划分出来的 LUN
  • 每一个 LUN 带有两个控制器,通过SAN1连接到HBA1,通过SAN2连接到HBA2,也就是HBA1 和 HBA2 都可以访问 LUN
  • 总共形成4条链路,2 (HBA ) * 2(链路)

在这里插入图片描述

架构优势

  • 每个存储都有2条链路,在active/standby模式下,如果HBA卡、SAN交换机、存储控制器出现了单点故障,还有另外一条链路提供服务。
  • 改进的性能。2条链路设置为active/active模式,实现I/O负载平衡

架构存在问题 & Multipath 作用

在SAN网络中,存储分配出来的LUN(可以理解为一个硬盘),在多条存储链路连接后,主机会将每条链路识别到的LUN当做一个硬盘,如果一个LUN被主机上的2个HBA卡各自识别了一次,那么我们会在主机上看到**2个一样大小的硬盘。**明明只有一个硬盘,却因链路问题主机识别为了2个硬盘,给磁盘管理带来了麻烦。

这时候,多路径设备管理软件就应运而生了。每个多路径设备都有一个全球识别符(WWID),他是一个全球唯一的无法更改的号码,通过WWID,多路径软件就可以将因路径问题重复识别到了磁盘做一个整合映射,对外提供服务。例如,LUN A在通过存储多路径后,在主机上别识别为了/dev/sdc和/dev/sdd,然而sdc和sdd有相同的WWID,所以会将sdc和sdd整合为mpath1磁盘对外提供服务,解决了主机重复识别磁盘的问题。

二、常见多路径配置软件

像链路选择,负载均衡以及故障转移等都需要多路径的配置软件来实现,常见的多路

径设备管理软件包括

  • EMC存储厂商的PowerPath

  • Windows系统的MPIO

  • HP-UNIX系统的Native_Multi-Path

  • Linux系统的DM Multipath (本文用这个)

Linux系统的DM Multipath

名词解析

1.DM Multipath - 多路径设备

描述:若不采用 DM Multipath 那么从服务器节点到储存控制器的每一条路径都会被系统视为独立的设备,即使I/O路径连接的是相同的服务器节点到相同的储存控制器也是如此, DM Multipath提供了有逻辑的管理I/O路径的方法,即在基础设备顶端生成单一多路径设备;

2.WWID - 全球识别符

描述:每个多路径设备都有一个WWID(全球识别符),它是全球唯一的无法更改的号码, 默认情况下会将多路径设备的名称设定为它的WWID, 可以在多路径配置文件(/etc/multipath.conf)中设置user_friendly_names选项,该选项可将别名设为格式为mpathn的节点唯一名称也可以也可以自定义存储设备名称;

三、Multipath的行为

  • 对于一个HBA,他可能在不同的path上看到同一个存储设备,假设一个HBA有两条path,都连接到了同一个存储设备A,且当前os没有其他scsi设备
    • 如果multipath开启,os侧只能看到sda/sdb,且sda/sdb均指向存储设备A
    • 如果multipath关闭,os侧只能看到一个盘符sda

四、Multipath实战

  • 接10块盘

在这里插入图片描述

  • IOM A口接了一根miniSAS HD,连接到HBA

  • IOM B口接了一根miniSAS HD,连接到HBA
    在这里插入图片描述

  • 通过lsscsi命令可以看到所接的物理10块盘在逻辑上为20块
    (两组Host镜像控制10块盘)在这里插入图片描述

  • 配置Multipath

    • Device Mapper Multipath(DM-Multipath)将服务器节点和存储阵列之间的多条I/O链路配置为一个单独的设备。
    • SAS盘在系统里看到是两个设备名,通过多路径软件聚合为一个DM设备
    • multipath配置完成后通过multipath -ll命令查看拓扑情况,可发现一个DM设备对应两块逻辑盘
      在这里插入图片描述

五、常用Multipath命令

multipath -ll —— list
multipath -F —— 刷新(删除)所有未使用的多路径设备映射
multipath -v2 —— 打印创建或修改的多路径映射的拓扑或打印所有多路径映射的拓扑
multipath -r —— 强制重新加载所有现有的多路径映射,即修改multipath.conf配置文件之后采
用其可以热加载
multipath -v3 —— 列举所多路径设备中所有wwids信息、设备id号以及 MAJ:MIN 属性值信息

其它相关命令

/usr/lib/udev/scsi_id --whitelisted --device=/dev/sdb

输出设备的WWID,可以看到在多路径的情况下,客户端看到的不同盘符有相同的WWID

/usr/lib/udev/scsi_id --whitelisted --device=/dev/sdb

输出设备的WWID,可以看到在多路径的情况下,客户端看到的不同盘符有相同的WWID

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值