multipath多路径显示异常

一、现象

使用multipath -ll显示一个磁盘多大3条路径都是active faulty running状态,而正常状态的链路应该是:active ready running,具体如下图:

二、分析

1、通过各种检查均未发现异常,检查内容包括:操作系统日志、光纤交换机、重启multipath、multipath -F

2、主机工程师建议重启操作系统。

3、通过multipathd -k进入交互界面,show paths查看各链路均是正常的。

由于multipathd交互界面是直接获取的hba状态,因此判断这些链路都是好。

4、因此将其中一个光纤交换机的微码升级并重启后,在此过程中数据库正常,因此确定这些链路均是正常状态。

三、解决

重启操作系统后 multipath -ll恢复正常。

四、相关知识

1、集中式存储经典架构图

一台服务器拥有2个HBA卡,2台SAN交换机,2个存储控制器控制1台存储(这里把RAID A和RAID B看做是同一台存储上划出来的LUN,RAID A和RAID B使用相同的2个控制器),这样就形成了4台链路,但是对于每个LUN而言,还是2条链路:

hba1 SAN1 cntrlr1 (RAID A)

hba1 SAN1 cntrlr1 (RAID B)

hba2 SAN2 cntrlr2 (RAID A)

hba2 SAN2 cntrlr2 (RAID B)

这种多条链路架构带来的好处有:

--冗余。每个存储都有2条链路,在active/standby模式下,如果HBA卡、SAN交换机、存储控制器出现了单点故障,还有另外一条链路提供服务。

--改进的性能。2条链路设置为active/active模式,实现I/O负载平衡。

当然,坏处也非常明显:

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

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

————————————————————————————————————————————————————————————

本人主要从事架构优化、系统建设、系统运维等方面的工作,专注于Oracle、Mysql、Redis、PG、OGG等技术和系统建设、运维、优化,欢迎留言或者加微信交流,转载请注明出处。

微信:deadknight9

相关推荐

  1. <span style='color:red;'>multipath</span>

    multipath

    2024-02-21 22:08:01      51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-21 22:08:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-21 22:08:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-21 22:08:01       87 阅读
  4. Python语言-面向对象

    2024-02-21 22:08:01       96 阅读

热门阅读

  1. Liunx安装Dokcer和Docker-Compose

    2024-02-21 22:08:01       48 阅读
  2. Python3 TCP 客户端

    2024-02-21 22:08:01       49 阅读
  3. tcpdump 命令简记录

    2024-02-21 22:08:01       55 阅读
  4. Python实现XML文件转Excel

    2024-02-21 22:08:01       62 阅读
  5. vim 寄存器

    2024-02-21 22:08:01       52 阅读
  6. 算法日记-02完全背包和多重背包问题总结

    2024-02-21 22:08:01       43 阅读
  7. 2. C++ 线程的使用

    2024-02-21 22:08:01       46 阅读
  8. 设计模式(六):模板方法模式(行为型模式)

    2024-02-21 22:08:01       51 阅读