使用 Azure 超级磁盘
本文内容
适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集 ✔️ 统一规模集
本文介绍如何部署和使用超级磁盘,有关超级磁盘的概念性信息,请参阅 Azure 中有哪些可用的磁盘类型? 。
Azure 超级磁盘为 Azure IaaS 虚拟机 (VM) 提供高吞吐量、高 IOPS 和一致且低延迟的磁盘存储。 此新产品提供出类拔萃的性能,其可用性级别与我们的现有磁盘产品相同。 超级磁盘的一个主要优点是能够动态更改 SSD 的性能和工作负载,而无需重启 VM。 超级磁盘适用于 SAP HANA、顶层数据库等数据密集型工作负荷,以及事务密集型工作负荷。
正式发布版的范围和限制
以下列表包含超级磁盘的限制:
超级磁盘不能用作 OS 磁盘。
Ultra Disks 不能与 Azure Compute Gallery 一起使用。
目前,超级磁盘仅支持“单一 VM”和“可用性区域基础结构”选项。
超级磁盘不支持可用性集。
如果不解除分配 VM 或拆离超级磁盘,则无法扩展超级磁盘的大小。
现有磁盘当前无法将其类型更改为“超级磁盘”。 它们必须已迁移 。
目前,对于 Ultra 磁盘,由世纪互联运营的 Microsoft Azure 不支持客户管理的密钥 。
具有超级磁盘的 VM 不支持 Azure 磁盘加密。 相反,应使用平台管理或客户管理的密钥进行静态加密。
具有超级磁盘的 VM 不支持 Azure Site Recovery。
超级磁盘不支持磁盘缓存。
Azure 备份对具有超级磁盘的 VM 的支持目前已正式发布 。 使用 Ultra Disks 时,Azure 备份存在限制。有关详细信息,请参阅 VM 存储支持 。
超级磁盘默认支持 4k 物理扇区大小,但也支持 512E 扇区大小。 大多数应用程序都与 4k 扇区大小兼容,但某些应用程序需要 512 字节扇区大小。 例如,Oracle Database 需要 12.2 版或更高版本才能支持 4k 本机磁盘。 对于较旧版本的 Oracle DB,需要 512 字节扇区大小。
下表概述了可使用超级磁盘的区域以及相应的可用性选项。
注意
如果以下列表中的某个区域没有支持超级磁盘的可用性区域,则该区域中的 VM 必须在没有基础结构冗余的情况下部署,才能附加超级磁盘。
在每个具有超级磁盘的受支持区域中,并非每个 VM 大小都可用。 下表列出了与超级磁盘兼容的 VM 系列。
确定 VM 大小和区域可用性
使用可用性区域的 VM
若要使用超级磁盘,需要确定你位于哪个可用性区域中。 并非每个区域都支持每一种使用超级磁盘的 VM 大小。 若要确定地区、区域和 VM 大小是否支持超级磁盘,请运行以下任一命令,确保首先替换“region”、“vmSize”和“subscriptionId”值 :
CLI
subscriptionId="<yourSubID>"
# Example value is chinanorth3
region="<yourLocation>"
# Example value is Standard_E64s_v3
vmSize="<yourVMSize>"
az vm list-skus --resource-type virtualMachines --location $region --query "[?name=='$vmSize'].locationInfo[0].zoneDetails[0].Name" --subscription $subscriptionId
PowerShell
# Example value is chinanorth3
$region = "<yourLocation>"
# Example value is Standard_E64s_v3
$vmSize = "<yourVMSize>"
$sku = (Get-AzComputeResourceSku | where {$_.Locations -icontains($region) -and ($_.Name -eq $vmSize) -and $_.LocationInfo[0].ZoneDetails.Count -gt 0})
if($sku){$sku[0].LocationInfo[0].ZoneDetails} Else {Write-host "$vmSize is not supported with Ultra Disk in $region region"}
响应将会类似于以下形式,其中 X 为用于在所选地区进行部署的区域。 X 可能是1、2 或 3。
预留“区域”值,它表示可用性区域,部署超级磁盘时将会需要该值 。
ResourceType
名称
位置
区域
限制
功能
值
disks
UltraSSD_LRS
chinanorth3
X
注意
如果命令没有响应,则说明所选区域中的超级磁盘不支持所选 VM 大小。
现在,你已了解要部署到哪个区域,请按照本文中的部署步骤,部署附加超级磁盘的 VM,或将超级磁盘附加到某个现有的 VM。
使用 Azure 资源管理器部署超级磁盘
首先,确定要部署的 VM 大小。 有关受支持的 VM 大小的列表,请参阅正式发布版的范围和限制 部分。
如果需要创建具有多个超级磁盘的 VM,请参考示例创建具有多个超级磁盘的 VM 。
如果要使用自己的模板,请确保将 Microsoft.Compute/virtualMachines
和 Microsoft.Compute/Disks
的“apiVersion”设置为“2018-06-01
”(或更高版本)。
将磁盘 sku 设置为“UltraSSD_LRS”,然后设置磁盘容量、IOPS、可用性区域和吞吐量(以 MBps 为单位),以创建超级磁盘 。
在预配 VM 后,可以对数据磁盘进行分区和格式设置并为工作负荷配置这些磁盘。
部署超级磁盘
本部分介绍如何部署配备超级磁盘作为数据磁盘的虚拟机。 假定你已熟悉如何部署虚拟机,如果你尚不熟悉,请参阅我们的快速入门:在 Azure 门户中创建 Windows 虚拟机 。
登录到 Azure 门户 并导航到部署虚拟机 (VM)。
确保选择受支持的 VM 大小和区域 。
选择“可用性选项”中的“可用性区域” 。
按你的选择填写其余条目。
选择“磁盘”。
在“磁盘”边栏选项卡上,为“启用超级磁盘兼容性”选择“是” 。
选择“创建并附加新磁盘”,以立即附加超级磁盘 。
在“创建新磁盘”边栏选项卡上,输入名称,然后选择“更改大小” 。
将“磁盘 SKU”更改为“超级磁盘” 。
将“自定义磁盘大小 (GiB)”、“磁盘 IOPS”和“磁盘吞吐量”的值更改为所选值 。
在两个边栏选项卡中都选择“确定”。
继续执行 VM 部署,该过程与部署任何其他 VM 相同。
首先,确定要部署的 VM 大小。 请参阅正式发布版的范围和限制 部分,以获取受支持的 VM 大小的列表。
若要附加超级磁盘,必须创建能够使用超级磁盘的 VM。
将 $vmName、$rgName、$diskName、$region、$password、$user 变量替换或设置为你自己的值。 将“$zone”设置为从本文开头 获取的可用性区域的值。 然后运行以下 CLI 命令,以创建启用了超级磁盘的 VM:
az disk create --subscription $subscriptionId -n $diskName -g $rgName --size-gb 1024 --location $region --sku UltraSSD_LRS --disk-iops-read-write 8192 --disk-mbps-read-write 400
az vm create --subscription $subscriptionId -n $vmName -g $rgName --image Win2016Datacenter --ultra-ssd-enabled true --zone $zone --authentication-type password --admin-password $password --admin-username $user --size Standard_D4s_v3 --location $region --attach-data-disks $diskName
首先,确定要部署的 VM 大小。 请参阅正式发布版的范围和限制 部分,以获取受支持的 VM 大小的列表。
若要使用超级磁盘,必须创建能够使用超级磁盘的 VM。 将 $rgName、$vmName、$region 变量替换或设置为你自己的值。 将“$zone”设置为从本文开头 获取的可用性区域的值。 然后运行以下 New-AzVm 命令,以创建启用了超级磁盘的 VM:
New-AzVm `
-ResourceGroupName $rgName `
-Name $vmName `
-Location $region `
-Image "Win2016Datacenter" `
-EnableUltraSSD `
-Size "Standard_D4s_v3" `
-Zone $zone
创建和附加磁盘
在部署了 VM 之后,即可创建超级磁盘并将它附加到该 VM,请使用以下脚本:
# Set parameters and select subscription
$subscriptionId = "<yourSubscriptionID>"
$rgName = "<yourResourceGroup>"
$vmName = "<yourVMName>"
$diskName = "<yourDiskName>"
$lun = 1
Connect-AzAccount -Environment AzureChinaCloud -SubscriptionId $subscriptionId
# Create the disk
$diskConfig = New-AzDiskConfig `
-Location 'chinanorth3' `
-DiskSizeGB 8 `
-DiskIOPSReadWrite 1000 `
-DiskMBpsReadWrite 100 `
-AccountType UltraSSD_LRS `
-CreateOption Empty `
-Zone $zone
New-AzDisk `
-ResourceGroupName $rgName `
-DiskName $diskName `
-Disk $diskConfig
# Add disk to VM
$vm = Get-AzVM -ResourceGroupName $rgName -Name $vmName
$disk = Get-AzDisk -ResourceGroupName $rgName -Name $diskName
$vm = Add-AzVMDataDisk -VM $vm -Name $diskName -CreateOption Attach -ManagedDiskId $disk.Id -Lun $lun
Update-AzVM -VM $vm -ResourceGroupName $rgName
部署超级磁盘 - 512 字节扇区大小
登录到 Azure 门户 ,然后搜索并选择“磁盘”。
选择“+新建”以创建新磁盘。
选择支持超级磁盘的地区并选择可用性区域,根据需要填写其余值。
选择“更改大小” 。
对于“磁盘 SKU”,请选择“超级磁盘”,然后根据所需性能填写值并选择“确定” 。
在“基本信息”边栏选项卡中,选择“高级”选项卡 。
为“逻辑扇区大小”选择“512”,然后选择“查看 + 创建” 。
首先,确定要部署的 VM 大小。 请参阅正式发布版的范围和限制 部分,以获取受支持的 VM 大小的列表。
若要附加超级磁盘,必须创建能够使用超级磁盘的 VM。
将 $vmName、$rgName、$diskName、$region、$password、$user 变量替换或设置为你自己的值。 将“$zone”设置为从本文开头 获取的可用性区域的值。 然后运行以下 CLI 命令,以创建具有扇区大小为 512 字节的超级磁盘的 VM:
# Create an ultra disk with 512-byte sector size
az disk create --subscription $subscriptionId -n $diskName -g $rgName --size-gb 1024 --location $region --sku UltraSSD_LRS --disk-iops-read-write 8192 --disk-mbps-read-write 400 --logical-sector-size 512
az vm create --subscription $subscriptionId -n $vmName -g $rgName --image Win2016Datacenter --ultra-ssd-enabled true --zone $zone --authentication-type password --admin-password $password --admin-username $user --size Standard_D4s_v3 --location $region --attach-data-disks $diskName
首先,确定要部署的 VM 大小。 请参阅正式发布版的范围和限制 部分,以获取受支持的 VM 大小的列表。
若要使用超级磁盘,必须创建能够使用超级磁盘的 VM。 将 $rgName、$vmName、$region 变量替换或设置为你自己的值。 将“$zone”设置为从本文开头 获取的可用性区域的值。 然后运行以下 New-AzVm 命令,以创建启用了超级磁盘的 VM:
New-AzVm `
-ResourceGroupName $rgName `
-Name $vmName `
-Location $region `
-Image "Win2016Datacenter" `
-EnableUltraSSD `
-Size "Standard_D4s_v3" `
-Zone $zone
若要创建并附加具有 512 字节扇区大小的超级磁盘,可以使用以下脚本:
# Set parameters and select subscription
$subscriptionId = "<yourSubscriptionID>"
$rgName = "<yourResourceGroup>"
$vmName = "<yourVMName>"
$diskName = "<yourDiskName>"
$lun = 1
Connect-AzAccount -Environment AzureChinaCloud -SubscriptionId $subscriptionId
# Create the disk
$diskConfig = New-AzDiskConfig `
-Location $region `
-DiskSizeGB 8 `
-DiskIOPSReadWrite 1000 `
-DiskMBpsReadWrite 100 `
-LogicalSectorSize 512 `
-AccountType UltraSSD_LRS `
-CreateOption Empty `
-Zone $zone
New-AzDisk `
-ResourceGroupName $rgName `
-DiskName $diskName `
-Disk $diskConfig
# Add disk to VM
$vm = Get-AzVM -ResourceGroupName $rgName -Name $vmName
$disk = Get-AzDisk -ResourceGroupName $rgName -Name $diskName
$vm = Add-AzVMDataDisk -VM $vm -Name $diskName -CreateOption Attach -ManagedDiskId $disk.Id -Lun $lun
Update-AzVM -VM $vm -ResourceGroupName $rgName
附加超级磁盘
或者,如果现有 VM 位于能够使用超级磁盘的地区/可用性区域中,则可以使用超级磁盘,而不必创建新 VM。 方法是:在现有 VM 上启用超级磁盘,然后将其附加为数据磁盘。 若要启用超级磁盘兼容性,则必须停止该 VM。 在停止该 VM 后,可以启用兼容性,然后重启该 VM。 在启用了兼容性后,即可附加超级磁盘:
导航到 VM 并将其停止,等待它解除分配。
在解除分配 VM 后,请选择“磁盘”。
选择“其他设置”。
为“启用超级磁盘兼容性”选择“是” 。
选择“保存”。
选择“创建并附加新磁盘”,并填写新磁盘的名称。
对于“存储类型”,请选择“超级磁盘” 。
将“大小 (GiB)”、“最大 IOPS”和“最大吞吐量”的值更改为所选值 。
在返回到磁盘的边栏选项卡后,选择“保存” 。
再次启动 VM。
或者,如果现有 VM 位于能够使用超级磁盘的地区/可用性区域中,则可以使用超级磁盘,而不必创建新 VM。
在现有 VM 上启用超级磁盘兼容性 - CLI
如果 VM 满足正式发布的范围和限制 中列出的要求并且位于适用于你的帐户的区域 中,则可以在该 VM 上启用超级磁盘兼容性。
若要启用超级磁盘兼容性,则必须停止该 VM。 在停止该 VM 后,可以启用兼容性,然后重启该 VM。 在启用了兼容性后,即可附加超级磁盘:
az vm deallocate -n $vmName -g $rgName
az vm update -n $vmName -g $rgName --ultra-ssd-enabled true
az vm start -n $vmName -g $rgName
创建超级磁盘 - CLI
现在,你有了能够附加超级磁盘的 VM,可以创建超级磁盘并将它附加到该 VM。
subscriptionId="<yourSubscriptionID>"
rgName="<yourResourceGroupName>"
vmName="<yourVMName>"
diskName="<yourDiskName>"
# Create an Ultra disk
az disk create `
--subscription $subscriptionId `
-n $diskName `
-g $rgName `
--size-gb 4 `
--location $region `
--zone $zone `
--sku UltraSSD_LRS `
--disk-iops-read-write 1000 `
--disk-mbps-read-write 50
附加磁盘 - CLI
subscriptionId="<yourSubscriptionID>"
rgName="<yourResourceGroupName>"
vmName="<yourVMName>"
diskName="<yourDiskName>"
az vm disk attach -g $rgName --vm-name $vmName --disk $diskName --subscription $subscriptionId
或者,如果现有 VM 位于能够使用超级磁盘的地区/可用性区域中,则可以使用超级磁盘,而不必创建新 VM。
在现有 VM 上启用超级磁盘兼容性 - PowerShell
如果 VM 满足正式发布的范围和限制 中列出的要求并且位于适用于你的帐户的区域 中,则可以在该 VM 上启用超级磁盘兼容性。
若要启用超级磁盘兼容性,则必须停止该 VM。 在停止该 VM 后,可以启用兼容性,然后重启该 VM。 在启用了兼容性后,即可附加超级磁盘:
# Stop the VM
Stop-AzVM -Name $vmName -ResourceGroupName $rgName
# Enable Ultra Disk compatibility
$vm = Get-AzVM -name $vmName -ResourceGroupName $rgName
Update-AzVM -ResourceGroupName $rgName -VM $vm -UltraSSDEnabled $True
# Start the VM
Start-AzVM -Name $vmName -ResourceGroupName $rgName
创建和附加超级磁盘 - PowerShell
现在,你有了能够使用超级磁盘的 VM,可以创建超级磁盘并将它附加到该 VM:
# Set parameters and select subscription
$subscriptionId = "<yourSubscriptionID>"
$rgName = "<yourResourceGroup>"
$vmName = "<yourVMName>"
$diskName = "<yourDiskName>"
$lun = 1
Connect-AzAccount -Environment AzureChinaCloud -SubscriptionId $subscriptionId
# Create the disk
$diskConfig = New-AzDiskConfig `
-Location $location `
-DiskSizeGB 8 `
-DiskIOPSReadWrite 1000 `
-DiskMBpsReadWrite 100 `
-AccountType UltraSSD_LRS `
-CreateOption Empty `
-zone $zone
New-AzDisk `
-ResourceGroupName $rgName `
-DiskName $diskName `
-Disk $diskConfig
# Add disk to VM
$vm = Get-AzVM -ResourceGroupName $rgName -Name $vmName
$disk = Get-AzDisk -ResourceGroupName $rgName -Name $diskName
$vm = Add-AzVMDataDisk -VM $vm -Name $diskName -CreateOption Attach -ManagedDiskId $disk.Id -Lun $lun
Update-AzVM -VM $vm -ResourceGroupName $rgName
目前,仅 Azure CLI 或 Azure PowerShell 模块支持调整磁盘性能。
超级磁盘具有一项可用于调整其性能的独特功能。 超级磁盘的性能在 24 小时内只能调整四次。 以下命令演示如何使用此功能:
az disk update --subscription $subscriptionId --resource-group $rgName --name $diskName --disk-iops-read-write=5000 --disk-mbps-read-write=200
超级磁盘具有一项可用于调整其性能的独特功能。 超级磁盘的性能在 24 小时内只能调整四次。 以下命令是一个无需拆离磁盘即可调整性能的示例:
$diskUpdateConfig = New-AzDiskUpdateConfig -DiskMBpsReadWrite 2000
Update-AzDisk -ResourceGroupName $rgName -DiskName $diskName -DiskUpdate $diskUpdateConfig
后续步骤