如何验证 Azure VM 规模集实例是否将 SSD 用于临时 OS 磁盘?

How do I verify that an Azure VM scale set instance is using SSD for ephemeral OS disk?

我成功地为 Azure DevOps 构建代理使用了 VM 规模集。我已将其配置为临时 OS 磁盘,但很难确认这些实例实际上是按照我期望的方式设置的。

规模集的配置方式如下:

az vmss create `
    --name test-scaleset `
    --resource-group test-scaleset-rg `
    --image /subscriptions/<mysub>/resourceGroups/<sharedimagegalleryresourcegroup>/providers/Microsoft.Compute/galleries/<sharedimagegallery>/images/devops-build/versions/latest `
    --vm-sku Standard_D8s_v3 `
    --ephemeral-os-disk true `
    --os-disk-caching ReadOnly `
    --instance-count 1 `
    --disable-overprovision `
    --upgrade-policy-mode manual `
    --single-placement-group false `
    --zones 1 2 3 `
    --platform-fault-domain-count 1 `
    --load-balancer '""' `
    --authentication-type password `
    --admin-username devops-admin `
    --admin-password "somethingrandomenough" `
    --storage-sku Standard_LRS `
    --assign-identity [system] `
    --scope /subscriptions/<mysub>/resourceGroups/test-scaleset-rg `
    --vnet-name test-scaleset-vnet `
    --subnet test-vms `
    --no-wait

这会创建一个 VM 规模集,我可以在属性中看到它是为临时 OS 磁盘配置的:

VMSS properties

当我查看已创建实例的“磁盘”面板时,我看到了:

OS Disk properties

那么,我该如何解释呢?是 OS 临时磁盘和标准 HDD 上的 运行 吗?或者标准硬盘只是指图像源位置?

实例存储配置文件如下所示:

        "storageProfile": {
            "imageReference": {
                "id": "/subscriptions/<mysub>/resourceGroups/<sharedimagegalleryresourcegroup>/providers/Microsoft.Compute/galleries/<sharedimagegallery>/images/devops-build/versions/latest",
                "exactVersion": "1.0.4"
            },
            "osDisk": {
                "osType": "Windows",
                "diffDiskSettings": {
                    "option": "Local"
                },
                "name": "my-vmss-instance-OS__1_c560735c41c74691a53efaac977b6c66",
                "createOption": "FromImage",
                "caching": "ReadOnly",
                "managedDisk": {
                    "storageAccountType": "Standard_LRS",
                    "id": "/subscriptions/<mysub>/resourceGroups/<vmss-rg>/providers/Microsoft.Compute/disks/my-vmss-instance-OS__1_c560735c41c74691a53efaac977b6c66"
                },
                "diskSizeGB": 192
            },
            "dataDisks": []
        }

我已尝试创建 VMSS(如上所述),但将 Premium_LRS 指定为存储帐户类型,部署失败并显示临时 OS 磁盘需要 [=34] 的消息=].最后一点很有趣,因为 VMSS 必须使用支持高级存储的 VM SKU?很混乱。

对于临时OS磁盘,首先只有VM大小支持高级存储,然后才支持临时OS磁盘。其次,Ephemeral OS 磁盘目前似乎只支持 Standard HDD 磁盘类型。当您 select Use ephemeral OS disk:

时,您可以在 Azure 门户中看到此限制

所以当你选择 Use ephemeral OS disk 时,你不能设置 OS 磁盘为高级类型,至少目前是这样。