我希望能够查明特定 SKU 是否附加了临时磁盘。我尝试使用 PowerShell 和
Get-AzComputeResourceSku
命令来列出功能,但似乎没有它的属性。
资源 SKU API 也是如此 - https://learn.microsoft.com/en-us/rest/api/compute/resource-skus/list?tabs=HTTP。 (PS 命令通过输出看起来使用了这个 API)
我想使用 Bicep 部署中的信息来决定 Azure VM 部署上的 SQL Server 的 tempdb 布局。
这似乎是一个显而易见的属性,值得公开?有人实现了吗?
您可以使用 MaxResourceVolumeMB 检查
VM SKU
的 临时磁盘 信息。 MaxResourceVolumeMB
值提供有关 local temp disk size
的信息。
这里是
PowerShell script
,可从特定位置查找所有SKU的本地临时磁盘信息。
$location = "EastUS"
$vmskus = Get-AzComputeResourceSku | Where-Object { $_.Locations -contains $location -and $_.ResourceType -eq "virtualMachines" }
$vmSkuinfo = @()
foreach ($sku in $vmSkus) {
$tempDiskCapability = $sku.Capabilities | Where-Object { $_.Name -eq "MaxResourceVolumeMB" }
if ($tempDiskCapability) {
$maxResourceVolumeMB = [int]$tempDiskCapability.Value
$maxResourceVolumeGB = [math]::Round($maxResourceVolumeMB / 1024, 2)
$osDiskCapability = $sku.Capabilities | Where-Object { $_.Name -eq "OSVhdSizeMB" }
if ($osDiskCapability) {
$osVhdSizeMB = [int]$osDiskCapability.Value
$osVhdSizeGB = [math]::Round($osVhdSizeMB / 1024, 2)
} else {
$osVhdSizeMB = 0
$osVhdSizeGB = 0
}
$vmSkuinfo += [pscustomobject]@{
'VM SKU Name' = $sku.Name
'Location' = $location
'Local Temp Disk (MB)' = $maxResourceVolumeMB
'Local Temp Disk (GB)' = $maxResourceVolumeGB
'OS Disk Size (MB)' = $osVhdSizeMB
'OS Disk Size (GB)' = $osVhdSizeGB
}
}
}
$CSVPath = "/home/venkatv/VM_SKU_DiskSizes.CSV"
$vmSkuinfo | Export-CSV -Path $CSVPath -AutoSize
Write-Output "Data exported to $CSVPath"
输出:
以下是特定 SKU 的本地 临时磁盘 和 OS 磁盘 的信息。