Ubuntu 20.04下CloudStack KVM安装失败 libvirtd服务启动排错
CloudStack KVM 部署环境 libvirtd 启动故障排查方案
核心现象说明
当前故障包含两个关联表现:
- libvirtd 服务连续5次启动失败后触发systemd快速重启拦截,进程退出码为6
- cloudstack-usage 服务因依赖链断裂出现启动异常
注:日志里的
Start request repeated too quickly是systemd的保护机制提示,不是服务启动失败的根因,需要绕过该机制抓取真实启动报错才能定位问题。
libvirtd 服务启动失败(exit code 6)修复步骤
libvirtd 退出码6的触发场景基本集中在配置校验不通过、证书权限错误、依赖模块缺失三类,按以下流程操作即可定位修复:
- 第一步:手动前台启动抓取真实报错
执行命令直接启动libvirtd,绕过systemd的重启拦截,控制台会打印具体的失败原因:/usr/sbin/libvirtd --verbose - 针对常见报错的对应修复方案:
- 配置文件语法错误
检查/etc/libvirt/libvirtd.conf的配置项是否符合CloudStack对接要求,重点检查是否遗漏分号、赋值语法错误,可执行配置校验命令定位问题:libvirtd --config-validate - 证书目录权限异常
CloudStack KVM节点需要TLS证书对接管理端,若/etc/libvirt/pki/目录权限被修改为root所有,libvirtd会因无权限读取证书直接退出,执行修复命令:chown -R libvirt:libvirt /etc/libvirt/pki/ - 匹配版本的依赖组件缺失
若安装时libvirt相关组件版本不匹配,会出现驱动模块加载失败的报错,重装对应版本组件:apt install --reinstall qemu-kvm libvirt-daemon-system libvirt-clients
- 配置文件语法错误
- 第二步:重启拦截复位后正常启动服务
因为之前连续5次启动失败,systemd已经锁定了该服务的快速重启权限,先执行复位命令清除失败计数:systemctl reset-failed libvirtd.service
再正常启动服务并验证状态:systemctl start libvirtd.servicesystemctl status libvirtd.service
cloudstack-usage 服务启动异常排查
该服务的启动失败大多为非独立故障,需先区分部署节点属性:
- 如果故障出现在KVM计算节点:该服务本身不需要安装在计算节点,直接停止并禁用即可,不影响CloudStack正常运行:
systemctl disable --now cloudstack-usage.service - 如果故障出现在CloudStack管理端节点,按以下流程排查:
- 检查数据库连接配置:核对
/etc/cloudstack/usage.properties内的数据库IP、账号、密码是否与管理端核心配置完全一致 - 初始化计量表结构:若数据库升级或初始化不完整,执行对应配置命令重新关联数据库、部署计量组件表结构
- 检查端口占用:执行
ss -tulnp | grep 8096确认cloudstack-usage的默认监听端口是否被其他进程抢占
- 检查数据库连接配置:核对
最终验证
所有组件修复完成后,确认libvirtd正常监听16514端口,回到CloudStack管理端重新关联KVM节点,等待节点状态变为Up即代表部署正常。
内容的提问来源于stack exchange,提问作者ChitreshG
相关产品推荐
相关产品推荐

