什么是 'managed' 和 'non-managed' 可用性集?

What are 'managed' and 'non-managed' availability sets?

我正在尝试以编程方式配置 Azure VM,我得到了这个:

An unhandled exception of type 'Microsoft.Rest.Azure.CloudException' occurred in mscorlib.dll Additional information: Addition of a VM with managed disks to non-managed Availability Set or addition of a VM with blob based disks to managed Availability Set is not supported. Please create an Availability Set with 'managed' property set in order to add a VM with managed disks to it.

不幸的是,我不明白它所说的托管和非托管可用性集的区别。我用于创建可用性集的 API 甚至显然没有这样的 flag/property。我在这里缺少什么概念背景信息?

恐怕它说的是它应该说的。那个状态很清楚。

您不能混合托管和非托管资源和可用性集。因此,如果您想要托管磁盘,则必须在托管可用性集中创建 VM。请按照此 link 在他们的帮助中心查看更多描述性解释。

当您通过 Azure 门户或通过 ARM PowerShell 模块创建可用性集时,您can选择它是包含托管磁盘还是非托管磁盘。

下图显示了两种类型之间的区别(取自this video):

基本上,托管 可用性集只能包含具有托管磁盘的 VM。托管磁盘会自动将 VM 映像放在不同的存储单元中,因此如果其中一个出现故障,它不会删除所有映像。

这里有更多信息:https://docs.microsoft.com/en-gb/azure/virtual-machines/windows/managed-disks-overview