根据你的描述,在CAS R0790P06版本纳管主机时遇到“调用后台接口不成功。错误码:11”,这通常指向CVM(管理节点)与待纳管CVK(计算节点)之间的通信或鉴权出现了问题。
错误码“11”本身是一个比较通用的“内部错误”代码,需要我们通过下面的步骤来定位具体原因。
建议按照从简到繁的顺序尝试以下操作:
检查root密码中的特殊字符
这是一个非常隐蔽但常见的问题。如果CVK节点的root密码包含 #, !, & 等特殊字符,可能会导致CAS的后台脚本解析错误,从而引发纳管失败。
检查CVM与CVK的版本一致性
确保CVM和待纳管CVK的操作系统及CAS软件版本是兼容的。虽然你提到版本是R0790P06,但最好确认一下所有节点的具体版本信息是否完全一致。
检查SSH密钥(进阶排查)
如果SSH连通性测试失败,可能是SSH密钥问题。
登录到待纳管的CVK节点后台,进入 ~/.ssh/ 目录。
删除现有的公钥和私钥对(id_rsa 和 id_rsa.pub)。
执行 ssh-keygen -t rsa 重新生成密钥对。
执行 ssh-copy-id <cvk的ip地址> 将新公钥复制到CVM。
完成后,再次尝试在CVM上SSH到CVK进行测试。
检查CAS平台通信配置
尝试在CAS管理平台的“系统管理” -> “系统维护” -> “通信信息维护”中,重新配置与CVK节点的通信账号密码。默认账号密码通常为 admin/X6000@SECcas 和 root/X6000@SECCAS。修改后等待几分钟再尝试纳管。
查看CVM后台详细日志(定位根本原因)
如果以上步骤都无法解决问题,最直接的方法是查看CVM后台的CAS日志,它会记录下具体的错误堆栈。
H3C CAS R0790P06 添加 CVK 主机报错:调用后台接口不成功,错误码 11 null 完整根因 + 分步解决
一、报错核心 4 类根本诱因(按现场高发概率排序)
1. CVK 主机网络 / 端口不通,CAS 无法调用主机内部 API(最高概率)
CAS 纳管 CVK 依赖8080、22、443端口双向互通,接口调用时报空返回 null,代表 CAS 发往 CVK 的 API 请求无有效响应:
CVK 防火墙 /iptables 拦截 CAS 管理 IP 访问 8080 管理端口;
三层 VLAN 未透传、路由不可达,长 ping CVK 管理 IP 大包丢包;
CVK 主机网卡识别异常、网卡配置文件残留旧 MAC 记录,内部 API 服务启动异常。
2. 集群 / 主机残留数据库记录冲突
曾经添加、删除过cvknode02,数据库内残留主机 ID、MAC、IP 记录,新增接口请求时主键冲突,后台返回空数据:
界面删除主机只是逻辑下线,数据库残留脏数据;
主机名称、IP、MAC 和历史残留条目重复,接口校验返回 null。
3. CAS 后台服务进程异常(tomcat/cas-api 卡死)
CAS 管理节点cas-api、tomcat进程线程卡死,新增主机接口无法正常处理入参,直接返回空响应错误码 11。
4. CVK 主机系统内部服务异常、证书 / 认证失效
CVK 内置虚拟化 API 服务未正常启动;
CAS 与 CVK 双向 SSL 证书校验失败,接口会话建立中断;
CVK root 账号密码填写错误、权限不足,API 调用鉴权失败返回 null。
二、分步排查操作(从简单到根治)
步骤 1:网络连通与端口校验(优先做)
CAS 管理节点长 ping CVK cvknode02 管理 IP,大包测试无丢包:
bash
运行
ping -s 1472 -f cvk-ip
测试 CAS 能访问 CVK 8080 管理端口:
bash
运行
telnet cvk-ip 8080
# 或curl测试API连通
curl -k https://cvk-ip:8080/api/v1/version
CVK 主机关闭 iptables 临时放行测试:
bash
运行
systemctl stop firewalld
iptables -F
步骤 2:清理主机残留脏数据(历史删除主机后重复添加必做)
方式 1:CAS 命令行强制清理残留主机
登录 CAS 管理节点后台 Linux 系统执行:
bash
运行
# 查看集群内所有主机记录
cascli host list
# 强制删除残留cvknode02
cascli host delete --force cvknode02
方式 2:Web 界面彻底删除
进入「主机和集群」,找到灰显 / 离线的cvknode02,右键强制移除主机,清理数据库缓存后重新新增。
步骤 3:重启 CAS 卡死 API 服务进程
bash
运行
# 停止CAS全套服务
/opt/cas/bin/casstop
# 等待30秒释放卡死线程
sleep 30
# 重启服务
/opt/cas/bin/casstart
重启后重新尝试添加主机。
步骤 4:CVK 主机侧修复(网卡 / API 服务异常)
查看 CVK 虚拟化 API 服务状态:
bash
运行
systemctl status cvk-api
异常则重启:systemctl restart cvk-api
2. 更换 CVK 网卡场景:删除旧网卡持久化配置文件,避免 MAC 识别异常:
bash
运行
rm -f /etc/udev/rules.d/70-persistent-net.rules
reboot
确认 CVK root 账号密码正确,密码含特殊符号时注意转义,避免参数解析失败。
步骤 5:数据库缓存清理(以上操作仍报错兜底)
登录 CAS 内置数据库,清理 auto-host 残留表项,无操作经验建议联系 H3C 400 操作,防止误删业务数据。
三、中长期根治方案
固件升级:当前版本 R0790P06 存在主机纳管接口处理缺陷,升级至同大版本 R5623P08 + 稳定补丁,修复 API 空返回 Bug;
运维规范:删除主机必须使用「强制移除」,避免数据库残留脏记录;
防火墙规范:机房三层网络放行 CAS 与 CVK 之间 8080、22、443 双向端口,不拦截 API 报文。
四、极简总结
报错含义:错误码 11 null = CAS 调用 CVK 主机后台 API 无有效返回数据;
优先排查:网络 8080 端口连通性、清理主机残留数据库记录;
快速缓解:重启 CAS 全套服务,临时关闭 CVK 防火墙;
彻底根治:升级 CAS 固件修复 API 接口底层缺陷。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论