近日,2024中国云计算基础架构开发者大会(以下简称CID大会)在北京举行。此次大会集中展示了云计算基础架构技术领域最前沿的科创成果,汇聚众多的技术专家和行业先锋,共同探讨云计算基础设施的最新发展和未来趋势。云轴科技ZStack作为领先的基础软件提供商受邀参会,资深开发工程师汪勃策分享了ZStack VF网卡热迁移技术。
网络设备虚拟化技术中,Virtio网卡虽能满足多数虚拟化需求,但在高CPU负载下易出现延迟和丢包问题。相比之下,SR-IOV VF网卡以其低延迟和低CPU占用率成为高性能业务的首选。然而,SR-IOV VF网卡的热迁移一直受限于QEMU的支持不足。尽管业界提出了net-failover方案和OpenStack的迁移策略,但这些方案要么依赖特定环境,要么导致业务中断时间过长。
ZStack VF网卡热迁移技术通过平衡兼容性与性能,提供了一种全新的解决方案。该技术涵盖了纯虚拟化网卡、Virtio网卡以及基于硬件虚拟化的SR-IOV VF网卡,后者因其低延迟、低CPU资源占用和高PPS(包每秒)成为高性能网卡的首选。
ZStack的技术方案与其他业界方案相比,具有明显优势。与Macvtap方案相比,ZStack方案性能更优;与net-failover方案相比,ZStack方案支持更广泛的内核版本;与硬件厂商方案相比,ZStack方案更具兼容性;与OpenStack方案相比,ZStack方案在热迁移期间流量中断时间更短。
ZStack的热迁移技术包括迁移前的准备工作、迁移中的网卡卸载与路由切换、迁移后的新VF网卡挂载与网络配置恢复。这一流程确保了虚拟机在热迁移期间使用Virtio网卡,而在其他时间使用VF网卡,从而实现了快速切换,显著降低了网络中断时间。
ZStack的技术重点在于VF和Virtio之间的快速切换,ZStack提出的方案核心在于如何在这两种模式间快速切换,从而尽可能减少网络中断时间。ZStack采取了以下优化措施:
统一MAC地址:VF和VirtIO网卡使用相同的MAC地址,这避免了网络设备需要重新学习虚拟机的ARP表项和二层转发表,从而减少网络中断的时间。
基于路由的流量切换:相比链路聚合,使用路由变化来切换网络流量更加稳定可靠,尤其避免了老旧操作系统在链路聚合中可能出现的流量中断问题。
优化配置顺序:通过GuestTools配置网络,合理安排VF和VirtIO网卡的配置顺序,进一步降低虚拟机内部流量切换引发的延迟。
ZStack通过创新方案有效解决了这些挑战。在热迁移期间,ZStack利用Virtio网卡临时替代VF网卡,避免了对特定QEMU版本或GuestOS的依赖,并显著减少了业务中断时间至秒级。这种方法不仅保持了SR-IOV VF网卡的高性能,还实现了快速、可靠的热迁移,为云计算中的网络虚拟化提供了提供了一种兼顾兼容性与性能的平衡解决方案。