欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > VPC场景虚机热迁网络无感

VPC场景虚机热迁网络无感

2024/10/23 15:44:26 来源:https://blog.csdn.net/ZVAyIVqt0UFji/article/details/143171284  浏览:    关键词:VPC场景虚机热迁网络无感

本文介绍360内VPC(主机OVERLAY)网络模式下实现虚机热迁流程中虚机业务流量无中断的优化方案。

01

优化背景

虚机热迁移主要包含计算、存储、网络三个方面,其中网络层面主要关注的是虚机热迁移过程中,虚机业务网络是否中断。360虚拟网络中,采用Neutron定制化+网关自研的方式实现主机OVERLAY,为VPC的V1版本,在V1版本中,虚机热迁存在15s-30s网络中断,该时间段内虚机业务网络不可用,也正因如此,导致虚拟化底座无法进行资源动态规整,资源碎片严重;其次,在常规运维场景下,虚机热迁也无法作为日常运维方式,这在云计算IAAS场景下显然是无法接受的。

02

问题原因

  • Nova热迁逻辑中涉及到虚机PORT HOST变更,该变更时间点影响Neutron L2 Agent是否进行PORT上线(影响全流量)

  • Neutron L2 Agent流表铺设为PORT后置操作,OVERLAY模式下流表策略较多,流表铺设需要时间(影响全流量)

  • V1版本中VPC南北向流量依赖Neutron L3 Agent,多Agent异步流程无法同一时间点完成同步响应,导致L2\L3策略不同步(影响南北向流量)

  • 网关转发节点策略采用周期性(10s)同步,同步周期内,流量转发到虚机源节点,该周期内虚机如果完成迁移,目标节点虚机无法接收到网关流量(影响南北向流量)

  • Neutron采用FDB全集群异步广播,无法保障FDB加载时间点及成功率,VPC内东西向流量受影响(影响东西向流量)

03

方案对比

下面介绍虚拟热迁网络方面的优化,分别从V1(优化前)和V2(优化后)两个方面阐述。

下图为V1版本的VPC实现方案及虚机热迁方案。

54262fb1af48782397b3de5dfdd59604.png

以上图为示例,包含两个层面:VPC实现路径、虚机热迁流量中断点位。

VPC实现路径。V1版本复用OpenStack Neutron社区原生方案,通过L3 Agent的Router NS完成南北向(FloatingIP\SNAT等)及东西跨三层(计算节点间)两类流量的路由,其中对L3 Agent进行改造,将南北向流量导向360内部自研的中心化网关,其中包含FIP\SNAT\CCN等,分别实现FloatingIP\SNAT及云企业网等功能,废弃Neutron原生的实现方案,复用L3 Agent的Router NS进行流量路由。FIP\CCN等网关转发层面需要的PORT信息等由Neutron Server调用网关服务API进行推送,网关节点Agent通过Etcd的Watch进行信息转换及下发。

虚机热迁流量中断点位。由于使用OpenStack原生的热迁功能,并未对Nova\Neutron进行优化,所以存在众多点位导致虚机流量中断。中断点位详细情况如下:

  1. Libvirt层完成虚机热迁后,源计算节点Nova Compute服务调用Neutron Server API变更虚机PORT的Host信息。此时由于Libvirt层已完成虚机热迁,虚机已经在目标计算节点运行,但VPC控制面虚机PORT的Host变更\网关信息变更\目标计算节点PORT上线\集群内其他节点的FDB变更都属于后置操作,虚机的网络流量(网关的南北向流量\计算节点间的东西向流量)均导向源计算节点,而源节点内虚机已不存在,所以虚机网络中断;

  2. 目标计算节点完成PORT上线后,Neutron Server进行L3层面的信息变更及FDB的全集群异步广播。Neutron L2 Agent进行PORT上线属于触发式PORT感知,获取PORT信息(依赖前述步骤中Server侧PORT所属HOST变更)完成策略计算并加载到vSwitch完成PORT上线的时间延长了虚机网络断流时间;

  3. L3 Agent的Router NS内策略变更以及三层流量策略均需变更时间,此时间段内虚机的三层流量中断(网关南北向流量\VPC内三层流量);

  4. FDB全集群广播属于异步消息,不能保障所有计算节点全部加载成功,FDB变更的时间段内,去往迁移虚机的VPC内二层东西向流量中断,部分FDB未变更成功的节点去往虚机的VPC内二层东西向流量中断;

  5. 如果热迁虚机PORT是目标节点的首个同VPC PORT,此场景下FDB下发异常将导致虚机南北向流量中断;

  6. 网关节点Agent从Etcd Watch到PORT数据到下发到本节点转发面存在10s的任务周期,该任务周期内,虚机网络流量会导向旧有计算节点;

从以上几点可看出,由于OpenStack社区原生的Nova\Neutron众多组件的协作机制及组件内的运行逻辑导致虚机热迁存在多个网络中断风险点,同时由于Neutron Server与自研网关协作逻辑及网关内组件的运行逻辑更是增加了虚机网络的中断时间。

基于以上逻辑,VPC V1版本及各组件相关因素导致虚拟化集群内虚机热迁过程中虚机较长时间处于断网状态,如果热迁过程中Neutron Server与网关通信异常或Neutron L2\L3 Agent因未知异常导致策略下发失败,那么虚机网络中断时间不可控。由于虚机网络中断不在虚机热迁的异常范围内,Nova\Libvirt不做虚机热迁回滚,虚机网络不可达。

随着线上VPC V1版本的不稳定性逐渐突出(与V1版本南北向流量实现方案有关)以及VPC的转发加速(DPDK模式下流量绕转原生的L3 Router将增加转发延迟),提出VPC的V2优化方案。V2版本中剔除L3 Agent,重新构建VPC内L3实现方案,去往网关的南北流量导向方案也重新调整,在V2版本中,所有流量路径均在vSwitch内完成。结合VPC V2版本的优化,在V2基础上对虚机热迁流程进行方案并行优化,逻辑图示如下:

2a171ae0db9fe301e2ed81e9780ebd40.png

如上图所示,VPC V2版本中,剔除Neutron L3 Agent,由vSwitch完成三层流量路由,VPC控制面二\三层策略均由Neutron Agent计算并下发,V2版本简化了VPC不同场景下的策略复杂度及组件协作流程。针对虚机热迁,对Nova\Neutron进行定制优化,主要包含以下三点:

  1. PORT无关策略预加载,作为前置资源建设进入Nova Compute的Pre Live Mig环节,同时受Nova RollBack逻辑管理。在Nova虚机热迁流程的前置环节(资源建设)加入转发策略预加载。该环节由目标节点Nova Compute直接调用本节点VPC Agent API完成。本环节中,目标节点Agent从源节点Agent获取PORT元信息并完成PORT无关策略预加载,同时通知源节点进行流量原路保持及重定向。如果该环节出现异常,Nova热迁流程中止并进入Nova热迁回滚环节

  2. 源节点虚机VPC全流量重定向。该环节将网关及集群内其他计算节点进入源节点的热迁虚机网络流量在保持原路转发的前提下将流量重定向到目标计算节点。在Libvirt未完成虚机热迁前,虚机流量由源节点虚机正常响应;Libvirt完成虚机热迁后,虚机流量从源节点重定向到目标计算节点,由目标节点虚机完成响应。在虚机热迁完毕后,目标节点Agent拦截到QEMU RARP流量后(热迁完毕后,QEMU模拟虚机从虚拟网卡发送RARP),延迟20s通知源节点摘除流量重定向策略

  3. PORT转发策略触发式加载。该环节是流量加载的最后“一公里”。VPC转发策略分为PORT无关策略和PORT相关策略,无关策略是指PORT所属Net\Subnet等,相关策略是指PORT自身的转发策略,依赖PORT虚拟网卡实体资源。虚机热迁过程中,目标节点内PORT对应的虚拟网卡由Nova Compute\Libvirt完成创建,虚拟网卡创建后,由Agent触发式完成PORT相关策略加载,至此PORT网络链路所有转发策略加载完毕

     以上逻辑主要包含三个层面:

  • 组件协作简化。剔除非必要组件,相关逻辑向内聚合,如计算节点上仅保留一个Agent,提升各环节成功率,降低各外部环节引入的失败风险

  • 转发策略预加载。社区原生的PORT上线及策略变更均为后置逻辑,后置逻辑延长虚机断流时间的同时增大虚机网络中断的风险,通过策略预加载,将相关策略提前铺设并将此作为资源构建的一类放入Nova热迁流程,在提升成功率的同时实现可回滚

  • 流量原路保持及重定向。该环节实现虚机热迁期间的流量双向转发,保障流量可被完全响应。经过多组件优化后,虚拟化集群可实现虚机热迁网络无中断的目标

04

相关收益

经过上述相关优化后,可实现虚机热迁过程中,虚机业务网络零中断,达到网络无感的目标,收益如下:

  1. 资源动态规整。计算虚拟化集群整集群的资源售卖率,结合各节点的资源使用率,根据碎片计算结果进行虚机计划性热迁,将部分集群资源售卖率提升到70%-90%

  2. 物理节点降本。通过热迁实现计算\内存资源动态整合,将整合后的空闲计算节点下线,降低虚拟化集群物理计算节点每日占有成本,提升虚拟化部分实际营收

  3. 日常运维辅助。在虚拟化计算\网络等核心组件未实现热升级前,通过虚机热迁腾挪实现核心集群计算节点OS、QEMU、OVS等升级;计算节点异常报警后,将节点上虚机热迁到其他节点,缩短虚机故障时效,加速虚机恢复能力等,其他运维场景不做赘述

05

未来展望

虚机热迁中的网络零中断其实是虚拟网络中对网络流量的一种灵活编排和流量调度,通过对流量的动态编排和调度可支撑众多业务和运维场景,如业务层面的流量镜像、业务不同VPC间的互联等;运维层面的机房下线实现虚机网络信息保持、跨IDC双向通信等,这些都属于流量管理的两个方面:编排、调度。在虚拟网络的后续历程中,将加大对流量的编排和调度能力,以支撑云上用户的不同网络需求以及支撑不同的运维场景。

更多技术和产品文章,请关注👆

360智汇云是以"汇聚数据价值,助力智能未来"为目标的企业应用开放服务平台,融合360丰富的产品、技术力量,为客户提供平台服务。
目前,智汇云提供数据库、中间件、存储、大数据、人工智能、计算、网络、视联物联与通信等多种产品服务以及一站式解决方案,助力客户降本增效,累计服务业务1000+。
智汇云致力于为各行各业的业务及应用提供强有力的产品、技术服务,帮助企业和业务实现更大的商业价值。
官网:https://zyun.360.cn
客服电话:4000052360

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com