本章节以NSX-LB为One ARM+SNAT+Overlay的使用场景举例,进行NSX-LB到NSX-ALB的迁移
配置转换
第1步:运行配置转换脚本,将 NSX-LB配置转换成NSX-ALB配置并同步到NSX-ALB。
python3 nsxt_converter.py –nsxt_ip 192.168.60.130 –nsxt_user admin –nsxt_password Lab@20220315 –alb_controller_ip 192.168.60.80 –alb_controller_user admin –alb_controller_password Lab@20220315 –ssh_root_password Lab@20220315 –alb_controller_version 21.1.6 –vs_filter WEB-VS02 –option auto-upload

第2步:查看NSX-ALB VS状态,Traffic Enable并未勾选。


第3步:在Client侧进行验证,确认流量并未通过NSX-ALB,而是依然由NSX-LB提供



流量切换
第1步:运行流量切换脚本,将流量从NSX-LB切换至NSX-ALB
python3 nsxt_traffic_cutover.py –nsxt_ip 192.168.60.130 –nsxt_password Lab@20220315 –alb_controller_password Lab@20220315 –vs_filter WEB-VS02

第2步:确认NSX-ALB侧的Traffic Enable选项已经自动使能。

第3步:通过客户端访问后,在NSX-ALB日志中已经可以看到访问日志,在切换过程中通过windows终端ping VIP地址只丢一个包。

![R ep1y 172.16-1.12]: Βαρ] y R e-ply 172.16.1.Ι23: R .ply 172.16.1.12]. Βαρ] y R e-ply R .ply 172.16.1.12]. Βαρ] y R e-ply 172.16.1.Ι23: R .ply 172.16.1.12]. Βαρ] y R e-ply 172.16.1.Ι23: R .ply 172.16.1.12]. Βαρ] y R e-ply 172.16.1.Ι23: R .ply 172.16.1.12]. Βαρ] y R e-ply 172.16.1.Ι23: R .ply 172.16.1.12]. Βαρ] y R e-ply 172.16.1.Ι23: R .ply 172.16.1.12]. Βαρ] y 1'2.16.1,123; bytes 1'2.16.1,123; bytes 172.16.1.Ι52: 1'2.16.1,123; bytes 1'2.16.1,123; bytes 1'2.16.1,123; bytes 1'2.16.1,123; bytes 1'2.16.1,123; bytes 1'2.16.1,123; bytes bytes.]l • bytes bytes • bytes • bytes • bytes • bytes • bytes 32 32 32 32 32 32 32 ΤΤΙ-61 ΤΤΙ-6Ι ΤΤΙ-61 trl,L1 τη -61 ΤΤΙ-6Ι ΤΤΙ-61 ΤΤΙ-6Ι ΤΤΙ-61 ΤΤΙ-6Ι ΤΤΙ-61 ΤΤΙ-6Ι ΤΤΙ-61 ΤΤΙ-6Ι ΤΤΙ-61 ΤΤΙ](https://www.thenexthop.cn/wp-content/uploads/2025/02/r-ep1y-172-16-1-12-bar-y-r-e-ply-172-16-1-i.png)
第4步:在NSX中也可以看到对应的T1下加入对应到VIP的静态路由。


第5步:在NSX的LB部分相关对象已经Disable。



回滚
第1步:运行回滚脚本将流量回切到NSX-LB
python3 nsxt_rollback.py –nsxt_ip 192.168.60.130 –nsxt_user admin –nsxt_password Lab@20220315 –alb_controller_ip 192.168.60.80 –alb_controller_version 21.1.6 –alb_controller_user admin –alb_controller_password Lab@20220315 –vs_filter WEB-VS02

第2步:运行脚本后,检查VS的Traffic Enable已经取消,并且VS处于Disable状态

第3步:通过客户端访问后,借助vRNI查看NSX-LB日志中已经可以看到访问日志,在切换过程中通过windows终端ping VIP地址只丢一个包。


配置清除
第1步:脚本运行前配置状态检查


第2步:运行配置清除脚本
python3 nsxt_cleanup.py –nsxt_ip 192.168.60.130 –nsxt_user admin –nsxt_password Lab@20220315 –vs_filter WEB-VS02

第3步:脚本运行后配置状态检查,发现Virtual Servers和ServerPools已被删除


注意事项
NSX 对象的API问题
对于NSX下涉及LB的对象创建完成后不要随意改名,否则会出现API路径不一致问题。
例如:名称虽然是WS-P01,但是copy path出来的是改名之前的名称/infra/lb-pools/WS-P03,最终导致脚本输出调用的API错乱。

Inline模式下的迁移
如果是NSX-LB Inline模式下的VS迁移,因为需要将服务器的返回流量重定向到SE,会有如下的一些额外步骤。
脚本自动创建部分:
#1通过脚本会自动生成如下Application Profile,并关联在对应的VS服务


#2会在NSX 配置服务插入(每个T1创建后会生成缺省的Locale-Service ),并配置重定向策略,将重定向到SE的FloatingIP。

#3 自动创建A/S模式的SEG,并关联到NSX-LB迁移过来的Inline模式的VS

如下部分需要手动完成:
#1 SE的数据网络URPF需要设置为None

#2浮动IP需要手工设置
[admin:192-168-60-81]: > configure networkservice 192.168.60.130-PreserveClientIP-T1-GW-LB03-ns
[admin:192-168-60-81]: networkservice> routing_service
[admin:192-168-60-81]: networkservice:routing_service> edit routing_service
– addr: 0.0.0.0
type: V4
advertise_backend_networks: false
enable_auto_gateway: false
enable_routing: false
enable_vip_on_all_interfaces: true
enable_vmac: false
floating_intf_ip:
– addr: 172.16.21.200
type: V4
graceful_restart: false
routing_by_linux_ipstack: false