在无停机时间的情况下更改性能级别

适用于: ✔️ Linux 虚拟机 ✔️ Windows 虚拟机 ✔️ 灵活规模集

注意

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

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

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

限制

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

注意

如果在运行 VM 时使用 Terraform 更改性能层,Terraform 会关闭 VM,并尝试在进程完成后重启它。 使用其他方法更改性能层可避免这种情况。

先决条件

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

注意

在世纪互联运营的Microsoft Azure中使用Azure CLI之前,请先运行 az cloud set -n AzureChinaCloud 以更改云环境。 如果要切换回Azure公有云,请再次运行 az cloud set -n AzureCloud。

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

性能层仅适用于高级 SSD 托管磁盘。 为对应的磁盘大小选择不低于基线层级的层级。 P60、P70 和 P80 层需要大于 4,096 GiB 的磁盘。

使用 az disk create 命令创建具有指定性能层的空高级 SSD 数据磁盘。

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

az account set --subscription $subscriptionId

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

使用 az disk show 确认 tier 值是否匹配 $performanceTier。

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

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

为 OS 磁盘大小选择基线层或更高级别的层。 以下示例使用 az disk create 从Azure 市场映像创建 OS 磁盘。

resourceGroupName=<yourResourceGroupNameHere>
diskName=<yourDiskNameHere>
performanceTier=<yourDesiredPerformanceTier>
region=chinaeast2
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

使用 az disk show 确认 tier 值是否匹配 $performanceTier。

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

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

可以更改高级 SSD 托管磁盘的性能层,而无需解除分配 VM 或分离磁盘。 对于共享磁盘,在更改层级之前,请先停止所有已附加的虚拟机。 不能选择低于磁盘基线层级的层级。 每 12 小时只能降级一次层。

  1. 使用 az disk update 命令更新磁盘的层级,即使磁盘已附加到正在运行的 VM 也是如此。

    resourceGroupName=<yourResourceGroupNameHere>
    diskName=<yourDiskNameHere>
    performanceTier=<yourDesiredPerformanceTier>
    
    az disk update -n $diskName -g $resourceGroupName --set tier=$performanceTier
    
  2. 使用 az disk show 确认 tier 值是否匹配 $performanceTier。

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

显示磁盘层级

使用 az disk show 命令返回当前性能层。

resourceGroupName=<yourResourceGroupNameHere>
diskName=<yourDiskNameHere>

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

后续步骤

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