zoukankan      html  css  js  c++  java
  • multipath配置错误导致的云平台虚拟机挂载云硬盘失败

        客户反馈云平台商业存储类型的云硬盘无法挂载上(cinder通过FC协议对接),但是ceph类型云硬盘使用正常.

        登录打开cinder的debug模式,在volume日志没有显示任何错误信息,日志显示cinder有删除映射关系的操作.

     继续查看挂载虚拟机的所在计算节点的nova-compute日志,发现如下错误. Failed to  execute command multipath -l /dev/sdai


    在所在的计算节点执行 报错的multipath -l /dev/sdai,确实返回值不为0

    执行lsblk命令,发现所在计算节点有大量sdaX的block设备

    对其他block设备执行multipath -l命令,返回值正常(如下图,对sdu设备,multipath -l执行正常).

    因为是multipath执行命令出错,于是检查multipath的配置文件 /etc/multipath.conf


    如上图,multipath.conf配置文件中,配置了黑名单配置(后来联系部署同事,其反馈这个配置是他们加上去).其本意是将计算节点的三块本地盘sda,sdb,sdc三个block设备不纳入multipath的的路径聚合中.问题出现这个这个黑名单配置的正则表达式有问题.因为随着映射到计算节点的block设备的增加,设备名是从sda到sdX等用尽后,新的block设备名会从sdaX开始,而这些sdaX的设备,不是本地盘,是要被multipath聚合的.

          解决办法:

             multipath.conf配置文件中,黑名单的配置,sda,sdb,sdc三个本地block设备,采用wwid的方式(通过scsi_id命令取回每个设备的wwid,每个块设备的wwid是唯一的).



    修改完multipath后,重启multipathd,之后云硬盘挂载正常(如下图,multipath -l /dev/sdai返回值已经为0).


     注:如果multipath.conf的黑名单配置,仍采用devnode模式,要修改为"^sda$"的写法.这样就不会误杀一些正常需要聚合的block设备了.



        

     


  • 相关阅读:
    内联模板 C++快速入门46
    delphi演示程序
    delphi演示程序
    容器和算法 C++快速入门47
    Delphi7_Lite_Fullv7.3优化精简全功能版
    Delphi7_Lite_Fullv7.3优化精简全功能版
    容器和算法 C++快速入门47
    [转载 js]alt美化效果
    “谁动了我的奶酪?”的故事
    谁动了我的奶酪[续] 讨论
  • 原文地址:https://www.cnblogs.com/360linux/p/13062080.html
Copyright © 2011-2022 走看看