问题说明
本文用于排查“userdata 注入 / cloud-init”类问题。
适用环境
- 产品:ZCF
- 组件:Cloud
- 涉及对象:userdata/cloud-init
- 版本:4.x、5.x
- 场景:userdata 注入 / cloud-init
问题现象
- userdata 或 SSH key 注入失败,云主机无法免密登录或初始化脚本未生效。
可能原因
- cloud-init 服务、metadata 地址、DHCP/userdata 网络、镜像封装或 SSH key 配置异常。
排查步骤
- 确认镜像内 cloud-init 状态和日志。
- 检查 metadata 地址可达性和平台 userdata 配置。
- 核对云主机 IP、默认路由、三层网络 DHCP/userdata。
关键命令
systemctl status cloud-init
cloud-init status --long
curl http://169.254.169.254/2009-04-04/meta-data/instance-id
grep -a -nE "userdata|cloud-init|sshkey" /usr/local/zstack/apache-tomcat/logs/management-server.log*
解决方案
- 按排查结果修复对应组件、配置、数据状态或链路问题。
- 若涉及数据库、底层存储、快照链、云主机磁盘、GPU 直通或管理服务重启,先确认备份、影响面和回滚路径。
验证方法
- 复核本文所述现象是否消失。
- 平台 UI、API、管理节点日志和底层命令输出能够相互印证。
- 至少观察一个相关任务周期或告警周期,确认问题不再复现。
风险与回滚
- 生产环境执行修复前必须确认客户业务影响、变更窗口和回滚方案。
- 涉及数据删除、数据库修改、快照链修复、底层文件处理和硬件操作时,建议联系 ZStack 官方技术支持确认。
注意事项
- 涉及管理服务、数据库、证书、权限、审计和安全配置调整时,应先确认 HA 状态、业务窗口、回退方案和合规保留要求。
- 若需要数据库修改、底层文件处理、锁释放、服务重启、驱动/固件升级或批量资源变更,应联系 ZStack 官方技术支持确认后再执行。
