当前位置: 首页 > news >正文

OpenStack 在线扩容卷超时问题

背景

最近发现,本系统OpenStack私有云上,ARM主机的麒麟V10系统上,云主机磁盘云硬盘扩容时,出现multipath resize命令时常超时,现象如下:

分析

我们简单梳理下,SAN或IP-SAN 存储环境下,云主机的磁盘在线扩容流程:

  1. Cinder调用存储驱动,扩容存储上云硬盘对应的逻辑卷
  2. 通知 Nova 云硬盘扩容完成
  3. Nova 计算节点调用os-brick, 扩容节点上对应磁盘 (重新扫描,如启用multipath,需resize mpath设备)
  4. Nova 调用 Libvirt的 blockResize 方法,调整云主机内部的磁盘大小

当前问题其实就出现在第三步骤,Nova-Compute调用 os-brickextemd_volume方法完成本节点上磁盘的扩容,调用方法如下:

https://opendev.org/openstack/os-brick/src/branch/stable/2025.2/os_brick/initiator/linuxscsi.py

在启动muitipath特性后,本地磁盘扩容逻辑会调用multipathd命令,确保扩容mpath磁盘扩容,

依次执行的命令如下:

  • multipathd reconfigure
  • multipathd resize map xxx
    if use_multipath:mpath_device = self.find_multipath_device_path(scsi_wwn)if mpath_device:# Force a reconfigure so that resize worksself.multipath_reconfigure()  #  multipathd reconfiguresize = utils.get_device_size(self, mpath_device)...self.multipath_resize_map(os.path.realpath(mpath_device)) ...

multipathd reconfigure 命令是异步命令,实测发现该命令在设备较多的ARM环境上耗时较长(主要作用是加载内核逻辑设备,重新构建多路径信息)。导致立即执行的multipathd resize map 命令陷入阻塞,出现超时错误。(默认命令4000ms超时)

解决办法

  1. 加入重试机制
  2. 调整multipath配置中的uxsock_timeout时间,从默认4s到10s。
http://www.dtcms.com/a/601795.html

相关文章:

  • MySQL 慢查询优化:从定位、分析到索引调优的完整流程
  • 企业门户网站开发公司wordpress 开启多用户
  • 高权重网站代做排名公司招商型网站建设
  • C++基于websocket的多用户网页五子棋 ---- 模块介绍1
  • Java-169 Neo4j CQL 实战速查:字符串/聚合/关系与多跳查询
  • STM32电机运动控制的设计
  • 安徽福凯建设集团网站南宁网站建设是什么意思
  • TCP/IP 协议栈
  • 今天我们开始学习Linux自动化运维Ansible基础
  • .mom域名可以做网站吗wordpress woo插件
  • Skywalking运维之路(exporter状态监控)
  • Java 8 Stream API 高级实战:从数据处理到性能优化的深度解析
  • 网站建设目标个人博客dwwordpress微信付费
  • 梯度提升树与随机森林对比详解以及python实现
  • C语言编译器推荐 | 选择适合你的开发工具
  • 网站域名和空间网站产品优化方案
  • java.net.http 包详解
  • K8s Service核心功能:稳定访问与负载均衡
  • 有向图的可达性分析
  • 网站开发西安网页设计基础项目考核
  • INT305 Machine Learning 机器学习 Pt.8 Bagging 和 Boosting
  • React+Ant design
  • C++四种类型转换cast,其在参数传递时的作用
  • 什么网站可以做图赚钱网站建设主体设计要求
  • 云手机的核心价值
  • L10_参数验证
  • 免费网站制作手机软件的appaso排名优化
  • Java是编译型语言吗?解析Java语言的编译与执行过程
  • Hugging face微调 GPT-2模型
  • 1.3 半监督学习黑科技:如何用少量标注数据提升模型性能,节省90%标注成本?