- 迁移前状态: - loadbalancer 网络资源: - Member 网络资源:
- 迁移后状态: - Loadbalancer 网络资源: - Member 网络资源:
- !!! 迁移正确完成后,admin 用户一定要在 bigip 上执行 tmsh save /sys config
- Neutron DB: 1. 在 Neutron DB 中会给 vIP 和当前 loadblancer subnet selfip 申请 Neutron Port。 2. 在 Neutron DB 中会给 loadbalancer subnet 申请多个 Neutron SNAT Port。(SNAT IP 个数取决于配置文的配置)
- Bigip:
- 会根据 loadbalancer network vlan segmentation ID 创建 vlan/route domain ID。
- 会在 vlan 和 route domain 中创建当前 loadbalancer subnet 的 selfip。
- 会在 route domain 下创建当前 loadbalancer 的 vIP
- 会在当前 route domain 下创建当前 loadbalancer subnet 关联的 SNAT IP(SNAT IP 个数取决于配置文的配置)。
- Neutron DB:
- 在 Neutron DB 中给 Member IP 和 当前 member subnet selfip 申请 Neutron Port。
- 在 Neutron DB 中给 Member subnet 申请多个 Neutron SNAT Port(SNAT IP 个数取决于配置文的配置).
- 如果 loadbalancer 和 member 同 network 和 subnet,就不会重复以上 1,2 申请过程。
- BigIP:
- 会根据 Member network vlan segmentation ID 创建 vlan/route domain ID。
- 会在 vlan 和 route domain 中创建当前 Member subnet 的 selfip。
- 会在 route domain 下创建 member node 和服务 IP Port
- 会在当前 route domain 下创建当前 Member subnet 关联的 SNAT IP。(SNAT IP 个数取决于配置文的配置)
- Neutron DB:
- 在 Neutron DB 中会给 vIP 和当前 loadblancer network 下关联的 subnet 申请 Neutron selfip port。
- 在 Neutron DB 中会给 loadbalancer network 下关联的 subnet 申请 Neutron SNAT port,一个 SNAT port 关联多个 IP, IP 个数由 flavor 大小决定。
- BigIP:
- 会根据 loadbalancer network vlan segmentation ID 创建 vlan/route domain ID。
- 会在 vlan 和 route domain 中创建当前 loadbalancer network 关联的所有 subnet 的 selfip。
- 会在 vlan 和 route domain 中创建当前 loadbalancer network 关联的所有 subnet 的 default route。
- 会在 route domain 下创建当前 loadbalancer 的 vIP
- 会在当前 route domain 下创建当前 loadbalancer network 关联的所有 subnet 关联的 SNAT IP, IP 个数由 flavor 大小决定。
- Neutron DB:
- 在 Neutron DB 中给 Member IP 申请 Neutron Port。
- BigIP:
- 会在 Loadbalancer route domain 下创建 member node IP 和 member 服务 IP Port。
- 此迁移必须在 SNAT IP 和 selfip 迁移完成后运行
- 迁移中有任何异常,需要回复备份配置重新迁移。
- !!! 迁移正确完成后,admin 用户一定要在 bigip 上执行
tmsh save /sys config
https://github.com/zhang-shengping/f5-migrate-tool/archive/refs/heads/checkpoint.zip
依赖 Openstack 环境
sudo python main.py --config-file /etc/neutron/services/f5/f5-openstack-agent.ini --config-file /etc/neutron/neutron.conf --host-ip 10.145.71.57 --f5-agent 7c6a4b8e-7d9a-40fe-b55e-c3516d24f3e9 --dry-run
--config-file /etc/neutron/neutron.conf: 当前 neutron 配置文件。
--config-file /etc/neutron/service/f5/f5-openstack-agent.ini: 当前 F5 agent provider 配置文件。
--f5-agent 7c6a4b8e-7d9a-40fe-b55e-c3516d24f3e9: 当前 F5 agent ID。
--host-ip 10.145.71.57: 当前 F5 agent provider 控制的其中一台 bigip host 地址,如果有多台,需要多次运行这个命令。
--dry-run: 用于数据构建测试,注意此测试不会真正下发任何配置,不会对 Neutron DB 和 F5 BigIP 设备做任何更改。
具体 SNAT IP 迁移部分可以参考:https://gitswarm.f5net.com/openstack/snat-migration