apache / apache/cloudstack

KVM: Live migration of SSVM fails with dedicated VLAN

未關閉
#13,378 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
component:kvm component:migration
主要語言
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

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。