文档目录

适用场景

  • 产品:ZCF
  • 组件:ZStone
  • 版本:4.2.x
  • 触发条件:缓存盘数据过高,导致云盘写入速率受到影响,需要执行刷盘落盘。

问题现象

  • 当前 ZStone 4.2.x 环境缓存盘数据积压较高。
  • 云盘写入速率受到影响。
  • 需要在存储物理机上执行刷盘,促使缓存数据刷新落盘。

判断方法

  1. 先检查当前存储版本和 zstone 服务状态。
  2. 刷盘过程中持续观察 ceph -s。
  3. 重点确认 dirty 值是否逐渐下降。

原因说明

问题的核心不是平台主控异常,而是缓存盘数据过高导致写入性能受限,因此需要通过 cas_policy_manager.sh 触发缓存刷新,把积压数据尽快落盘。

解决方案

  1. 执行前准备
  • 风险等级:中风险
  • 先停止所有云主机业务。
  • 先将主存储置为维护模式。
  • 先完成数据库和安装目录备份。
  1. 健康检查与备份
  2. 检查当前存储版本:
   /opt/zstone/bin/zstone-master version
  • 预期结果:确认当前版本为 4.2.x。
  1. 备份 zstone 数据库:
   mysqldump -uroot -p<数据库密码> zstone > /var/lib/zstack/mysql-backup/zstone-preupgrade-backup.sql
  • 预期结果:具备数据库回退基础。
  1. 备份安装目录:
   cp -r /opt/zstone-installer/ /root/zstone-installer-bk/
  • 预期结果:保留升级/回退辅助目录快照。
  1. 检查业务和管控资源状态:
  • 确认当前业务运行正常。
  • 访问 4000 端口,确认各存储资源信息与工作状态符合预期。
  • 预期结果:存储管控面健康。
  1. 检查管理服务状态:
   systemctl status zstone-master.service
   systemctl status zstone-ui.service
   systemctl status zstone-alertmanager.service
   systemctl status zstone-prometheus.service
   systemctl status zstone-pushgateway.service
   systemctl status keepalived.service
  • 预期结果:相关服务为 active/running。
  1. 检查无正在执行的异步任务。
  • 预期结果:刷盘期间不会与其他管控任务冲突。
  1. 执行刷盘
  2. 在每个存储节点上传脚本:
   /root/cas_policy_manager.sh
  • 预期结果:刷盘脚本可执行。
  1. 开始刷盘:
   /root/cas_policy_manager.sh start_acp
  • 预期结果:缓存刷新过程启动。
  1. 持续观察:
   ceph -s
  • 重点观察 dirty 值是否逐渐降低。
  • 预期结果:缓存数据逐步落盘。
  1. 刷盘结束后停止:
   /root/cas_policy_manager.sh stop_acp
  • 预期结果:刷盘任务收口完成。

验证方法

  • 检查 ceph -s 输出正常。
  • 检查 dirty 值逐步下降并达到预期。
  • 检查云盘写入速率恢复正常。

风险与回滚

  • 风险:若业务未停或主存储未维护,刷盘过程可能放大业务抖动。
  • 风险:若刷盘中状态与预期不一致,应立即停止当前操作。
  • 风险等级:中。
  • 防范措施:一旦出现与变更方案反馈不一致情况,立即停止并进入问题分析。
ZStone 缓存盘数据刷盘 | 技术方案 · KB | ZStack 资源中心