你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将虚拟机附加到或拆离自虚拟机规模集

将虚拟机附加到虚拟机规模集

重要

只能在灵活业务流程模式下将虚拟机附加到虚拟机规模集。 有关详细信息,请参阅虚拟机规模集的业务流程模式

有时,需要将虚拟机附加到虚拟机 (VM) 规模集,以便受益于规模集提供的规模、可用性和灵活性。 有两种方法可将 VM 附加到规模集:在规模集中手动创建新的独立 VM 或将现有 VM 附加到规模集。

如果需要在特定 VM 上使用不同于缩放配置文件中定义的配置,或者如何规模集没有缩放配置文件,则可以将新的独立 VM 附加到规模集。 通过手动附加 VM,你可以完全控制实例命名以及向特定可用性区域或容错域的放置。 VM 不必与规模集的缩放配置文件中的配置匹配,因此你可以指定操作系统、网络配置、按需或现成、VM 大小等参数。

可以通过指定要附加到的规模集,将现有 VM 附加到现有虚拟机规模集。 VM 不必与已在规模集中运行的 VM 相同,这意味着它可以具有不同的操作系统、网络配置、优先级、磁盘等。

将新虚拟机附加到虚拟机规模集

在创建 VM 时通过指定 virtualMachineScaleSet 属性将虚拟机附加到虚拟机规模集。

注意

将虚拟机附加到虚拟机规模集本身不会更新任何 VM 网络参数,例如负载均衡器。 如果希望此虚拟机接收来自任何负载均衡器的流量,则必须手动配置 VM 网络接口以接收来自负载均衡器的流量。 详细了解负载均衡器

  1. 转到“虚拟机”。
  2. 选择创建
  3. 选择“Azure 虚拟机”。
  4. 在“基本信息”选项卡中,打开“可用性选项”下拉列表,然后选择“虚拟机规模集”。
  5. 在“虚拟机规模集”下拉列表中,选择要将此虚拟机添加到的规模集。
  6. (可选)指定放置 VM 的可用性区域或容错域。

将新虚拟机附加到虚拟机规模集的例外

  • VM 必须与规模集位于同一资源组中。
  • 区域虚拟机(未指定可用性区域)可以附加到区域规模集。
  • 可将区域虚拟机附加到指定一个或多个区域的规模集。 虚拟机必须位于规模集跨越的区域之一。 例如,无法在区域 1 中创建虚拟机,并将其放置在跨区域 2 和 3 的规模集中。
  • 规模集必须处于灵活业务流程模式,singlePlacementGroup 属性必须为 false

将现有虚拟机附加到虚拟机规模集

在创建 VM 后,通过指定 virtualMachineScaleSet 属性将现有虚拟机附加到虚拟机规模集。 将现有 VM 附加到容错域计数为 1 的规模集不需要停机时间。

注意

将虚拟机附加到虚拟机规模集本身不会更新任何 VM 网络参数,例如负载均衡器。 如果希望此虚拟机接收来自任何负载均衡器的流量,则必须手动配置 VM 网络接口以接收来自负载均衡器的流量。 详细了解负载均衡器

  1. 转到“虚拟机”。
  2. 选择要附加到规模集的虚拟机的名称。
  3. 在“设置” 下,选择“可用性 + 缩放”
  4. 在“缩放”部分中,选择“入门”按钮。 如果按钮灰显,则 VM 当前不符合附加到规模集的要求。
  5. 在页面右侧的“附加到 VMSS”边栏选项卡中,选择要在“选择 VMSS”下拉列表中将 VM 附加到的规模集。
  6. 选择底部的“附加”按钮以附加 VM。

将现有虚拟机附加到规模集的限制

  • 规模集必须使用灵活的业务流程模式。
  • 规模集必须具有 1platformFaultDomainCount
  • VM 和规模集必须位于同一资源组中。
  • VM 和目标规模集必须都是分区性的,或者它们都必须是区域性的。 无法将分区 VM 附加到区域规模集。
  • VM 不能位于自定义的可用性集中。
  • VM 不能位于 ProximityPlacementGroup 中.
  • VM 不能位于 Azure 专用主机中。
  • VM 必须具有托管磁盘。
  • 规模集必须将 singlePlacementGroup 设置为 False
  • 如果规模集创建时没有缩放配置文件,则默认将 singlePlacementGroup 设置为 null。 若要将 VM 附加到没有缩放配置文件的规模集,需要在创建规模集时将 singlePlacementGroup 设置为 False
  • VM 不能是支持 HB 系列或 N 系列 VM 的远程直接内存访问 (RDMA)。

从虚拟机规模集分离虚拟机

如果需要从规模集拆离 VM,可以按照以下步骤从规模集中删除 VM。

  1. 转到“虚拟机”。
  2. 选择要附加到规模集的虚拟机的名称。
  3. 在“设置” 下,选择“可用性 + 缩放”
  4. 选择页面顶部的“从 VMSS 拆离”按钮。
  5. 出现确认提示时,选择“拆离”按钮。
  6. 如果拆离 VM ,门户会发送通知。

从规模集分离虚拟机的限制

  • 规模集必须使用灵活的业务流程模式。
  • 规模集必须具有 1platformFaultDomainCount
  • 如果规模集创建时没有缩放配置文件,则默认将 singlePlacementGroup 设置为 null。 若要从没有缩放配置文件的规模集中拆离 VM,singlePlacementGroup 需设置为 False
  • VM 不能为支持 RDMA 的 HB 系列或 N 系列 VM。

在规模集之间移动虚拟机

要将 VM 从一个规模集移到另一个规模集,请使用以下步骤:

  1. 从规模集 A 拆离 VM。
  2. 拆离完成后,可将 VM 附加到规模集 B。

限制

将 VM 附加到规模集或从规模集将其拆离的限制将保持不变。

故障排除

将现有虚拟机附加到现有规模集故障排除

错误消息 说明 疑难解答选项
虚拟机所引用的虚拟机规模集 "{vmssUri}" 不存在。 规模集资源不存在,或者不在灵活的业务流程模式中。 检查规模集是否存在。 如果是,请检查它是否正在使用统一业务流程模式。
不允许执行此操作,因为引用的虚拟机规模集“{vmssName}”没有将编排模式设置为“灵活”。 规模集不在灵活的业务流程模式中。 尝试附加到另一个启用了灵活业务流程模式的规模集。
引用的虚拟机“{vmName}”属于可用性集,不支持附加到虚拟机规模集。 有关详细信息,请参阅 https://aka.ms/vmo/attachdetach VmssDoesNotSupportAttachingExistingAvsetVM:尝试附加的 VM 是可用性集的一部分,不能附加到规模集。 可用性集中的 VM 无法附加到规模集。
引用的虚拟机规模集“{vmssName}”不支持将现有虚拟机附加到虚拟机,因为虚拟机规模集具有超过 1 个容错域。 有关详细信息,请参阅 https://aka.ms/vmo/attachdetach VmssDoesNotSupportAttachingExistingVMMultiFD:附加 VM 的操作失败,因为 VM 尝试附加到具有平台容错域计数超过 1 的规模集。 VM 只能附加到 platform fault domain count 大小为 1 的规模集。 尝试附加到具有平台容错域计数为 1 的规模集。
不支持将虚拟机“{vmName}”用于非托管磁盘并将其附加到虚拟机规模集。 有关详细信息,请参阅 https://aka.ms/vmo/attachdetach VmssDoesNotSupportAttachingExistingVMUnmanagedDisk:具有非托管磁盘的 VM 无法附加到规模集。 若要将具有磁盘的 VM 附加到规模集,请确保 VM 正在使用托管磁盘。 请访问文档,了解如何从非托管磁盘迁移到托管磁盘。
引用的虚拟机“{vmName}”属于邻近放置组 (PPG),不支持附加到虚拟机规模集。 有关详细信息,请参阅 https://aka.ms/vmo/attachdetach VmssDoesNotSupportAttachingPPGVM:附加 VM 的操作失败,因为 VM 是邻近放置组的一部分。 无法将邻近放置组中的 VM 附加到规模集。 从邻近放置组中删除 VM,然后尝试附加到规模集。 请参阅文档,了解如何将 VM 移出邻近放置组。
不允许 PropertyChangeNotAllowed Changing 属性 virtualMachineScaleSet.id。 如果不先从规模集拆离 VM,则虚拟机规模集 ID 不能更改为不同的虚拟机规模集 ID。 从虚拟机规模集拆离 VM,然后附加到新的规模集。
虚拟机规模集“{0}”不支持将现有虚拟机附加到虚拟机,因为虚拟机规模集将单个放置组设置为 true,或未将单个放置组显式设置为 false。 有关详细信息,请参阅 https://aka.ms/vmo/attachdetach VmssDoesNotSupportAttachingWithSpg:附加 VM 的操作失败,因为规模集是单个放置组的一部分。 VM 只能附加到 singlePlacementGroup 设置为 false 的规模集。
虚拟机规模集不支持附加虚拟机 {0},因为它使用的 VM 大小 {1} 只能与启用了单个放置组的虚拟机规模集一起使用。 有关详细信息,请参阅 https://aka.ms/vmo/attachdetach 所附加的 VM 的大小要求规模集使用单个放置组。 无法将需要单个放置组的 VM 附加到规模集。
虚拟机规模集不支持附加支持 RDMA 的 VM 大小,例如 {0}。 有关详细信息,请参阅 https://aka.ms/vmo/attachdetach 无法将支持 RDMA 的 VM 与规模集分离。 分离失败,因为 VM 支持 RDMA。 只有未启用 RDMA 的 VM 才能从规模集分离。

从规模集故障排除中分离虚拟机

错误消息 说明 疑难解答选项
虚拟机所引用的虚拟机规模集 "{vmssUri}" 不存在。 规模集资源不存在,或者不在灵活的业务流程模式中。 检查规模集是否存在。 如果是,请检查它是否正在使用统一业务流程模式。
不允许执行此操作,因为引用的虚拟机规模集“{vmssName}”没有将编排模式设置为“灵活”。 规模集不在灵活的业务流程模式中。 只有具有灵活业务流程模式的规模集才能将 VM 与其拆离。
虚拟机规模集“{vmssName}”不支持从中拆离现有虚拟机,因为虚拟机规模集有超过 1 个容错域。 有关详细信息,请参阅 https://aka.ms/vmo/attachdetach VM 拆离失败,因为它位于的规模集具有 1 个以上的平台容错域。 VM 只能从 platform fault domain count 大小为 1 的规模集拆离。
OperationNotAllowed,消息:不允许进行此操作,因为引用的虚拟机规模集“{armId}”未将业务流程模式设置为“灵活” 尝试附加到或拆离自的规模集是具有统一业务流程模式的规模集。 只有具有灵活业务流程模式的规模集才能将 VM 与其拆离。
不允许 PropertyChangeNotAllowed Changing 属性 virtualMachineScaleSet.id。 如果不先从规模集拆离 VM,则虚拟机规模集 ID 不能更改为不同的虚拟机规模集 ID。 从虚拟机规模集拆离 VM,然后附加到新的规模集。 确保将 virtualMachineScaleSet.id 设置为 null 的值。 不正确的值包括:"""null"
虚拟机规模集“{0}”不支持从中拆离现拟机,因为虚拟机规模集将单个放置组设置为 true。 有关详细信息,请参阅 https://aka.ms/vmo/attachdetach VmssDoesNotSupportAttachingWithSpg:由于规模集是单个放置组的一部分,因此 VM 分离失败。 VM 只能从 singlePlacementGroup 设置为 false 的规模集拆离。
虚拟机规模集不支持分离支持 RDMA 的 VM 大小,例如 {0}。 有关详细信息,请参阅 https://aka.ms/vmo/attachdetach 无法将支持 RDMA 的 VM 与规模集分离。 分离失败,因为 VM 支持 RDMA。 只有未启用 RDMA 的 VM 才能从规模集分离。

接下来

了解如何使用“维护通知”“维护配置”“计划事件”管理更新和维护。