文档目录

问题说明

适用于排查 ZStone UI 无法登录、点击登录无响应、登录后无法获取数据、页面白屏、分布式存储状态无法查询或 UI 中硬盘/OSD 状态显示未知的问题。

现象

  • ZStone UI 点击登录后无响应或一直停留在登录页。
  • UI 提示无法连接服务器,或页面出现 websocket connection 异常。
  • 登录后页面白屏、数据不刷新、分布式存储状态不显示。
  • UI 中所有数据盘、OSD 或节点状态显示未知。
  • 管理服务异常后,UI 与底层 ceph -s/服务状态不一致。

适用环境

  • 产品:ZCF
  • 组件:ZStone
  • 涉及对象:ZStack Cloud + ZStone;ZStone UI、zstone-master、apiserver、websocket、数据库、管理节点/VIP
  • 场景:登录异常、页面展示异常、断电重启后 UI 状态异常、Cloud 页面无法查询 ZStone 状态

可能原因

  • zstone-master、apiserver、websocket 或相关后端服务未正常运行。
  • 管理节点/VIP、端口、反向代理或浏览器访问地址异常。
  • 数据库异常、表记录不一致或管理面状态未同步。
  • 后端服务启动慢、进程残留、脚本频繁重启导致 UI 请求超时。
  • 断电、重启、网络变更后,UI 侧缓存状态与底层实际状态不一致。

排查步骤

1. 判断是访问链路问题还是后端服务问题

curl -k -I https://<zstone-ui-address>
ss -lntp | egrep "80|443|4011|4192"
systemctl list-units '*zstone*' --no-pager
  • 如果浏览器无法建立连接,优先检查 VIP、访问地址、端口监听、防火墙和代理。
  • 如果可以打开登录页但登录无响应,继续检查后端 API、websocket 和 master 服务。

2. 检查 ZStone 服务与日志

systemctl status 'zstone*' --no-pager
find /opt/zstone -type f \( -iname "*.log" -o -iname "*apiserver*" -o -iname "*master*" \) | head
tail -n 200 /opt/zstone/logs/*.log
  • 关注服务是否反复重启、端口是否被占用、数据库连接是否失败。
  • 对比 UI 报错时间点与后端日志时间点,确认是否为同一故障窗口。

3. 对比底层存储状态

ceph -s
ceph osd tree
ceph health detail
  • 如果底层 Ceph 健康但 UI 状态异常,优先排查状态同步、数据库和管理服务。
  • 如果底层 OSD/MON 本身异常,先按对应 OSD/MON 文档处理,UI 异常可能只是上层表现。

4. 检查 Cloud 与 ZStone 对接状态

grep -i "zstone\|primary storage\|ceph" /usr/local/zstack/apache-tomcat/logs/management-server.log*
  • Cloud 页面无法查询 ZStone 状态时,需要同时检查 Cloud 管理节点日志和 ZStone 服务日志。
  • 避免只依据 UI 状态执行删除、重建、踢盘等高风险操作。

补充排查方法

基础排查命令

# 管理节点服务和集群基础状态
zstack-ctl status
systemctl status zstack-ha.service 2>/dev/null || true
systemctl status mariadb.service mysqld.service 2>/dev/null || true
zsha2 status 2>/dev/null || true

# 管理节点主日志和近期错误
ls -lh /usr/local/zstack/apache-tomcat/logs/management-server.log*
grep -iE 'ERROR|WARN|Exception|failed|timeout' /usr/local/zstack/apache-tomcat/logs/management-server.log | tail -n 200

# 基础资源与系统状态
df -hT
free -m
top -b -n 1 | head -n 30
journalctl -p warning --since '2 hours ago' --no-pager | tail -n 200

临时解决方案

  • 先区分管理面显示异常、资源状态异常和底层业务异常;只在确认底层状态正常时,才考虑重连、刷新缓存、重试任务或重启管理服务。
  • 如需重启管理节点服务,先确认 HA 状态、当前任务和业务窗口,优先单节点逐台处理,并保留 /usr/local/zstack/apache-tomcat/logs/management-server.log*。
  • 涉及数据库修复、资源强制删除、主存储/镜像服务器重连等操作时,先完成数据库备份并记录回退方案。

UI、账号、权限与 许可证专项检查

# 管理服务、时间和前端访问
zstack-ctl status
date
chronyc sources -v 2>/dev/null || ntpq -p 2>/dev/null || true
curl -k -I https://<management-ip>:5000/ 2>/dev/null || curl -I http://<management-ip>:8080/

# 管理日志关键字
grep -iE 'login|token|license|permission|account|project|billing|invoice|ERROR|Exception' /usr/local/zstack/apache-tomcat/logs/management-server.log | tail -n 200

UI/权限类临时处理建议

  • 登录或页面异常先排除浏览器缓存、客户端时间偏差、管理节点时间同步和反向代理/证书问题。
  • 账号、项目、权限、计费或发票问题先记录账号 UUID、项目 UUID、操作路径和 API 返回;不要直接改数据库权限或计费记录。
  • 许可证上传失败时先核对产品版本、授权文件有效期、机器码和管理节点时间;可临时回退到原授权或暂停升级变更窗口。

补充信息

  • 排查结论需结合当前版本、服务状态、日志、集群健康、近期变更和现场影响面确认。
  • 涉及数据库修改、强制删除、OSD/MON 重建、Pool 删除、服务重启或网络变更等高风险操作时,应先完成备份、审批和技术支持确认。
ZStack Cloud ZStone UI 无法登录与页面异常排查 | 故障排查 · KB | ZStack 资源中心