托管磁盘提供两种存储选项:高级(基于 SSD)和标准(基于 HDD)。 它允许基于性能需求在这两个选项之间轻松切换,并保障最短停机时间。 非托管磁盘不具备此功能。 但可以轻松转换为托管磁盘,以便在这两个选项之间轻松切换。
本文介绍了如何使用 Azure PowerShell 实现标准与高级托管磁盘的相互转换。 如需进行安装或升级,请参阅安装和配置 Azure PowerShell。
开始之前
该转换需要重启 VM,因此请在预先存在的维护时段内计划磁盘存储迁移。
如果使用的是非托管磁盘,请先转换为托管磁盘,以便按照本文中的说明在两个存储选项之间切换。
实现 VM 的所有标准与高级托管磁盘的相互转换
以下示例展示如何将 VM 的所有磁盘从标准存储切换到高级存储。 若要使用高级托管磁盘,VM 必须使用支持高级存储的VM 大小。 此示例还切换到了支持高级存储的大小。
PowerShell复制
# Name of the resource group that contains the VM$rgName='yourResourceGroup'# Name of the your virtual machine$vmName='yourVM'# Choose between StandardLRS and PremiumLRS based on your scenario$storageType='PremiumLRS'# Premium capable size# Required only if converting storage from standard to premium$size='Standard_DS2_v2'$vm=Get-AzureRmVM-Name$vmName-resourceGroupName$rgName# Stop and deallocate the VM before changing the sizeStop-AzureRmVM-ResourceGroupName$rgName-Name$vmName-Force# Change the VM size to a size that supports premium storage# Skip this step if converting storage from premium to standard$vm.HardwareProfile.VmSize =$sizeUpdate-AzureRmVM-VM$vm-ResourceGroupName$rgName# Get all disks in the resource group of the VM$vmDisks=Get-AzureRmDisk-ResourceGroupName$rgName# For disks that belong to the selected VM, convert to premium storageforeach($diskin$vmDisks){if($disk.OwnerId-eq$vm.Id) {$diskUpdateConfig=New-AzureRmDiskUpdateConfig–AccountType$storageTypeUpdate-AzureRmDisk-DiskUpdate$diskUpdateConfig-ResourceGroupName$rgName`-DiskName$disk.Name }}Start-AzureRmVM-ResourceGroupName$rgName-Name$vmName
标准与高级托管磁盘的相互转换
对于开发/测试工作负荷,可能需要同时具有标准磁盘和高级磁盘,以减少成本。 可通过仅将需要更佳性能的磁盘升级到高级存储来实现此目的。 以下示例展示如何将 VM 的单个磁盘在标准存储与高级存储之间相互切换。 若要使用高级托管磁盘,VM 必须使用支持高级存储的VM 大小。 此示例还切换到了支持高级存储的大小。
PowerShell复制
$diskName='yourDiskName'# resource group that contains the managed disk$rgName='yourResourceGroupName'# Choose between StandardLRS and PremiumLRS based on your scenario$storageType='PremiumLRS'# Premium capable size$size='Standard_DS2_v2'$disk=Get-AzureRmDisk-DiskName$diskName-ResourceGroupName$rgName# Get the ARM resource to get name and resource group of the VM$vmResource=Get-AzureRmResource-ResourceId$disk.OwnerId$vm=Get-AzureRmVM$vmResource.ResourceGroupName-Name$vmResource.ResourceName# Stop and deallocate the VM before changing the storage typeStop-AzureRmVM-ResourceGroupName$vm.ResourceGroupName-Name$vm.Name-Force# Change the VM size to a size that supports premium storage# Skip this step if converting storage from premium to standard$vm.HardwareProfile.VmSize =$sizeUpdate-AzureRmVM-VM$vm-ResourceGroupName$rgName# Update the storage type$diskUpdateConfig=New-AzureRmDiskUpdateConfig–AccountType$storageTypeUpdate-AzureRmDisk-DiskUpdate$diskUpdateConfig-ResourceGroupName$rgName`-DiskName$disk.NameStart-AzureRmVM-ResourceGroupName$vm.ResourceGroupName-Name$vm.Name
后续步骤
使用快照获取 VM 的只读副本。立即访问http://market.azure.cn