您可以将 VMware Integrated OpenStack (VIO) 部署从 NSX-V 迁移到 NSX-T。在迁移过程中,VIO 控制平面必须处于只读模式。

除了南北向切换和主机迁移期间会出现短暂中断,虚拟机的数据路径连接在迁移期间不受影响。此迁移必须在单个维护时段内执行。

迁移过程概览

  1. 安装 NSX-T
  2. 为 VIO 准备 NSX-T。这需要为外部网络设置 Tier-0 网关或 VRF-lite,还需要配置 Edge 集群、DHCP 服务器配置文件和元数据代理。有关详细信息,请参见 https://docs.vmware.com/cn/VMware-Integrated-OpenStack/index.html
  3. 获取 Neutron 迁移器包,该迁移包是 VIO 交付内容的一部分。
  4. 配置 Neutron 迁移器。
  5. 部署 Neutron 迁移器 Pod。
  6. 在 NSX Manager UI 中执行以下操作:
    • 开始 Edge 切换迁移。
    • 处理反馈并完成迁移。
    • 开始主机迁移。
    • 处理反馈并完成迁移。
  7. 等待 Neutron 迁移器 Pod 完成。
  8. 删除 Neutron 迁移器部署。
  9. NSX-V 中移除 VIO 安装。

必备条件

  • VIO 7.2.0 或更高版本
  • NSX-V 6.4.11 或更高版本
  • vSphere 6.7 或更高版本(建议在迁移之前将 ESXi 主机升级到 7.0 或更高版本。)
Neutron 迁移器 Pod 将运行以下验证检查。可以通过 Neutron 迁移器配置绕过生成警告的检查。
  • Neutron 中允许的地址对数(手动地址绑定数量不得超过 128 个)
  • 每个逻辑交换机的具有 DHCP 的多个子网数(在 NSX-T 中仅允许一个)
  • 每个网络的路由器上行链路数(NSX-T 中只有一个)
  • 主机组 - 如果为 NSX Edge 节点启用了 HA,并为要放置的 Edge 节点指定主机组,这将生成警告。
  • Edge HA 在 NSX-T 中会被忽略,因为它不适用。这将生成警告。
  • NSX-T 插件不支持基于 DVS 端口组的提供商网络或外部网络。
  • 不支持多提供商 VLAN 网络。
  • NSX-T 插件不支持负载均衡拓扑(例如,成员来自多个子网的负载均衡器无法通过上行链路连接到同一 Edge 路由器,或者网络上的负载均衡器无法连接到 Neutron 路由器)。
  • NSX-T 使用无效的地址(例如,与转换网络重叠)。
  • 部署在外部网络上的虚拟机。它们在 NSX-T 上无法正常运行。
  • 负载均衡成员的子网可访问性。NSX-T 要求负载均衡器的所有子网都连接到同一网关。

NSX-T 上不得存在任何 openstack 拥有的资源(例如,NSX-T 实例上先前 VIO 部署中的资源)。

有关 Edge 切换迁移和主机迁移所需的任何准备,请参见NSX-V 特定部分的就地迁移

准备迁移 - 调整 NSX-T Edge 集群大小

NSX-T Edge 集群必须具有足够的插槽以供 OpenStack 负载均衡器 (Load Balancer, LB) 使用。要确定将托管 LB 服务的 Tier-1 网关列表,请执行以下操作:
  • 对于每个 OpenStack VIP,找到相应的子网,并检索通过上行链路链接到该子网的路由器,除非该子网位于外部网络上。
  • 对于每个 OpenStack LB 池,列出成员。查找其所属的子网,并检索通过上行链路链接到子网的路由器。

找到的路由器数量以及最大 OpenStack LB 的大小将决定 NSX-T Edge 集群上所需的 LB 插槽数。对于每个 LB,需要具有两个插槽以供活动和备用服务路由器使用。有关每个 NSX-T Edge 设备上可运行的负载均衡器的最大数量,请参阅 https://configmax.vmware.com

准备迁移 - 配置 TEP IP 池

在主机迁移期间,NSX-V 和 NSX-T TEP 必须能够相互访问以确保其连接性。您必须配置 NSX-T TEP IP 池,以便它可以将流量路由到 NSX-V TEP。

NSX-T 中不支持的 NSX-V 配置参数

下表列出了不受支持的 NSX-V 参数和原因。

参数 描述 原因
cluster_moid 列出 Openstack 使用的集群的 ID。 不适用于 NSX-T

datacenter_moid

标识用于部署 NSX-V Edge 设备的数据中心。 不适用于 NSX-T

deployment_container_id

标识 NSX-V Edge 的部署容器。 不适用于 NSX-T

resource_pool_id

标识 NSX-V Edge 的资源池。 不适用于 NSX-T

datastore_id

标识 NSX-V Edge 的数据存储。 不适用于 NSX-T

ha_datastore_id

启用 Edge HA 时的其他数据存储。 不适用于 NSX-T

ha_placement_random

在主数据存储和辅助数据存储之间划分活动 Edge。 不适用于 NSX-T

edge_host_groups

确保活动/备份 Edge 放置在列出的主机组中。 不适用于 NSX-T

external_network

用于物理网络上行链路的 DVPG 的 ID。 不适用于 NSX-T

task_status_check_interval

检查任务完成情况的间隔。 不适用于 NSX-T

vdn_scope_id

适用于 VXLAN 虚拟线路的网络范围对象的 ID。 VDN 范围已被 NSX-T 覆盖网络传输区域取代。

dvs_id

连接到管理和 Edge 集群的 DVS 的 ID。默认情况下还可用于 VLAN 网络。 DVS 已被 NSX-T 中的 VLAN 传输区域取代。

maximum_tunnels_per_vnic

Edge 设备上的 VNIC 支持的最大子接口数量。 不适用于 NSX-T

backup_edge_pool

定义 Openstack 部署要使用的 NSX-V Edge 池的大小。 不适用于 NSX-T

mgm_net_moid

元数据代理管理网络的端口组 ID。 不适用于 NSX-T

mgt_net_proxy_ips

以逗号分隔的管理网络 IP 地址列表。 不适用于 NSX-T

mgt_net_proxy_netmask

元数据代理的管理网络网络掩码。 不适用于 NSX-T

mgt_net_default_gateway

元数据代理的管理网络默认网关。 不适用于 NSX-T

nova_metadata_ips

Nova 元数据服务使用的 IP 地址。 NSX-T 元数据代理配置中提供。

nova_metadat_port

Nova 元数据服务使用的端口。 NSX-T 元数据代理配置中提供。

spoofguard_enabled

默认情况下,Spoofguard 在 NSX-V 中处于启用状态,但如果在 NSX-V 中禁用 Spoofguard,则迁移后将在 NSX-T 中启用 Spoofguard。 默认情况下在 NSX-T 中处于启用状态(无法全局关闭)。

use_exclude_list

当端口安全处于禁用状态且 Spoofguard 处于启用状态时,使用 NSX-V 排除列表组件。 默认情况下在 NSX-T 中处于启用状态(无法全局关闭)。

tenant_router_types

分配为租户路由器的有序路由器类型列表。 不适用于 NSX-T

edge_appliance_user

为 Edge 设备登录配置的用户名。 不适用于 NSX-T

metadata_initializer

初始化元数据访问基础架构 不适用于 NSX-T

shared_router_appliance_size

用于创建共享路由器 Edge 的 Edge 设备大小。 不适用于 NSX-T

use_dvs_features

允许直接配置支持 NSX-V 的 DVS。 不适用于 NSX-T

service_insertion_profile_id

将用于服务插入的重定向防火墙规则的配置文件 ID。 NSX-T 集成中不存在该功能。

service_insertion_redirect_all

创建防火墙规则以将所有流量重定向到第三方防火墙。 NSX-T 集成中不存在该功能。

use_nsx_policies

使用 NSX 策略实施 Neutron 安全组。 NSX-T 集成中不存在该功能。

default_policy_id

如果 use_nsx_policiesTrue,则此策略将用作新租户的默认策略 NSX-T 集成中不存在该功能。

bind_floatingip_to_all_interfaces

当浮动 IP 设置为 True 时,将其绑定到下行链路接口。 NSX-T 中,还始终处理东西向流量的浮动 IP 的 NAT。

vdr_transit_network

分布式路由器 TLR/PLR 连接的网络范围。 NSX-T 中,无法从 OpenStack 配置 DR/SR 连接范围。

exclusive_dhcp_edge

每个网络具有独占 DHCP Edge 不适用于 NSX-T,因为在 Edge 集群上实施了 DHCP。

bgp_neighbour_hold_down_timer

BGP 邻居抑制时间间隔。 NSX-T 集成中不存在该功能。在 NSX Tier-0 网关路由配置上配置了 BGP 对等连接。

bgp_neighbour_keep_alive_timer

邻居保持活动状态时间的间隔。 NSX-T 集成中不存在该功能。在 NSX Tier-0 网关路由配置上配置了 BGP 对等连接。

share_edges_between_tenants

对多个租户使用相同的 DHCP 或路由器 Edge。 不适用于 NSX-T

use_routers_as_lbaas_platform

将子网的专属路由器用作 LBaaS 的平台。 不适用于 NSX-T,其中 LB 服务始终连接到用于转发的路由器。

nsx_sg_name_format

OpenStack 安全组的 NSX 名称格式。 后端资源命名在 NSX-T 中是隐式的。

loadbalancer_pool_transparency

在透明模式下创建 LBaaS 池。 NSX-T 中不支持透明模式。

default_edge_size

定义路由器、DHCP 和 LB Edge 的默认 Edge 大小。 不适用于 NSX-T

配置 Neutron 迁移器

在启动 Neutron 迁移器之前,创建一个名为 migrator.conf.json 的 JSON 文件,用来指定需要迁移的 NSX-T 环境以及主机。此文件将挂载到迁移器 Pod 中,并通过迁移过程进行验证。以下是示例 migrator.conf.json 文件:
{
 "strict_validation": true,
 "edge_migration": true,
 "host_migration": true,
 "edge_migration_interfaces_down": true,
 "post_migration_cleanup": true,
 "rollback": false, 
 "nsxv_token_lifetime": 1440,
 "compute_clusters": [
   "domain-c17",
   "domain-c29",
   "domain-c71",
  ],
  "nsx_manager_ips": [
    "192.168.16.32",
    "192.168.16.64",
    "192.168.16.96",
  ],
  "nsx_manager_user": "admin",
  "nsx_manager_password": "<NSX password>",
  "metadata_proxy": "VIO_mdproxy",
  "dhcp_profile": "VIO_dhcp_profile",
  "default_overlay_tz": "0b3d2a91-2dfc-40a7-ac6b-fbd62b0e4c79",
  "default_vlan_tz": "b87c7a69-6d1a-4857-badd-0d0e4d4e924f",
  "default_tier0_router": "VIO_Tier0",
  "availability_zones": [
  {
    "name": "az1",
    "metadata_proxy": "VIOAZ1_mdproxy",
    "dhcp_profile": "VIOAZ1_dhcp_profile",
    "default_vlan_tz": "6320d1e3-45a1-4f37-87b4-6d35d19cafef",
    "default_tier0_router": "VIOAZ1_Tier0VRFLite"
   }
   ],
   "external_networks_map": {
    "61282e88-0abb-4036-9ea8-22418f85cdf3": "VIO_Tier0",
    "39db1d0f-4279-462b-a17e-1995a5c00ae8": "VIOAZ1_Tier0VRFLite"
  },
  "transit_network": "100.64.0.0/16"
}

配置参数为:

参数 默认值 描述
post_migration_cleanup True 迁移完成后,移除由迁移过程创建且未被 VIO 使用或被其他 VIO 资源复制的其他 NSX-T 实体。
rollback True 失败时自动回滚(如果可能)。
nsxv_token_lifetime 1440 用于 NSX-V 访问的令牌的持续时间(以分钟为单位)。将令牌提供给 NSX-T。应根据部署大小和预计完成迁移的时间来选择持续时间。令牌不应在迁移完成前过期。
compute_clusters 将迁移的 vSphere 计算集群列表。该列表应仅包含部署了 VIO 虚拟机实例的集群。不应包含 Edge 集群和 VIO 管理集群。
nsx_manager_ips NSX-T Manager 的 IP 或 FQDN。如果使用管理器集群,则此参数可以指定 VIP 或 NSX Manager 实例列表。在后一种情况下,访问 NSX Manager 时将使用客户端负载均衡。
nsx_manager_user admin 为 NSX Manager 访问的用户。VIO 不支持使用主体身份进行身份验证。
nsx_manager_password 用于 NSX Manager 访问的密码。
metadata_proxy VIO 默认可用区的元数据代理标识符。标识符是资源策略路径的最后一个分段。
dhcp_profile VIO 默认可用区的 DHCP 配置文件标识符。
default_tier0_router VIO 默认可用区的 Tier-0 网关的标识符。将由网关为默认外部网络的 Neutron 路由器用于南北向流量。
default_overlay_tz 要用于 VIO 部署的覆盖网络 NSX-T 传输区域。
default_vlan_tz 默认可用区的 VLAN NSX-T 传输区域。
transit_network 100.64.0.0/16 NSX-T 传输网络的 CIDR。仅当它从 NSX-T 默认值进行更改时才会修改。
external_networks_map 空列表
availability_zones 空列表

部署 Neutron 迁移器

在迁移器包中,脚本名为 build_yaml.sh。迁移器配置准备就绪后,运行该脚本以创建部署规范并将其部署到 VIO 控制平面上。例如:
./build_yaml.sh -t 7.1.1.1899999
该脚本接受以下参数:
-k 可选。请勿在部署中包含 vCenter Server 证书。仅当 VIO 使用不安全的 vCenter 连接时才指定此项。
-t <full VIO version> 必需。VIO 版本必须包含现有 VIO 映像的内部版本号和匹配标记。

build_yaml.sh 脚本将创建 <YAML-FILE-NAME>,其中包含用于部署 Neutron 迁移控制平面的所有信息。

开始迁移

要开始迁移,请运行以下命令:
kubectl apply -f <YAML-FILE-NAME>

这将在 Openstack 命名空间中创建 Neutron 迁移器部署。此部署具有单个副本。在创建部署的 Pod 时,将自动启动迁移 Pod。

启动迁移 Pod

在启动期间,迁移器 Pod 将读取迁移的配置文件和当前状态。它将根据此信息来决定迁移的下一步,可能为以下步骤之一:
  • API 重放
  • 正在开始从 NSX Manager 迁移
  • VIO 重新配置

如果找不到配置文件或尚未指定所需的参数,则迁移 Pod 将终止。

如果当前的迁移状态不一致(例如,如果 API 重放尚未完成,但迁移已在进行中),则迁移 Pod 也会终止并显示错误。

迁移器作业启动后,Neutron NSX 插件的配置文件将挂载到 Pod 中。迁移器作业不会处理迁移器启动后对 Neutron 配置所做的任何更改。迁移器正在运行时,不得对 Neutron 配置进行更改。如果需要进行更改,必须重新启动迁移器作业。

API 重放

在此状态下,迁移过程将在 NSX-T 上创建所有必需的配置,并填充 VIO Neutron 数据库以与 NSX-T 配合使用。

在该过程结束时,将在 NSX-T 中配置 VIO 所需的所有逻辑网络实体,即便工作负载仍在 NSX-V 上运行也是如此。

NSX-T 上实施 VIO 配置之前,将执行以下检查:
  • 预验证检查。上文中的“必备条件”部分中列出了这些检查。
  • NSX-T 版本检查。NSX-T 版本必须为 3.2 或更高版本。
  • 确保配置了计算管理器。迁移需要在 NSX-T 中将 VIO 的 vCenter 注册为计算管理器。该检查将验证此操作是否已完成。
  • 不应在 NSX-T 上配置 Neutron 资源。如果回滚选项设置为 True,则迁移器进程将清理在 NSX-T 上找到的任何(可能失效)的 Neutron 资源。

检查完成后,迁移过程会初始化 Neutron NSX-T 数据库并准备其结构。然后,将在迁移器 Pod 中启动一个临时 Neutron 服务器。此临时 Neutron 服务器已配置为使用 NSX-T 运行。临时 Neutron 服务器启动后,迁移过程将收集有关网络 VNI 映射和端口/VIF 映射的信息。

随后,将启动 API 迁移过程,并迁移以下资源:
  • 路由器(迁移至 Tier-1 网关)
  • 网络(迁移至分段)
  • 子网(迁移至分段子网和分段的 DHCP 配置)
  • 端口(迁移至分段端口和 DHCP 静态绑定)
  • 安全组(迁移至安全策略、规则、组和服务)
  • 浮动 IP(迁移至 NAT 规则)
  • QoS 策略和规则
  • FWaaS 组、策略和规则
  • Octavia 负载均衡器、侦听器、池、成员和运行状况监控器

API 重放完成后,将关闭临时 Neutron 服务器 Pod。

使用 tail 命令监控迁移器 Pod 日志。当日志显示迁移器 Pod 正在等待启动 NSX-T 迁移过程时,请执行下一个任务(Edge 切换)。

Edge 切换

进行以下 API 调用以获取 Edge 节点的 ID:
curl -v -s -X GET -k -u admin:<password> https://<nsx-mgr-ip>/api/v1/transport-nodes/ -H content-type:application/json
执行以下 API 调用以修改所有 Edge 节点上的参数 v2t-migration-config
curl -v -s -X PUT -k -u admin:<password> https://<nsx-mgr-ip>/api/v1/transport-nodes/<edge-nodeid>/node/v2t-migration-config -H content-type:application/json -d '{"enabled": true}'
请按照 使用 Edge 切换将南北向流量迁移到 NSX-T Edge 中的过程操作。完成此次迁移后, NSX-T 将处理南北向流量。迁移过程如下:
  • 关闭 NSX-V Edge 设备接口。
  • NSX-T Tier-1 下行链路上启用 ARP,以确保在迁移期间进行东西向和南北向流量转换。
  • 连接到 vCenter 以检索 NSX-V 身份验证令牌。
  • 为分布式路由器 (NSX-V DLR) 准备映射文件。
  • NSX-T 上设置 Edge 迁移,并等待其完成。

在南北向切换期间,当连接从 NSX-V ESG 或 DLR 切换到 NSX-T Tier-1 网关时,虚拟机可能会暂时断开连接。在南北向切换完成后,将关闭 NSX-V 和元数据 Edge 的电源。下一步是主机迁移。

重要信息:在开始南北向切换之前,回滚之后,请确保存在 Edge 映射文件。回滚后,将自动删除该文件。迁移器作业将在回滚完成后的 10 秒内还原。如果在 NSX-V VIO 环境中没有分布式路由器,则此操作不适用。

注意:在执行每个 Pod 时,将续订 NSX-V 访问令牌。其持续时间应足够长,以确保迁移在迁移器 Pod 生命周期内完成。如果迁移器 Pod 由于任何原因重新启动,将获取新令牌。

主机迁移

请按照 迁移分布式防火墙配置、主机和工作负载 中的过程操作。

VIO 迁移实用程序将执行以下操作:
  • 关闭所有 NSX-V Edge 设备的电源。
  • NSX-T 上设置主机迁移。
  • 等待主机迁移成功完成。

需要关闭 Edge 设备的电源以确保主机迁移成功完成。请勿在主机迁移期间打开 NSX-V Edge 设备的电源。

在主机迁移完成后,执行以下 API 调用以重置 Edge 节点的参数 v2t-migration-config。该参数是在 Edge 切换步骤开始时设置的。
curl -v -s -X PUT -k -u admin:<password> https://<nsx-mgr-ip>/api/v1/transport-nodes/<edge-nodeid>/node/v2t-migration-config -H content-type:application/json -d '{"enabled":false}'

迁移后清理

迁移器作业会将 Neutron CR 重新配置为使用 NSX-T,但不会移除 NSX-V 配置参数,以便您可以查看这些参数以供参考。这些参数没有任何危害。迁移完成后,可使用 viocli update neutron 命令将其移除。

日志记录

Neutron 迁移器过程会为该过程的每个阶段生成详细的日志记录。写入 Pod 的 stdout 的日志级别为 INFO。调试级别日志位于正在运行迁移器 Pod 的 VIO 控制器节点上的 /var/log/migration/vio-v2t.log

您可以使用以下命令确定 neutron-migrator Pod 在哪个节点上运行:
osctl get pods neutron-migrator -o wide

然后,您可以使用命令 viossh 在控制器节点上打开 shell。

/var/log/migration 目录还包含临时 Neutron 服务器日志。

回滚

在迁移期间的各个阶段均可能会发生回滚。

如果在 API 重放阶段出现故障,则无需进行显式回滚。VIO Neutron 迁移程序实用程序将自动移除已创建的资源,然后重试迁移。

如果选择通过销毁 Neutron 迁移器 Pod 来中断迁移,VIO 控制平面仍将在 NSX-V 中正常工作。API 重放可能创建了 NSX-T 资源。这些资源将被移除。

请注意,NSX-T 不允许回滚主机迁移。将主机迁移到 NSX-T 后,无法将其移回到 NSX-V。

如果在主机迁移期间出现故障,您可以查看日志并采取相应措施解决该问题。

或者,如果主机始终无法迁移到 NSX-T,则可以将其从 vSphere 集群中移除,然后重试迁移。在受影响主机上运行的虚拟机将迁移到集群中的其他主机。迁移后,在主机上安装 NSX-T,并将其添加到原始 vSphere 集群。

错误代码

代码 描述
0001, 0002, 0003, 0004 系统状态或配置错误。迁移过程中出现一些严重问题,例如:
  • 主机迁移已完成,但未执行 API 重放。
  • VIO 已在 NSX-T 中运行,但未执行 API 重放或迁移。
  • 主机位于 NSX-T 上、VIO 在 NSX-T 上运行,但未执行 API 重放。
0101 无法为临时 Neutron 服务器创建配置文件,API 重放需启动该配置文件。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。通常可以通过解决配置文件更改的根本原因来修复此错误。
1001 NSX 迁移协调器未运行。要修复此错误,请在 migrator.conf.json 中指定的第一个节点上启动迁移协调器服务。如果使用 HA VIP,请确保活动管理器实例是正在运行迁移协调器的实例。对于迁移,建议使用特定的 NSX Manager,或使用客户端负载均衡。迁移完成后,可以更改 NSX-T Manager FQDN。
1002 NSX-T 版本无效。需要 NSX 3.2.0 或更高版本。
1003 无法检索 NSX-T 版本。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。
1004 计算管理器验证失败。必须在 NSX-T 中至少定义一个计算管理器。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。
1005 必须在 NSX-T 上运行清理。NSX-T 设置已具有由 VIO 创建的资源。确保在 migrator.conf.json 中将 rollback 设置为 True
1006 无法开始 NSX-T 迁移。这可能是上一次尝试迁移的结果。回滚正在进行的任何迁移,然后重试。
1007 无法为南北向切换准备 NSX-T。在 NSX 上设置南北向切换时出错。这可能是在生成“Edge 映射”文件时出错,或者在准备迁移计划时出错。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。
1008 迁移器容器无法关闭 NSX-T Edge 设备上的接口。这是南北向切换的所需步骤。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。要解决此问题,请在 migrator.conf.json 中将 edge_migration_interfaces_down 设置为 False,并手动确保 Edge 接口已关闭或已断开连接,然后再开始南北向切换。
1009 无法迁移没有下行链路的路由器。存在没有下行链路的 Neutron 路由器。无法迁移这些路由器。如果操作员认为返回的这个错误有误,则可以通过在 migrator.conf.json 中将 advanced_router_validation 设置为 False 来跳过该错误。
1100 迁移计划中的模式无效。为 NSX-T 迁移协调器配置了不同的计划。这可能是上一次尝试迁移的结果。回滚正在进行的任何迁移,然后重试。
1101 未在配置中确认 NSX-T 迁移。确保在 migration.conf.json 中将 edge_migration 和/或 host_migration 设置为 True
1105 无法修补没有网关的路由器。确保没有网关的 Neutron 路由器可以无缝迁移到 NSX-T 的过程失败。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。通过将 advanced_router_validation 设置为 False,将跳过此过程。不过,在 NSX-T 上开始南北向切换之前,操作员要确保每个 Tier-1 网关都连接到 Tier-0 路由器。
1106 无法还原没有网关的路由器。南北向切换后还原没有网关的 Neutron 路由器的过程失败。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。通过将 advanced_router_validation 设置为 False 来跳过此过程。不过,操作员要确保 Tier-1 网关与没有网关的 Neutron 路由器的 Tier-0 断开连接。
1110 无法开始到 NSX-T 的南北向切换迁移。应用迁移计划时出错。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。
1114 缺少 Edge 设备的虚拟机。某些 Edge 设备没有关联的虚拟机设备。移除相应的 Neutron 路由器,以便移除 Edge。
1115 在开始主机迁移之前,无法关闭 NSX-V Edge 虚拟机的电源。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。您可以考虑手动关闭虚拟机的电源。需要执行此操作以避免在主机迁移的运行时阶段出现问题。您必须至少关闭 DHCP 和元数据代理 Edge 设备的电源。
1120 无法启动主机迁移。应用迁移计划时出错。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以了解错误详细信息。
1130、1131 无法完成迁移。将迁移设置为“已完成”时出错。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。
1132 迁移期间超时。南北向切换的超时时间为 12 小时。主机迁移的超时时间为 48 小时。如果迁移器的作业 Pod 保持等待迁移启动状态,则最终将会超时。操作员只需将其重新启动即可。
2001 无法从 VIO 控制平面检索 Neutron CR。这可能是授权问题或在访问 VIO 的 Kubernetes 控制平面时出现的问题。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。
2002 无法解析 Neutron CR。确保 'spec' 部分中存在 'manifests' 属性。
2003 Neutron CR 中的内容无效。确保 NSX-V 插件处于启用状态,并且所有其他插件(包括 NSX-T Policy 插件)均处于禁用状态。
2004 无法更新 Neutron CR。更新 Neutron CR 时出错。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。这可能是在更新 Neutron CR、为 NSX-T 密码创建 VIOSecret 实例或为 NSX Manager 创建资源时出现的错误。确认这些资源在经过之前的失败尝试后未失效。
2011 使用策略为 NSX-T 创建数据库时发生故障。这很可能是一个 SQL 错误。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。
2012 将“neutron_policy”数据库重命名为“neutron”时发生故障。这很可能是一个 SQL 错误。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。
2111 无法启动用于 API 重放的临时 Neutron 服务器。这很可能是在配置临时 Neutron 服务器时出现的错误。检查 /var/log/neutron-server-tmp.log 以确定是否存在错误。
2112 API 重放失败。这表示在 NSX-T 中创建资源时出错。检查迁移器作业的 Pod 日志或 /var/log/migration/vio-v2t.log 以确定是否存在错误。日志将显示无法创建的资源。然后检查 /var/log/neutron-server-tmp.log 以了解故障的详细信息。常见的故障原因:
  • 临时 Neutron 服务器配置中的传输区域不正确
  • 非 Openstack 网络使用与某些 Openstack 网络相同的 VLAN
  • Edge 集群的负载均衡器的插槽不足