本文主要是介绍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多路径显示异常的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!