我正在尝试在可用性集中检索VM的故障域ID。 这些ID是“随机”分配给所讨论的虚拟机的,但是对于我和应用程序来说,知道虚拟机分配给哪个故障域ID至关重要。 (通过随机b / c,我们使用terraform同时生成了约21个VM)
在azure的Web门户上,如果查看可用性集,则可以检索此信息。
我尝试过的事情:
在View Fault and Update Domains of virtual machine in Azure through Python Script页上,他们给了我一个命令示例:这给--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} ...
这不会给出错误,但也不会给我属性。
我也尝试过Powershell,但没有成功。
Get-AzureRmVM -ResourceGroupName $ rg.ResourceGroupName | convertTo-json
Get-AzureRmAvailabilitySet -ResourceGroupName $ rg.ResourceGroupName | convertTo-json
有人知道如何检索域故障ID吗?
答案 0 :(得分:1)
AFAIK,您无法获取故障域ID,这些域是由MS分配的,最多只能获取platformFaultDomainCount
。
故障域定义了共享公共电源和网络交换机的虚拟机组。
默认情况下,在可用性集中配置的虚拟机在Resource Manager部署的多达三个故障域(对于Classic的两个故障域)之间是分开的。
有关可用性集和故障域的更多详细信息,请参阅:
答案 1 :(得分: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客户端中不起作用((可能是一个错误?)