You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nova计算节点高可用性故障转移问题咨询

Nova计算节点高可用性故障转移问题咨询

嘿,看起来你在配置Nova计算节点HA时遇到了故障转移的问题——当主计算节点关机时,VM没法自动切换到其他节点。结合你提到的环境(3台带Fencing的虚拟控制器HA、Ceph存储后端),我帮你梳理几个常见的排查方向和实操步骤:

一、先验证Fencing设备本身的可用性

Fencing是HA故障转移的核心前提,如果Fencing动作本身无法执行,后续的VM转移肯定会失败:

  • 在任意一台控制器节点上,手动执行Fencing命令测试目标计算节点,比如用IPMI Fencing的话:
    fence_ipmilan -a <故障计算节点IP> -u <IPMI用户名> -p <IPMI密码> -o reboot
    
    如果手动执行失败,先排查Fencing设备的问题:比如IPMI服务是否开启、计算节点的IPMI网络是否通畅、用户名密码权限是否正确。
  • 检查集群(Pacemaker/Corosync)中Fencing资源的配置状态,执行pcs status查看所有stonith资源是否处于Started状态,有没有故障告警。

二、检查Nova计算节点的关键配置

确保Nova计算节点的配置支持故障转移和Ceph存储访问:

  1. 打开计算节点的/etc/nova/nova.conf,确认以下关键参数:
    • *migration_support = True*:启用迁移支持
    • *live_migration_uri = qemu+tcp://%s/system*:适配KVM虚拟化的迁移URI(如果是其他虚拟化类型请对应调整)
    • Ceph相关参数配置正确:
      rbd_pool = <你的Ceph存储池名称>
      rbd_user = <Ceph客户端用户名>
      rbd_secret_uuid = <对应Ceph Secret的UUID>
      
    • *resume_guests_state_on_host_boot = false*:避免节点重启时自动恢复VM,交给HA集群统一调度
  2. 验证计算节点能否正常访问Ceph:执行rbd ls <你的Ceph池名>,看能否列出VM的镜像文件,如果无法访问,检查Ceph客户端配置、密钥环权限、网络连通性。

三、检查集群与Nova的联动配置

如果控制器是用Pacemaker/Corosync做HA,需要确保Nova服务与集群资源正确关联:

  • 确认集群中已启用*stonith-enabled=true*(执行pcs property show stonith-enabled查看),这是触发Fencing动作的关键开关。
  • 检查Nova调度器的配置,确保启用了与HA相关的过滤器,比如*AggregateInstanceExtraSpecsFilter*、*AvailabilityZoneFilter*,保证调度器能识别可用的计算节点并分配VM。

四、查看日志定位具体故障

如果前面的配置都没问题,从日志里找细节:

  • 控制器节点的/var/log/nova/nova-scheduler.log:搜索down host或migration关键词,看调度器是否检测到计算节点下线,有没有尝试调度VM到其他节点的记录,是否有报错。
  • 故障计算节点的/var/log/nova/nova-compute.log:查看关机前的日志,有没有Ceph连接中断、服务异常退出的信息。
  • Pacemaker日志/var/log/pacemaker/pacemaker.log:搜索stonith或fence关键词,确认是否触发了Fencing动作,有没有执行失败的具体原因(比如网络超时、权限不足)。

五、验证VM的存储属性

确保VM使用的是Ceph共享存储而非本地存储:

  • 在控制器节点执行nova show <VM ID>,查看block_device_mapping字段,确认磁盘类型为rbd;同时检查OS-EXT-SRV-ATTR:host确认VM原来所在的计算节点。

备注:内容来源于stack exchange,提问作者prahin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 07:42:57