multipath多路径显示异常

2024-02-21 11:28

本文主要是介绍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

这篇关于multipath多路径显示异常的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/731613

相关文章

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Java Optional避免空指针异常的实现

《JavaOptional避免空指针异常的实现》空指针异常一直是困扰开发者的常见问题之一,本文主要介绍了JavaOptional避免空指针异常的实现,帮助开发者编写更健壮、可读性更高的代码,减少因... 目录一、Optional 概述二、Optional 的创建三、Optional 的常用方法四、Optio

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)

Java报NoClassDefFoundError异常的原因及解决

《Java报NoClassDefFoundError异常的原因及解决》在Java开发过程中,java.lang.NoClassDefFoundError是一个令人头疼的运行时错误,本文将深入探讨这一问... 目录一、问题分析二、报错原因三、解决思路四、常见场景及原因五、深入解决思路六、预http://www

一文带你深入了解Python中的GeneratorExit异常处理

《一文带你深入了解Python中的GeneratorExit异常处理》GeneratorExit是Python内置的异常,当生成器或协程被强制关闭时,Python解释器会向其发送这个异常,下面我们来看... 目录GeneratorExit:协程世界的死亡通知书什么是GeneratorExit实际中的问题案例