【openstack】卷迁移导致的虚机热迁移失败问题排查及解决

问题现象

执行nova live-migration --block-migrate uuid热迁移虚机失败。

问题定位

执行nova migration-list --instance-uuid <uuid>确定迁移源节点、目标节点。

检查源节点nova-compute服务日志,发现如下报错:

txt 复制代码
ERROR nova.virt.libvirt.driver [req-01e02130-dbff-4c60-b35c-2a6922a2b95b req-a5e3dbcf-1358-45af-bda4-d450fabe6bfd 9d2ac2da5c9d45438493daec30280a3d eef10a485d6f4b74ad27600f25dbe452 - default default] [instance: 86d8b8e0-70a1-4444-ad4a-36362ca6b539] Live Migration failure: Requested operation is not valid: domain has active block job: libvirtError: Requested operation is not valid: domain has active block job

检查目标节点nova-compute服务日志,未发现异常信息。

根据源节点报错提示domain has active block job可知迁移失败的原因为虚机有活跃的卷任务,执行nova show <uuis>确定虚机的domain及宿主机,至虚机所在宿主机执行如下命令:

shell 复制代码
$ sudo virsh domblklist <domain>
Target     Source
------------------------------------------------
hda        /var/lib/nova/instances/86d8b8e0-70a1-4444-ad4a-36362ca6b539/disk.config
sda        ebs_ceph_cache_sys/volume-3e7460c3-bf48-4a83-ab2c-3a054eb12fbb
sdb        ebs_ceph_data/volume-42fd198f-9a43-4a25-9dda-3ebaf1119201

$ sudo virsh blockjob <domain> sda --info
No current block job for sda

$ sudo virsh blockjob <domain> sdb --info
Block Copy: [ 99 %]

可见sdb有卷拷贝任务正在执行,执行nova volume-attachments <uuid>确定sdbvolume id,继续执行cinder show <volume id>确定该卷有热迁移任务卡死。

问题解决

至虚机宿主机执行如下命令,强制终止卷迁移任务:

shell 复制代码
sudo virsh blockjob <domain> sdb --abort

再次执行虚机热迁移成功。

相关推荐
mqiqe2 天前
云计算Openstack Neutron
云计算·openstack·perl
mqiqe2 天前
云计算Openstack Keystone
数据库·云计算·openstack
mqiqe4 天前
云计算Openstack Cinder
云计算·php·openstack
mqiqe5 天前
云计算Openstack Glance
云计算·openstack
mqiqe6 天前
云计算Openstack Nova
microsoft·云计算·openstack
mqiqe8 天前
云计算Openstack
云计算·openstack
mqiqe8 天前
云计算Openstack Swift
云计算·openstack·swift
苦逼IT运维9 天前
OpenStack 部署实践与原理解析 - Ubuntu 22.04 部署 (DevStack)
linux·运维·ubuntu·openstack·运维开发·devops
kuuuugua10 天前
2024广东省职业技能大赛云计算——OpenStack镜像、脚本详解
云计算·bash·openstack
qlau200717 天前
基于kolla-ansible在AnolisOS8.6上部署all-in-one模式OpenStack-Train
ansible·openstack