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

适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集

注意

本文重点介绍如何更改性能层。 若要了解如何更改不使用性能层(如超级磁盘)的磁盘的性能,请参阅调整超级磁盘的性能

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

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

限制

  • 目前只有高级 SSD 托管磁盘支持此功能。
  • 当附加到正在运行的 VM 时,无法更改共享磁盘的性能层。
    • 若要更改共享磁盘的性能层,请停止其附加到的所有 VM。
  • P60、P70 和 P80 性能层只能由大于 4,096 GiB 的磁盘使用。
  • 磁盘的性能层每 12 小时只能降级一次。
  • 系统不会返回在 2020 年 6 月之前创建的磁盘的性能层。 你可以通过使用基线层更新旧磁盘来利用旧磁盘的性能层。

先决条件

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

注意

在可以在由世纪互联运营的 Microsoft Azure 中使用 Azure CLI 之前,请先运行 az cloud set -n AzureChinaCloud 来更改云环境。 若要切换回 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

后续步骤

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