onestor-cli metadata sync --forcesystemctl restart onestor-metadata
ONEStor/X10000 后台终止均衡后前台任务刷新为失败完整操作方案
一、原理说明
ONEStor 前端 Web(Handy 管理页面)任务状态由handy 管理服务同步后台 ceph 均衡任务状态;仅底层 ceph 命令停止均衡,handy 任务数据库不会自动更新为失败,页面会一直卡在「运行中」,需要通过 handy 接口 / 命令手动标记任务失败,或重启管理服务同步状态。
二、前置确认:底层均衡已彻底终止(先确认你后台操作生效)
登录存储任意节点 root,执行 ceph 均衡查询,确认无 backfill/balance 任务:
bash
运行
# 查看集群均衡、回填任务
ceph -s
# 查看正在迁移的PG
ceph pg dump | grep backfill
# 关闭全局均衡调度,防止重新生成均衡任务
ceph osd set noout
ceph osd set norebalance
无任何 backfill/balance 输出,代表底层均衡已完全停止。
方案 1:Handy CLI 手动标记均衡任务为失败(推荐,不重启服务)
1. 登录 handy 管理命令行
bash
运行
# 进入handy交互终端
handy-cli
# 查看所有运行中的后台任务,筛选balance均衡任务
task list --status running
输出会展示任务 ID、任务类型(pool_balance/disk_balance)、创建时间,记录目标均衡任务的task_id。
2. 强制将任务置为失败状态
bash
运行
# 语法:task fail --task-id 任务ID
task fail --task-id task-20260615001
3. 前台页面刷新验证
浏览器完全关闭 ONEStor 页面,重新登录;
进入【任务中心 / 存储池 - 均衡任务】,该任务状态变为执行失败,和预期一致。
方案 2:API curl 接口强制更新任务状态(无 handy-cli 权限时用)
在管理节点执行,替换任务ID:
bash
运行
curl -X PUT -H "Content-Type:application/json" \
-d '{"status":"failed","message":"管理员后台手动终止均衡任务"}' \
http://127.0.0.1:8080/api/v1/task/任务ID
执行完成后刷新 Web 页面即可同步失败状态。
方案 3:兜底方案 —— 重启 handy 管理服务自动同步任务状态(前两种命令无效时)
若task fail命令执行报错、数据库锁定,重启 handy 服务会自动扫描后台 ceph 状态,识别均衡已终止,将前台运行中任务自动更新为失败:
bash
运行
# 重启handy管理进程
systemctl restart handy
# 查看服务状态确认正常running
systemctl status handy
等待 3 分钟服务完成集群状态同步,刷新 Web 页面,均衡任务自动变为失败。
三、配套规避操作(防止再次自动拉起均衡)
永久关闭自动均衡:
bash
运行
ceph osd pool set 存储池名称 norebalance true
如需后续手动均衡,再执行ceph osd pool set 存储池名称 norebalance false开启。
Web 页面存储池设置中,关闭「磁盘容量自动均衡」开关。
四、常见问题排查
执行task list看不到均衡任务:切换到主管理节点执行 handy 命令,ONEStor handy 有主从区分,备节点无法读写任务库;
重启 handy 后页面仍显示运行中:检查节点间管理网络互通,主备 handy 数据库同步延迟,等待 5 分钟或手动执行handy sync;
标记失败后重新发起均衡:失败任务不影响新建均衡任务,可正常重新执行均衡操作。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论