OpenStack节点部署故障:conjure-up cloudinit停滞问题
解决MAAS+Conjure-Up部署OpenStack时cloudinit停滞的问题
你遇到的这个卡在deploying machine script最终触发cloudinit故障的问题,在生产环境用MAAS+Conjure-Up部署OpenStack时挺常见的,我给你整理几个实战中管用的排查和修复步骤:
1. 先把节点网络连通性查透
- 确认你的4个节点公私VLAN配置没问题:得保证节点能ping通MAAS服务器,并且能访问MAAS的API端口(默认是5240);另外cloudinit需要拉取配置和安装包,节点得能正常连接到Ubuntu镜像源(或你搭建的本地镜像源)。
- 别漏了DNS检查:cloudinit要解析Juju控制器的主机名,看看节点的
/etc/resolv.conf是不是指向了可靠的DNS服务器,随便解析个公网域名验证下连通性。
2. 扒cloudinit日志找病根
如果能通过MAAS控制台或节点IP登录进去,一定要查看这两个核心日志:
cat /var/log/cloud-init.log cat /var/log/cloud-init-output.log
这俩日志会详细记录cloudinit执行的每一步,比如是不是拉取Juju配置时超时,还是安装依赖包时失败,一看就能定位到停滞的具体环节。
3. 检查MAAS的镜像和节点存储
- 确认MAAS已经同步了对应版本的Ubuntu镜像,避免因镜像损坏导致部署失败;同时检查节点的根分区是否有足够空间,存储不足会直接导致cloudinit脚本执行中断。
- 回头确认MAAS节点的Commissioning(调试)环节是否完全成功,有没有硬件检测未通过或配置遗留问题。
4. 重置Juju环境再试一次
你用的是snap版conjure-up v2.5.2,有时候控制器的残留配置会干扰后续部署,先清理干净再重新部署:
juju destroy-controller -y conjure-up clean
重新启动部署流程时,还可以在conjure-up的高级配置界面里,延长机器部署的超时时间,避免因网络延迟被误判为故障。
5. 检查MAAS的DHCP和TFTP服务
节点启动完全依赖MAAS的DHCP分配IP、TFTP提供启动镜像,登录MAAS服务器查看这两个服务的状态:
sudo systemctl status maas-dhcpd sudo systemctl status maas-tftp
确保服务正常运行,没有出现IP地址冲突或TFTP文件丢失的情况。
内容的提问来源于stack exchange,提问作者Optionwiz
相关产品推荐
相关产品推荐

