技术博客

    技术博客  >  VMware替换需重点关注这件事,可能直接影响迁移的成败
    VMware替换需重点关注这件事,可能直接影响迁移的成败
    背景图 2024-08-23 17:42:16

    本期焦点

    网络的迁移切换设计是VMware替换过程中的一个关键环节,需将现有的网络架构和流量模式无缝地迁移到新的虚拟化环境中,以确保业务的不中断运行和数据的顺畅交互。这一过程的复杂性在于,需要考虑网络的路径、带宽、冗余等多个方面,同时还要确保与现有功能的一致性及未来的可扩展性。

    在VMware虚拟化替换时,网络流量迁移的成功与否,直接关系到整个虚拟化项目的成败。因此,深入探讨网络迁移的不同场景和方案,对于确保企业在虚拟化转型过程中的平稳过渡至关重要。

    虚拟机迁移流量传输路径

    虚拟机迁移流量,是指虚拟机在实际迁移过程中的数据传输流量,在进行迁移方案设计时,需要重点考虑迁移网络的传输效率,这将会直接影响业务切换时的中断时间,同时要尽量避免迁移网络的传输对现有业务流量产生影响。

    VMware迁移场景网络部署架构

    VMware迁移场景网络部署架构

    深信服针对VMware虚拟机提供无代理迁移和有代理迁移两类迁移方案,在进行迁移时数据传输路径有所不同,具体差异如下:

    无代理迁移的方式,无论是纳管迁移还是SCMT工具,迁移的数据都是通过vCenter的管理网口传输到深信服平台。使用管理网的好处在于不占用业务网络,不会对正在传输的业务流量产生影响。缺陷在于管理网往往是千兆的网络,传输的效率会受到物理网口的限制。

    无代理迁移传输流量示意

    无代理迁移传输流量示意

    使用SCMT工具进行有代理迁移时,插件Agent借助源端虚拟机的网卡与SCMT进行通信以传输迁移数据。默认情况下,由源端虚拟机提供业务的网卡进行数据传输,这会占用现有的业务网络,可能会对正在传输的业务流量产生影响,需要在迁移时为迁移任务配置带宽限制来降低影响。

    有代理迁移传输流量示意

    有代理迁移传输流量示意

    有代理迁移的方式在网络环境允许的情况下,支持采用额外的迁移网络进行数据传输:为源端虚拟机新增一块虚拟网卡,并将其连接到用于迁移的网络,使Agent借助此网卡与SCMT工具端进行数据传输,在迁移过程中对现有业务网络不产生任何影响。

    有代理迁移传输流量示意

    有代理迁移传输流量示意

    虚拟机业务流量传输路径

    一个业务系统通常是由多个互相依赖的应用虚拟机组成,那么在部分应用虚拟机迁移时就需要关注与其他应用的交互流量,它将直接影响迁移过程中整体业务的运行状态。基于物理部署情况,分为同二层迁移和跨三层迁移两种大场景来讨论:

    • 在迁移前后应用虚拟机的所在VLAN保持不变,始终存在同二层网络。
    • 在迁移后应用虚拟机变为新的VLAN,迁移同时修改业务IP网段。

    VMware迁移虚拟机业务流量传输路径

    VMware迁移虚拟机业务流量传输路径

    同二层迁移业务网络路径

    虚拟机同二层迁移是实际环境中最为常见的迁移方案,在该场景下部署时,将深信服集群的接入交换机与核心交换机之间打通二层网络,在所有交换机的端口配置为Trunk模式并运行各业务网VLAN,在深信服集群内部的虚拟网络中部署与VMware同样VLAN的端口组。

    集群二层部署网络架构

    集群二层部署网络架构

    在功能设计上,深信服云/虚拟化平台的虚拟网络部分逻辑概念对标如下:

    虚拟网络部分逻辑概念对标

    虚拟机切换之前

    在应用虚拟机迁移的过程中,VMware的虚拟机数据持续通过迁移网络向深信服集群迁移,在应用虚拟机进行网络切换之前,所有的流量仍是由VMware平台进行转发,除迁移网络之外,不发生任何实际流量变化。

    • 同主机流量从源虚拟机发出,通过VDS/VSS找到同主机内的目标虚拟机。(图中绿色路径)

    • 跨主机流量从源虚拟机发出通过Port Group添加VLAN 10的网络标签,经过VDS/VSS找到在其他主机上的目标虚拟机,由Uplink1物理网卡将带有VLAN 10标签的数据包通过接入交换机的Trunk接口传递到目标主机,在目标主机的Port Group剥离VLAN 10的网络标签发给虚拟机。(图中紫色路径)

    • 外部访问流量从源虚拟机发出通过Port Group添加VLAN 10的网络标签,经过VDS/VSS找到在核心交换机上的网关,通过接入交换机的Trunk接口将数据包传递到核心交换机的网关上,剥离VLAN 10的标签进入外部路由。(图中红色路径)

    虚拟机切换前网络路径

    虚拟机切换前网络路径

    虚拟机切换之后

    在部分应用虚拟机完成迁移之后,已切换的虚拟机运行在深信服平台中,对于整体业务系统来讲,该虚拟机仍需要访问原来运行在VMware中的其他虚拟机进行业务交互,此时二层同网段的业务网络传输流量如下:

    • 切换后的虚拟机在深信服集群内访问同主机应用时,数据包进入端口组添加VLAN 10的标签,通过出口交换机找到同主机内的目标虚拟机,在出端口组时剥离VLAN 10的网络标签。(图中绿色路径)

    • 切换后的虚拟机在深信服集群内访问跨主机流量时,若虚拟机直连出口交换机的端口组,则数据包进入端口组添加VLAN 10的标签,经过出口交换机找到在其他主机上的目标虚拟机,由当前主机的业务网口将带有VLAN 10标签的数据包传递到目标主机的出口交换机上,在目标主机端口组剥离VLAN 10的网络标签转发给虚拟机。若虚拟机未连接出口交换机,则走VXLAN东西向网络来到目标主机,无需经过业务出口交换机。(图中紫色路径)

    • 切换后的虚拟机在集群之间访问原VMware集群的应用时,同二层的业务数据包进入端口组添加VLAN 10的标签,途径业务网接入交换机、核心交换机、VMware集群接入交换机的Trunk网口进入目标主机的Uplink,经过VSS的分发在Port Group剥离VLAN 10的网络标签发给虚拟机。(图中紫色路径)

    • 切换后的虚拟机在访问外部网络时,从源虚拟机发出通过端口组添加VLAN 10的网络标签,经过出口交换机找到核心交换机上的网关,通过接入交换机的Trunk 接口将数据包传递到核心交换机的网关上,剥离VLAN 10的标签进入外部路由。(图中红色路径)

    虚拟机切换后网络路径

    虚拟机切换后网络路径

    二层网络迁移注意事项

    若虚拟机在VMware平台上存在安全组策略或ACL策略限制,请务必在进行业务迁移之前,以业务系统为单位关闭各虚拟机相关的网络限制策略(白名单模式允许最下层的全禁止策略,黑名单模式在最上层添加允许所有策略),避免在迁移过程中引起网络访问错误,待业务系统迁移完成后在深信服集群重新启用。

    VMware NSX DFW 允许所有策略

    VMware NSX DFW 允许所有策略

    实际情况下,往往会在云/虚拟化平台配置了各种VLAN的业务网络,所以在新建迁移任务时,请务必确认待迁移的虚拟机网卡连接的VLAN与原环境的VLAN端口号保持一致,避免虚拟机切换后因网卡连接错误导致网络异常,影响业务验证时间。

    深信服虚拟网络端口组配置

    深信服虚拟网络端口组配置

    业务网络独立于迁移网络之外,即使迁移过程可以正常进行,也难以避免虚拟机在切换之后出现业务无法访问的问题。因此必须对目标端集群网络整体环境进行验证,可以通过创建空虚拟机来验证网络,在深信服集群创建虚拟机来访问VMware平台各网段IP以验证接入交换机/核心交换机的网口配置正确。

    跨三层迁移业务网络路径

    较大规模的业务系统场景下,用户希望将原VMware所在网络和新建的集群所在网络划分为不同的域来进行管理,在部署深信服云/虚拟化环境时使用全新的VLAN号。此时需要将业务系统从原VMware网络域迁移至新的网络环境,同时修改系统IP地址以及相关访问依赖。

    集群三层部署网络架构

    集群三层部署网络架构

    在进行跨网络域迁移时,原业务的 VLAN 号变更如下:

     VLAN 号变更

    虚拟机切换之前

    在应用虚拟机进行网络切换之前,虚拟机的网络流量仍然由VMware平台进行转发,迁移数据传输过程中不会影响业务系统的网络状态。在此处加入不同网段之间的网络传输路径以便于对比切换之后的网络路径进行理解,具体如下:

    • 同网段之间的网络流量通过接入交换机在集群内不同主机之间传输,从源虚拟机发出的数据包通过Port Group添加VLAN 10的网络标签,经过VSS找到在其他主机上的目标虚拟机,由Uplink1物理网卡将带有VLAN 10标签的数据包通过接入交换机的Trunk接口传递到目标主机,在目标主机的Port Group剥离VLAN 10的网络标签发给虚拟机。(图中绿色路径)

    • 不同网段之间的网络流量通过核心交换机网关的直连路由进行转发,从源虚拟机发出的数据包通过Port Group添加VLAN 10的网络标签,经过VSS找到在核心交换机上的网关,由接入和核心交换机之间的Trunk链路传输到网关剥离标签,找到目标网段VLAN 200的网关添加新标签,传递到目标主机的Port Group 2剥离标签发给虚拟机。(图中紫色路径)

    • 外部访问流量从源虚拟机发出通过Port Group添加VLAN 10的网络标签,经过VSS找到在核心交换机上的网关,通过接入交换机的Trunk接口将数据包传递到核心交换机的网关上,剥离VLAN 10的标签进入外部路由。(图中红色路径)

    虚拟机切换前网络路径

    虚拟机切换前网络路径

    虚拟机切换之后

    该场景下切换时需要修改各种网络配置,流程较为复杂,若业务整体的虚拟机数量在5~10台之间,可以通过深信服SCMT工具统一进行网络切换,简化配置变更;若超出最大切换限制或因其他情况无法统一切换时,需区分虚拟机承载的应用类型进行先后分批切换,当部分虚拟机切换完成后,业务网络传输流量如下:

    • 切换后的虚拟机在深信服集群内进行不同主机的同网段网络传输时,若虚拟机直连出口交换机的端口组,则数据包进入端口组添加VLAN 100的标签,经过出口交换机找到在其他主机上的目标虚拟机,由当前主机的业务网口将带有VLAN 100标签的数据包传递到目标主机的出口交换机上,在目标主机端口组剥离VLAN 100的网络标签转发给虚拟机。若虚拟机未连接出口交换机,则走VXLAN东西向网络来到目标主机,无需经过业务出口交换机。(图中绿色路径)

    • 切换后的虚拟机在深信服集群内进行不同主机的跨网段的网络传输时,数据包进入端口组添加VLAN 100的标签,经过出口交换机找到核心交换机上的网关,由接入和核心交换机之间的Trunk链路传输到网关剥离标签,通过直连路由找到目标网段VLAN 200的网关添加新标签,传递到目标主机的端口组剥离标签发给虚拟机。(图中紫色路径)

    • 切换后的虚拟机在集群之间访问原VMware集群的应用时,跨三层的业务数据包进入端口组添加VLAN 100的标签,经过出口交换机找到核心交换机上的网关,由接入和核心交换机之间的Trunk链路传输到网关剥离标签,通过直连路由找到目标网段VLAN 10的网关添加新标签,传递到VMware集群主机的Prot Group剥离标签发给虚拟机。(图中紫色路径)

    • 切换后的虚拟机在访问外部网络时,从源虚拟机发出通过端口组添加VLAN 200的网络标签,经过出口交换机找到核心交换机上的网关,通过接入交换机的Trunk接口将数据包传递到核心交换机的网关上,剥离VLAN 200的标签进入外部路由。(图中红色路径)

    虚拟机切换后网络路径

    虚拟机切换后网络路径

    三层网络迁移注意事项

    跨三层迁移的整体过程较为复杂,可根据虚拟机之间的依赖关系及应用本身的特性设计整个系统的迁移顺序。被迁移应用系统可分为独立业务系统、被依赖的业务系统、堆叠业务系统,推荐迁移顺序如下:

    1. 优先迁移独立的应用系统,即没有其他相关网络依赖的虚拟机,可直接切换。

    2. 其次迁移集群类应用系统,即多个节点共同组建的应用,进行统一切换。

    3. 然后迁移有依赖关系的应用系统,即依赖其他系统接口的虚拟机,对其他应用影响小。

    4. 最后迁移被依赖关系的应用系统,即接口被其他应用调用的虚拟机,优先考虑数据库。

    此场景下,虚拟机在迁移过程中需要同时修改系统的网络配置信息,建议通过深信服SCMT迁移工具进行。SCMT允许在新建迁移任务时对配置信息进行修改,在虚拟机切换后自动生效,无需在切换时进行复杂的网络配置修改,避免了业务系统重启的风险,可以节省切换停机时间。在进行网络配置时,注意检查网关IP地址与所在VLAN号的对应关系,确保不会出现错误配置。

    虚拟机迁移过程修改网络配置信息

    虚拟机迁移过程修改网络配置信息

    在进行虚拟机切换时,因为系统网络配置信息发生了变化,所以需要对业务系统内有相关依赖的其他应用进行配置修改,如在负载均衡应用、DNS服务、授权服务等修改对应的IP地址信息,配置修改需要在切换时间内完成,配合进行应用上线验证,注意考虑和评估相关应用是否支持跨三层访问。

    在实际情况中,每位用户所面临的网络环境不同,各有各的复杂性,因此,在进行替换与迁移方案设计时,需综合考虑带宽、影响、可扩展性等因素,规划合适、有效的方案,以保障项目的顺利推进,尽可能降低对用户业务运行的影响。

    分割线

    云话技术是深信服打造的一档云技术内容专栏,将定期为大家推送云计算相关的技术解析、场景实践等内容,为大家深度解析深信服在云计算领域的创新能力、技术动态、场景应用及前瞻分析。

    联系我们