随着企业数字化转型的深入,现代企业对于业务连续性的依赖显著加强,保障业务连续性也涵盖更广泛的数字化风险,包括网络攻击、系统故障和数据泄露。作为数字化转型的云底座,云平台在保障业务连续性方面起到了关键性作用:

云平台作为数据中心软件基础设施,不仅需要综合应用热迁移、虚拟化、数据备份、负载均衡、容灾等保障业务连续性的重要技术手段;云平台本身也通过多区域冗余确保自动故障转移、自动弹性扩展实现灵活资源管理、自动化运维提前告警系统故障、多层次安全防护网络攻击和数据泄露等特性,助力企业识别和管理潜在风险,确保在突发事件中快速恢复业务,减少经济损失。

尤其是企业的关键核心应用,例如分布式数据库、组播行情系统等,通常同时具有业务连续性和高性能低延迟的双重需求。业界通常做法包括:

  • SR-IOV 网卡:传统技术,主流 x86、信创服务器、网卡均支持,非常稳定,发挥网卡 100% 性能,但一般无法支持热迁移
  • DPDK Vhost:较新的网卡目前均支持,但在信创场景适配成本较高,且需要占用较高的 CPU 资源,在部分场景下稳定性下不如传统技术
  • 智能网卡:在 DPDK Vhost 基础上减少了 CPU 的占用,需要专门的网卡支持,技术成熟度比传统技术略低,有供应商锁定的风险

在之前的版本中,ZStack Cloud 对以上技术都已支持,这其中 SR-IOV 因为具有技术成熟度高、稳定性好、不依赖特定供应商、成本低廉等特点,一直受客户青睐,但不支持热迁移而导致一些业务会有顾虑。

SR-IOV 网卡性能测试

首先,从延迟和包转发速率两个角度,云轴科技ZStack工程师对比测试了virtio虚拟网卡和SR-IOV高性能网卡。

测试topo:

确保核心交易系统业务连续性,ZStack Cloud支持 SR-IOV 热迁移_云主机


测试服务器:

确保核心交易系统业务连续性,ZStack Cloud支持 SR-IOV 热迁移_热迁移_02


测试仪:运行服务器1上, 使用开源测试工具:trex https://trex-tgn.cisco.com/

被测虚拟机:运行服务器2上

确保核心交易系统业务连续性,ZStack Cloud支持 SR-IOV 热迁移_云主机_03


测试数据:

确保核心交易系统业务连续性,ZStack Cloud支持 SR-IOV 热迁移_云主机_04


从ping延迟看,SR-IOV 高性能网卡延迟和物理机网卡延迟接近,仅有virtio网卡的三分之一;包转发率是2.5M pps,也可以满足高负载的应用需求

由此可见,SR-IOV高性能网卡可在高性能计算和高密度虚拟化等技术场景中被广泛应用。它通过硬件虚拟化技术允许单个物理网络接口卡(NIC)分割成多个虚拟接口,每个虚拟接口可以直接分配给虚拟机使用,绕过了虚拟化软件的网络栈,从而显著提高网络性能和降低延迟。

SR-IOV 网卡热迁移分析

但是SR-IOV VF技术在热迁移方面有很多的技术限制,目前熟知的技术方案的主要技术限制如下:

  • net-failover, 对虚拟机有很多要求,比如主板必须支持pci-e, Linux系统,要求内核必须在4.18之上且包含net-failover模块;
  • 卸载/加载方案,在迁移之前卸载SR-IOV 高性能网卡,迁移后重新加载将导致虚拟机迁移期间网络中断。

云轴科技ZStack Cloud云平台今年发布的5.1.8版本,支持云主机带SR-IOV高性能网卡热迁移和高可用。如果云主机已加载SR-IOV VF网卡,用户可一键热迁移SR-IOV VF网卡云主机,做到与vNIC网卡云主机体验一致。在性能数据方面ZStack Cloud通过创新的技术方案,可确保大多数系统热迁移时秒级丢包,以满足金融核心交易系统对交易数据的完整性和实时性的要求,适用于金融交易、实时视频流、在线游戏等各种高性能核心应用场景,真正实现无感热迁移。

确保核心交易系统业务连续性,ZStack Cloud支持 SR-IOV 热迁移_云平台_05

图 1. VF网卡云主机热迁移操作入口

ZStack Cloud云平台通过SR-IOV技术提供高性能网络支持,同时允许在不中断服务的情况下进行虚拟机的热迁移。这样可以最小化停机时间,确保服务的连续性;在服务器间动态分配负载,提高资源利用效率;允许在不中断服务的情况下进行硬件维护和升级;在硬件故障或即将发生故障时,迅速迁移虚拟机,保障业务连续性。

对于用户来讲,通过使用ZStack Cloud云平台的SR-IOV高性能网卡热迁移可以实现:

减少迁移时间

高性能网卡提供更高的带宽和更低的延迟,加速虚拟机状态和内存数据的传输,显著减少热迁移所需的时间。

最小化服务中断

更快的数据传输可以保证服务的高可用性和连续性。

提高可靠性

高性能网卡具有更好的稳定性和更低的丢包率,确保迁移过程中的数据完整性和一致性。

优化资源利用

通过更高效的迁移流程,减少物理服务器之间的负载不均,提升资源利用率和整体系统性能。

支持大规模迁移

高性能网卡的高速传输能力使得可以同时进行多台虚拟机的迁移,适应大规模数据中心的需求。

这意味着ZStack Cloud云平台可以广泛适用于高性能应用场景:

交易系统

在金融市场中执行快速交易,要求极低的网络延迟和高吞吐量。

大数据分析平台

用于处理和分析大量数据,支持商业决策和预测分析。

AI和机器学习

包括深度学习模型的训练和推理,应用于图像识别、自然语言处理等领域。

实时数据处理

如物联网数据流处理和实时监控系统,确保实时响应和决策。

视频处理和流媒体服务

实时视频编码/解码、直播,保证高吞吐量和低延迟,确保流畅的视频传输。

尤其对于金融用户,通过使用ZStack Cloud云平台的SR-IOV高性能网卡热迁移能力,可以确保低延迟的高频交易,实时风险管理、在线交易服务、金融数据分析与报告等场景的业务连续性需求。

SR-IOV 网卡热迁移实测

为了测试SR-IOV高性能网卡的热迁移对业务的影响,云轴科技ZStack工程师分别验证了如下场景:

1.使用ping来测试vf热迁移过程中的网络中断情况

被测云主机(vf-live-migrate-test)是一个rocky9的vm, 配置为8C 16G, 没有工作负载。迁移时间为59s, 期间网络中断了1s。

确保核心交易系统业务连续性,ZStack Cloud支持 SR-IOV 热迁移_云主机_06


2. 使用ssh测试vf热迁移过程中的网络中断情况

在迁移之前使用MobaXterm ssh到被测云主机(vf-live-migrate-test)。迁移云主机,大约1mins后完成迁移。然后检测MobaXterm 的ssh连接,ssh连接正常,没有断开。

确保核心交易系统业务连续性,ZStack Cloud支持 SR-IOV 热迁移_热迁移_07


3. 使用oceanbase数据库来模拟真实业务热迁移测试

oceanBase运行在一个16C32G的云主机内,oceanBase版本:4.3.1。

然后在另外一个云主机上启动sysbench(version: 1.0.20)来测试oceanBase,

测试命令:

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=172.25.120.94

--mysql-port=2883 --mysql-db=oceanbase --mysql-user=root@sys

--mysql-password=aQTFqG17P8la8kplyES9 --table_size=10000 --tables=10

--threads=50 --report-interval=10 --rand-type=uniform --time=60 cleanup

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=172.25.120.94

--mysql-port=2883 --mysql-db=oceanbase --mysql-user=root@sys

--mysql-password=aQTFqG17P8la8kplyES9 --table_size=100000 --tables=30

--threads=150 --report-interval=10 --rand-type=uniform --time=60 prepare

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=172.25.120.94

--mysql-port=2883 --mysql-db=oceanbase --mysql-user=root@sys

--mysql-password=aQTFqG17P8la8kplyES9 --table_size=1000000 --tables=30

--threads=150 --report-interval=10 --time=600 --rand-type=uniform

--db-ps-mode=disable run

确保核心交易系统业务连续性,ZStack Cloud支持 SR-IOV 热迁移_云主机_08


从220s开始数据收到影响,到310s数据开始恢复正常,并不是网络中断了100s,是因为sysbench的连接没有及时重新建立导致。为了适应分布式环境和网络迁移,建议调整部分查询超时时间ob_query_timeout为20s。