Azure 如何使用任何 CLI/API 接收可用性集中虚拟机的分配故障域 ID?
Azure how to receive the assigned fault domain id of a virtual machine in an availability set using any CLI/API?
我正在尝试检索可用性集中 VM 的故障域 ID。
这些 ID 被分配 "by random" 给有问题的虚拟机,但对我和应用程序来说,了解虚拟机分配给哪个故障域 ID 很重要。 (通过随机 b/c 我们使用 terraform 同时生成 ~21 个虚拟机)
在 Azure 的 Web 门户上,如果您查看可用性集,则可以检索此信息。
我尝试过的:
Azure CLI --展开实例视图
在页面 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} ...
没有 --expand instanceView 的 Azure CLI
这没有报错,但也没有给我属性。
Powershell
我也尝试过使用 Powershell 但没有成功。
获取-AzureRmVM -ResourceGroupName $rg.ResourceGroupName | convertTo-json
获取-AzureRmAvailabilitySet -ResourceGroupName $rg.ResourceGroupName | convertTo-json
有谁知道如何检索域错误 ID?
AFAIK,您无法 获取故障域 ID,域由 MS 分配,您最多只能获取 platformFaultDomainCount
。
故障域定义了一组共享公共电源和网络交换机的虚拟机。
默认情况下,在您的可用性集中配置的虚拟机在 Resource Manager 部署中最多分为三个故障域(Classic 有两个故障域)。
关于可用性集和故障域的更多详细信息,请参考:
可以通过使用 REST API:
https://management.azure.com/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Compute/virtualMachines/%s/instanceView?api-version=2017-03-30
所以,我刚刚写了一个 REST API 客户端来检索我的信息,我不知道为什么它在 CLI 客户端中不起作用,(也许是一个错误?)
我正在尝试检索可用性集中 VM 的故障域 ID。 这些 ID 被分配 "by random" 给有问题的虚拟机,但对我和应用程序来说,了解虚拟机分配给哪个故障域 ID 很重要。 (通过随机 b/c 我们使用 terraform 同时生成 ~21 个虚拟机)
在 Azure 的 Web 门户上,如果您查看可用性集,则可以检索此信息。
我尝试过的:
Azure CLI --展开实例视图
在页面 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} ...
没有 --expand instanceView 的 Azure CLI
这没有报错,但也没有给我属性。
Powershell
我也尝试过使用 Powershell 但没有成功。
获取-AzureRmVM -ResourceGroupName $rg.ResourceGroupName | convertTo-json
获取-AzureRmAvailabilitySet -ResourceGroupName $rg.ResourceGroupName | convertTo-json
有谁知道如何检索域错误 ID?
AFAIK,您无法 获取故障域 ID,域由 MS 分配,您最多只能获取 platformFaultDomainCount
。
故障域定义了一组共享公共电源和网络交换机的虚拟机。
默认情况下,在您的可用性集中配置的虚拟机在 Resource Manager 部署中最多分为三个故障域(Classic 有两个故障域)。
关于可用性集和故障域的更多详细信息,请参考:
可以通过使用 REST API:
https://management.azure.com/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Compute/virtualMachines/%s/instanceView?api-version=2017-03-30
所以,我刚刚写了一个 REST API 客户端来检索我的信息,我不知道为什么它在 CLI 客户端中不起作用,(也许是一个错误?)