报错根因说明
升级预检查脚本需要调用集群管理接口读取全部节点清单,查询集群主机失败,分为 5 大类高频原因:集群管理服务异常、节点主机名 /hosts 解析不一致、节点互通 / 端口拦截、集群存在异常离线节点、执行用户权限不足。
分步排查修复(按优先级执行)
一、基础环境校验(最先做)
确认执行用户为 SDS_Admin,禁止 root 直接执行升级预脚本
检查升级包完整性:UniStor-UserMode-R3139P01-NingOS-x86_64.tar.gz 完整解压,脚本路径无中文、空格、特殊字符
查看集群整体健康状态
bash
运行
onestor-cli cluster status
ceph -s
必须满足:所有 MON、OSD、MGR 全部 up,无 degraded、无 out 故障盘,集群无异常告警;存在故障节点会直接导致脚本无法拉取主机列表。
二、核对 /etc/onestor/cluster_hosts 集群节点清单(最高发)
升级脚本读取节点清单来源 /etc/onestor/cluster_hosts,该文件记录全部节点 hostname、管理 IP。
查看文件内容:cat /etc/onestor/cluster_hosts
校验两点:
所有节点 hostname(X10536Node01/X10536Node02…)、管理 IP 与实际集群一致,无缺失 / 多余离线旧节点;
每台节点 /etc/hosts 完整包含所有集群节点 IP 与 hostname 映射,不能仅本机条目
批量同步 hosts 到所有节点
bash
运行
# 示例,替换自身节点列表
pssh -h /etc/onestor/cluster_hosts -P "cat >> /etc/hosts << EOF
10.XX.XX.X X10536Node01
10.XX.XX.X X10536Node02
EOF"
跨节点互 ping 主机名测试
bash
运行
ping X10536Node02
ssh SDS_Admin@X10536Node02 hostname
主机名不通、SSH 免密失效,脚本无法遍历查询集群主机。
三、确认节点间 SSH 免密互通(升级脚本强制依赖)
upgrade_prepare.sh 需要免密登录所有节点采集信息:
当前节点切换 SDS_Admin 用户,验证免密登录全部存储节点
bash
运行
su - SDS_Admin
ssh SDS_Admin@X10536Node01
ssh SDS_Admin@X10536Node02
免密失效修复:重新分发密钥到全节点
bash
运行
ssh-keygen -t rsa
pssh -h /etc/onestor/cluster_hosts -P "mkdir -p /home/SDS_Admin/.ssh"
pscp -h /etc/onestor/cluster_hosts ~/.ssh/id_rsa.pub /home/SDS_Admin/.ssh/authorized_keys
四、集群核心管理服务正常运行
NingOS/ONEStor 管理进程异常会阻断主机信息查询
bash
运行
# 查看集群管控服务状态
systemctl status onestor-mgr
systemctl status onestor-mon
# 异常则重启
systemctl restart onestor-mgr
systemctl restart onestor-mon
同时关闭所有节点防火墙 /selinux,避免内部管理端口拦截:
bash
运行
setenforce 0
systemctl stop firewalld
五、临时规避与执行重试
全部校验完成后,重新切换 SDS_Admin 执行预升级
bash
运行
su - SDS_Admin
cd /xxx/解压目录/product
bash upgrade_prepare.sh -m online
若仍报错,先离线模式预检查确认集群信息可读取
bash
运行
bash upgrade_prepare.sh -m offline
离线模式正常、online 模式报错,代表节点间网络 / 免密存在问题,回到步骤二、三排查互通。
补充升级前置硬性要求
集群无任何故障 OSD、无离线节点、存储副本完整;
所有节点 NingOS 底层版本一致,无跨大版本碎片化;
管理网、存储后端网全部节点互通,无 VLAN/ACL 隔离;
SDS_Admin 用户拥有集群全权限,禁止使用 root 执行升级预脚本。
极简总结
报错本质:升级脚本无法读取 / 遍历全部集群节点,核心三点:cluster_hosts清单错误、节点 hostname 解析不通、SDS_Admin 免密 SSH 失效;
排查顺序:集群健康状态 → /etc/onestor/cluster_hosts + /etc/hosts 解析 → 全节点免密 SSH → 重启 onestor-mgr 管控服务;
全部校验修复后,使用 SDS_Admin 用户重新执行 upgrade_prepare.sh -m online。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论