2

我正在尝试检索可用性集中的 VM 的故障域 ID。这些 ID 是“随机”分配给相关虚拟机的,但对于我和应用程序来说,了解虚拟机分配给的故障域 ID 很重要。(通过随机 b/c,我们使用 terraform 同时生成约 21 个虚拟机)

在 azure 的 Web 门户上,如果您查看可用性集,则可以检索此信息。

我试过的:

Azure CLI --expand instanceView

在通过 Python 脚本查看 Azure 中虚拟机的故障和更新域页面上,他们给了我一个命令示例:这在 --expand 属性上给出了一个错误

az vm show -g [ResourceGroup] -n [VM_NAME] --expand instanceView

az: error: unrecognized arguments: --expand instanceView usage: az [-h] [--verbose] [--debug] [--output {json,jsonc,table,tsv}] [--query JMESPATH] {vm} ...

没有 --expand instanceView 的 Azure CLI

这不会给出错误,但也不会给我属性。

电源外壳

我也尝试过使用 Powershell,但没有成功。

获取 AzureRmVM -ResourceGroupName $rg.ResourceGroupName | 转换为 json

获取 AzureRmAvailabilitySet -ResourceGroupName $rg.ResourceGroupName | 转换为 json


有谁知道如何检索域故障 ID?

4

2 回答 2

1

可以使用 REST API:

https://management.azure.com/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Compute/virtualMachines/%s/instanceView?api-version=2017-03-30

所以,我只是写了一个 REST API 客户端来检索我的信息,我不知道为什么它在 CLI 客户端中不起作用,(也许是一个错误?)

于 2018-07-16T09:13:06.690 回答
1

AFAIK,您无法获得故障域ID,这些域是由MS分配的,您最多只能获得platformFaultDomainCount

故障域定义共享公共电源和网络交换机的虚拟机组。

默认情况下,在可用性集中配置的虚拟机最多可跨三个容错域进行资源管理器部署(经典的两个容错域)。

有关可用性集和故障域的更多详细信息,请参阅:

于 2018-07-10T02:44:20.580 回答