KVM: Live migration of SSVM fails with dedicated VLAN
- 主要语言
- Java
- 星标
- 3.1k
- 派生
- 1.4k
- 平均合并
- 6 天 19 小时
- 30 天内合并 PR
- 32
描述
### problem
Live migration of SSVMs fails on KVM when the zone has a dedicated storage network IP range configured with a VLAN. The destination agent never creates the storage VLAN bridge during
PrepareForMigrationCommand, so libvirt cannot find the bridge from the source VM's XML and aborts
This is because the storage network is created with broadcast_domain_type: Native and broadcastUri: storage://
And In BridgeVifDriver.createStorageVnetBridgeIfNeeded():
```
if (!Networks.BroadcastDomainType.Storage.equals(nic.getBroadcastType()) || nic.getBroadcastUri() == null) {
return storageBrName; // exits early and bridge is never created
}
```
the above check causes it to exit early and never create the bridge on the destination host
### versions
4.20.3 onward
### The steps to reproduce the bug
Steps to Reproduce
1. Create a zone with KVM hosts
2. Add a pod management network IP range (untagged)
3. Add a Storage Network IP Range to the pod with a non-zero VLAN ID (storage_vlan)
4. Start the zone - system VMs are created; confirm br- exists on the source host
5. Attempt live migration of the Secondary Storage VM to the other host
6. Migration fails with Cannot get interface MTU on 'br-': No such device
### What to do about it?
_No response_
贡献指南
调研方向
从 BridgeVifDriver.createStorageVnetBridgeIfNeeded() 开始,跟踪 PrepareForMigrationCommand 如何在实时迁移期间处理存储网络。使用专用存储 VLAN 的 KVM 区域重现该问题,然后验证目标端是否创建存储 VLAN bridge,以及 Secondary Storage VM 迁移是否成功。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java
- 领域
- cloud, infrastructure
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 52/100