简单来说是libvirtd证书过期,启动失败导致的,解决方法如下:
- 备份并删除 /etc/cloudstack/agent/ 目录中的 cloud.* 文件
- 暂时将 CloudStack 中的全局身份验证严格性设置 (ca.plugin.root.auth.strictness) 更改为 false。
- 在 libvirtd.conf 文件中设置 listen_tcp=1/listen_tls=0/vnc_tls=0,然后重启 libvirtd 服务。
- 在 KVM 主机上重启 CloudStack 代理,连接成功后,在 CloudStack 中转到 UI-> 基础架构->主机-> 选择特定主机-> 点击按钮(提供主机安全密钥)重新配置证书(这将重置 KVM 主机上的 cloud.jks 和证书)。
- 最后,将 ca.plugin.root.auth.strictness 重置为 true。
目前这个证书有效期是通过全局设置ca.framework.cert.validity.period配置的,默认为365
关于实例控制台一直显示连接中,目前来看也和证书有关系,但是重启libvirtd和cloudstack-agent无法解决,有效办法是重启和迁移到另一台主机,最好还是将证书时间调长