将 Linux VM 移到其他订阅或资源组

本文逐步说明如何在资源组或订阅之间移动 Linux VM。 如果在个人订阅中创建了 VM,现在想要将其移到公司的订阅,则在订阅之间移动 VM 会很方便。

Important

不可在此时移动托管磁盘。

在移动过程中会创建新的资源 ID。 移动 VM 后,需要更新工具和脚本以使用新的资源 ID。

使用 Azure CLI 移动 VM

在使用 CLI 移动 VM 之前,需确保源订阅和目标订阅存在于同一租户中。 若要检查这两个订阅是否具有相同的租户 ID,请使用 az account show 命令。

Note

在 Azure 中国区使用 Azure CLI 2.0 之前,请先运行 az cloud set -n AzureChinaCloud 来改变云环境。如果想切回国际版 Azure,请再次运行 az cloud set -n AzureCloud

az account show --subscription mySourceSubscription --query tenantId
az account show --subscription myDestinationSubscription --query tenantId

如果源和目标订阅的租户 ID 不相同,则必须联系支持人员才能将资源移动到新租户。

若要成功移动 VM,需要移动 VM 及其所有支持资源。 使用 az resource list 命令列出资源组中的所有资源及其 ID。 这有助于通过管道将此命令的输出发送到文件,以便将 ID 复制并粘贴到后续命令中。

az resource list --resource-group "mySourceResourceGroup" --query "[].{Id:id}" --output table

若要将 VM 及其资源移到其他资源组,请使用 az resource move 命令。 以下示例说明如何移动 VM 及其所需的大多数通用资源。 使用 -ids 参数,并针对要移动的资源传入逗号分隔的 ID 列表(不包含空格)。

vm=/subscriptions/mySourceSubscriptionID/resourceGroups/mySourceResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM
nic=/subscriptions/mySourceSubscriptionID/resourceGroups/mySourceResourceGroup/providers/Microsoft.Network/networkInterfaces/myNIC
nsg=/subscriptions/mySourceSubscriptionID/resourceGroups/mySourceResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG
pip=/subscriptions/mySourceSubscriptionID/resourceGroups/mySourceResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIPAddress
vnet=/subscriptions/mySourceSubscriptionID/resourceGroups/mySourceResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet
diag=/subscriptions/mySourceSubscriptionID/resourceGroups/mySourceResourceGroup/providers/Microsoft.Storage/storageAccounts/mydiagnosticstorageaccount
storage=/subscriptions/mySourceSubscriptionID/resourceGroups/mySourceResourceGroup/providers/Microsoft.Storage/storageAccounts/mystorageacountname    

az resource move \
    --ids $vm,$nic,$nsg,$pip,$vnet,$storage,$diag \
    --destination-group "myDestinationResourceGroup"

如果要将 VM 及其资源移到其他订阅,请添加 --destination-subscriptionId 参数来指定目标订阅。

如果系统要求确认是否要移动指定的资源, 请键入 Y 确认要删除资源。

使用门户将 VM 移到其他订阅

可以使用门户将 VM 及其关联的资源移到其他订阅。

  1. 打开 Azure 门户
  2. 单击“浏览” > “虚拟机”,并从列表中选择要移动的 VM。
  3. 在 VM 的页面顶部,选择 →“移动”按钮,然后选择“移动到另一个订阅”。 “移动资源”页随即打开。
  4. 选择要移动的每个资源。 大多数情况下,应移动列出的所有相关资源。
  5. 选择要将 VM 移到其中的订阅
  6. 选择一个现有资源组,或者键入名称以创建新的资源组。
  7. 完成后,选择你了解将创建新的资源 ID 并且移动后需要将这些资源 ID 用于 VM,然后单击“确定”。

使用门户将 VM 移到其他资源组

可以使用门户将 VM 及其关联的资源移到其他资源组。

  1. 打开 Azure 门户
  2. 单击“浏览” > “虚拟机”,并从列表中选择要移动的 VM。
  3. 在 VM 的页面顶部,选择 →“移动”按钮,然后选择“移动到另一个资源组”。 “移动资源”页随即打开。
  4. 选择要移动的每个资源。 大多数情况下,应移动列出的所有相关资源。
  5. 选择一个现有资源组,或者键入名称以创建新的资源组。
  6. 完成后,选择你了解将创建新的资源 ID 并且移动后需要将这些资源 ID 用于 VM,然后单击“确定”。

后续步骤

可以在资源组和订阅之间移动许多不同类型的资源。 有关详细信息,请参阅将资源移到新资源组或订阅