托管磁盘提供两种存储选项:(基于 SSD)和(基于 HDD)。 它允许基于性能需求在这两个选项之间轻松切换,并保障最短停机时间。 非托管磁盘不具备此功能。 但可以轻松,以便在这两个选项之间轻松切换。
本文介绍了如何使用 Azure PowerShell 实现标准与高级托管磁盘的相互转换。 如需进行安装或升级,请参阅。
开始之前
- 该转换需要重启 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 size Stop-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 = $size Update-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 storage foreach ($disk in $vmDisks) { if ($disk.OwnerId -eq $vm.Id) { $diskUpdateConfig = New-AzureRmDiskUpdateConfig –AccountType $storageType Update-AzureRmDisk -DiskUpdate $diskUpdateConfig -ResourceGroupName $rgName ` -DiskName $disk.Name } } Start-AzureRmVM -ResourceGroupName $rgName -Name $vmName
标准与高级托管磁盘的相互转换
对于开发/测试工作负荷,可能需要同时具有标准磁盘和高级磁盘,以减少成本。 可通过仅将需要更佳性能的磁盘升级到高级存储来实现此目的。 以下示例展示如何将 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 type Stop-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 = $size Update-AzureRmVM -VM $vm -ResourceGroupName $rgName # Update the storage type $diskUpdateConfig = New-AzureRmDiskUpdateConfig –AccountType $storageType Update-AzureRmDisk -DiskUpdate $diskUpdateConfig -ResourceGroupName $rgName ` -DiskName $disk.Name Start-AzureRmVM -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name
后续步骤
使用获取 VM 的只读副本。立即访问http://market.azure.cn