使用 Azure PowerShell 模块或 Azure CLI 在不停机的情况下更改性能层

适用于:✔️ Linux VM ✔️ Windows VM

创建磁盘时,将以其性能层的形式设置 Azure 托管磁盘的性能。 性能层决定了托管磁盘的 IOPS 和吞吐量。 当你设置磁盘的预配大小时,系统会自动选择性能层。 可以在部署时或之后更改性能层,而无需更改磁盘大小。 要了解有关性能层的详细信息,请参阅托管磁盘的性能层

更改性能层会影响计费。 有关详细信息,请参阅计费影响

限制

  • 目前仅高级 SSD 支持此功能。
  • 共享磁盘当前不支持此功能。
  • P60、P70 和 P80 性能层只能由大于 4,096 GiB 的磁盘使用。
  • 磁盘的性能层每 12 小时只能降级一次。
  • 系统不会返回在 2020 年 6 月之前创建的磁盘的性能层。 你可以通过使用基线层更新旧磁盘来利用旧磁盘的性能层。

先决条件

安装最新的 Azure CLI 并使用 az login 登录到 Azure 帐户。

注意

请先运行 az cloud set -n AzureChinaCloud 更改云环境,然后才能在 Azure 中国世纪互联中使用 Azure CLI。 若要切换回 Azure 公有云,请再次运行 az cloud set -n AzureCloud

创建一个层级高于基线层的空数据磁盘

subscriptionId=<yourSubscriptionIDHere>
resourceGroupName=<yourResourceGroupNameHere>
diskName=<yourDiskNameHere>
diskSize=<yourDiskSizeHere>
performanceTier=<yourDesiredPerformanceTier>
region=chinaeast

az cloud set -n AzureChinaCloud
az login

az account set --subscription $subscriptionId

az disk create -n $diskName -g $resourceGroupName -l $region --sku Premium_LRS --size-gb $diskSize --tier $performanceTier

从 Azure 市场映像创建一个层级高于基线层的 OS 磁盘

resourceGroupName=<yourResourceGroupNameHere>
diskName=<yourDiskNameHere>
performanceTier=<yourDesiredPerformanceTier>
region=chinaeast
image=Canonical:UbuntuServer:18.04-LTS:18.04.202002180

az disk create -n $diskName -g $resourceGroupName -l $region --image-reference $image --sku Premium_LRS --tier $performanceTier

在不停机的情况下更新磁盘的分层

  1. 更新磁盘的层级,即使磁盘已附加到正在运行的虚拟机

    resourceGroupName=<yourResourceGroupNameHere>
    diskName=<yourDiskNameHere>
    performanceTier=<yourDesiredPerformanceTier>
    
    az disk update -n $diskName -g $resourceGroupName --set tier=$performanceTier
    

显示磁盘层级

az disk show -n $diskName -g $resourceGroupName --query [tier] -o tsv

后续步骤

如果需要调整磁盘大小以利用更高的性能层,请参阅以下文章: