将 Azure 经典 VM 迁移到 ARM。虚拟网络验证错误

Migrate Azure classic VM to ARM. error in Virtual Network validation

我尝试按照 the instruction.

将 Azure 经典 ASM 虚拟机迁移到 ARM

第5步开头,选项1中的验证命令;

$validate = Move-AzureService -Validate -ServiceName $serviceName `
  -DeploymentName $deploymentName -CreateNewVirtualNetwork
$validate.ValidationMessages

给出以下错误。

ResourceType : Deployment

ResourceName : database-vm

Category : Error

Message: Deployment database-vm in HostedService database-vm belongs to Virtual Network Group database-east-asia DatabaseNetwork. Please migrate Virtual Network Group database-east-asia DatabaseNetwork to migrate this HostedService database-vm.

VirtualMachineName:

选项 2 验证也给出同样的错误。

这种错误信息 cannot be found in the list。我还尝试如下验证 VirtualNetwork 命令,以便首先迁移虚拟网络。

Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName

但是,命令给出以下错误。

OperationId : 8b66a5c9-a657-3a91-af8d-2c29ceXXXX9f

Result : Validation failed. Please see ValidationMessages for details

ValidationMessages : {DatabaseNetwork}

如何解决这个问题?

+追加

我应用以下参数在 Option 2 中执行 Move-AzureService

$existingVnetRGName = "database-east-asia"
$vnetName = "Group database-east-asia DatabaseNetwork"
$subnetName = "default"

我将 $vnetName 参数更改为 DatabaseNetwork 但没有成功。

我在经典门户中可以看到很长Group database-east-asia DatabaseNetwork。请注意,VM 和 Vnet 不在同一资源组中。我不知道这是问题。

错误信息没有比上面更详细。我发现 VirtualMachineName 在错误信息中是空的。

能否请您post您第二个命令的详细ValidationMessages?

根据错误信息,由于某些原因无法迁移名为"DatabaseNetwork"的VNET。

通常情况下,此错误消息是由 VNET 上配置的不支持的功能引起的。

  • 端点 ACL。
  • 虚拟网络网关(Azure ExpressRoute 网关、应用程序 网关)。
  • 使用 VNet 对等互连的虚拟网络。
  • 流量管理器配置文件。

您需要禁用这些功能,然后再迁移 VNET。迁移后,您可以在资源模式下重新启用它。

============================================= =============

更新:

  1. 要获取第二个命令的详细 ValidationMessages,请运行以下命令:

    $validate=Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName $validate.ValidationMessages

  2. 要迁移连接到 VNET 的 VM,我们只需要迁移 VNET,VM 将自动随 VNET 一起迁移。