您能否从 SKU 中找出 Azure VM SKU 是否有临时磁盘?

问题描述 投票:0回答:1

我希望能够查明特定 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 布局。

这似乎是一个显而易见的属性,值得公开?有人实现了吗?

azure azure-virtual-machine
1个回答
0
投票

您可以使用 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"

输出:

enter image description here

以下是特定 SKU 的本地 临时磁盘OS 磁盘 的信息。

enter image description here

参考: 无本地临时磁盘的 Azure VM 大小

© www.soinside.com 2019 - 2024. All rights reserved.