Zmienianie typu dysku zarządzanego platformy Azure

Dotyczy: ✔️ Maszyny wirtualne z ✔️ systemem Linux z systemem Windows

Istnieją pięć typów dysków zarządzanych platformy Azure: Azure Ultra Disks, SSD w warstwie Premium v2, SSD w warstwie Premium, SSD w warstwie Standardowa i HDD w warstwie Standardowa. Możesz łatwo przełączać się między dyskami SSD w warstwie Premium, SSD w warstwie Standardowa i HDD w warstwie Standardowa w zależności od potrzeb w zakresie wydajności. Ssd w warstwie Premium i SSD w warstwie Standardowa są również dostępne w przypadku magazynu strefowo nadmiarowego. Nie można jeszcze przełączyć się z lub do dysku Ultra Disk lub SSD w warstwie Premium w wersji 2. Należy wdrożyć nowy z migawką istniejącego dysku. Aby uzyskać szczegółowe informacje, zobacz Migrowanie do dysków SSD w warstwie Premium w wersji 2 lub Ultra Disk .

Ta funkcja nie jest obsługiwana w przypadku dysków niezarządzanych. Można jednak łatwo przekonwertować dysk niezarządzany na dysk zarządzany za pomocą interfejsu wiersza polecenia lub programu PowerShell , aby móc przełączać się między typami dysków.

Zanim rozpoczniesz

Konwersja wymaga ponownego uruchomienia maszyny wirtualnej, więc należy zaplanować migrację dysku podczas istniejącego okna obsługi.

Ograniczenia

  • Typ dysku można zmienić tylko dwa razy dziennie.
  • Typy dysków można zmieniać tylko dla dysków zarządzanych. Jeśli dysk jest niezarządzany, przekonwertuj go na dysk zarządzany za pomocą interfejsu wiersza polecenia lub programu PowerShell, aby przełączać się między typami dysków.

Przełączanie wszystkich dysków zarządzanych maszyny wirtualnej z jednego konta na inne

W tym przykładzie pokazano, jak przekonwertować wszystkie dyski maszyny wirtualnej na magazyn w warstwie Premium. Jednak zmieniając zmienną $storageType w tym przykładzie, można przekonwertować typ dysków maszyny wirtualnej na dysk SSD w warstwie Standardowa lub dysk HDD w warstwie Standardowa. Aby można było korzystać z dysków zarządzanych w warstwie Premium, maszyna wirtualna musi używać rozmiaru maszyny wirtualnej obsługującego magazyn w warstwie Premium. Ten przykład umożliwia również przełączenie się do rozmiaru obsługującego magazyn w warstwie Premium:

# Name of the resource group that contains the VM
$rgName = 'yourResourceGroup'

# Name of the your virtual machine
$vmName = 'yourVM'

# Choose between Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_ZRS, and Premium_LRS based on your scenario
$storageType = 'Premium_LRS'

# Premium capable size
# Required only if converting storage from Standard to Premium
$size = 'Standard_DS2_v2'

# Stop and deallocate the VM before changing the size
Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force

$vm = Get-AzVM -Name $vmName -resourceGroupName $rgName

# 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-AzVM -VM $vm -ResourceGroupName $rgName

# Get all disks in the resource group of the VM
$vmDisks = Get-AzDisk -ResourceGroupName $rgName 

# For disks that belong to the selected VM, convert to Premium storage
foreach ($disk in $vmDisks)
{
	if ($disk.ManagedBy -eq $vm.Id)
	{
		$disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new($storageType)
		$disk | Update-AzDisk
	}
}

Start-AzVM -ResourceGroupName $rgName -Name $vmName

Zmienianie typu pojedynczego dysku zarządzanego

W przypadku obciążenia tworzenia i testowania warto niekiedy używać połączenia dysków w warstwie Standardowa i Premium. Możesz zdecydować się na uaktualnienie tylko tych dysków, które wymagają lepszej wydajności. W tym przykładzie pokazano, jak przekonwertować pojedynczy dysk maszyny wirtualnej z warstwy Standardowa na magazyn w warstwie Premium. Jednak zmieniając zmienną $storageType w tym przykładzie, można przekonwertować typ dysków maszyny wirtualnej na dysk SSD w warstwie Standardowa lub dysk HDD w warstwie Standardowa. Aby można było korzystać z dysków zarządzanych w warstwie Premium, maszyna wirtualna musi używać rozmiaru maszyny wirtualnej obsługującego magazyn w warstwie Premium. Możesz również użyć tych przykładów, aby zmienić dysk z dysku magazynu lokalnie nadmiarowego (LRS) na dysk magazynu strefowo nadmiarowego (ZRS) lub odwrotnie. W tym przykładzie pokazano również, jak przełączyć się do rozmiaru obsługującego magazyn w warstwie Premium:


$diskName = 'yourDiskName'
# resource group that contains the managed disk
$rgName = 'yourResourceGroupName'
# Choose between Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_ZRS, and Premium_LRS based on your scenario
$storageType = 'Premium_LRS'
# Premium capable size 
$size = 'Standard_DS2_v2'

$disk = Get-AzDisk -DiskName $diskName -ResourceGroupName $rgName

# Get parent VM resource
$vmResource = Get-AzResource -ResourceId $disk.ManagedBy

# Stop and deallocate the VM before changing the storage type
Stop-AzVM -ResourceGroupName $vmResource.ResourceGroupName -Name $vmResource.Name -Force

$vm = Get-AzVM -ResourceGroupName $vmResource.ResourceGroupName -Name $vmResource.Name 

# 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-AzVM -VM $vm -ResourceGroupName $rgName

# Update the storage type
$disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new($storageType)
$disk | Update-AzDisk

Start-AzVM -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name

Migrowanie do dysków SSD w warstwie Premium w wersji 2 lub w warstwie Ultra

Obecnie można migrować istniejący dysk tylko do dysku Ultra Disk lub SSD w warstwie Premium w wersji 2 za pomocą migawek przechowywanych w magazynie w warstwie Standardowa (przyrostowa migawka HDD w warstwie Standardowa). Migracja z migawkami przechowywanymi w usłudze Premium Storage i innymi opcjami nie jest obsługiwana.

Dyski SSD w warstwie Premium w wersji 2 i Dyski w warstwie Ultra mają własny zestaw ograniczeń. Na przykład żaden z nich nie może być używany jako dysk systemu operacyjnego, a także nie jest dostępny we wszystkich regionach. Aby uzyskać więcej informacji, zobacz sekcje Ograniczenia dotyczące dysków SSD w warstwie Premium w wersji 2 i zakresy wersji 2 oraz ograniczenia dotyczące dysków Ultra Disk.

Ważne

Podczas migrowania dysków HDD w warstwie Standardowa, SSD w warstwie Standardowa lub SSD w warstwie Premium do dysku Ultra Disk lub SSD w warstwie Premium w wersji 2 rozmiar sektora logicznego musi wynosić 512.

Poniższy skrypt migruje migawkę dysków HDD w warstwie Standardowa, SSD w warstwie Standardowa lub SSD w warstwie Premium do dysku Ultra Disk lub SSD w warstwie Premium w wersji 2.

$diskName = "yourDiskNameHere"
$resourceGroupName = "yourResourceGroupNameHere"
$snapshotName = "yourDesiredSnapshotNameHere"

# Valid values are 1, 2, or 3
$zone = "yourZoneNumber"

#Provide the size of the disks in GB. It should be greater than the VHD file size.
$diskSize = '128'

#Provide the storage type. Use PremiumV2_LRS or UltraSSD_LRS.
$storageType = 'PremiumV2_LRS'

#Provide the Azure region (e.g. westus) where Managed Disks will be located.
#This location should be same as the snapshot location
#Get all the Azure location using command below:
#Get-AzLocation

#Select the same location as the current disk
#Note that Premium SSD v2 and Ultra Disks are only supported in a select number of regions
$location = 'eastus'

#When migrating a Standard HDD, Standard SSD, or Premium SSD to either an Ultra Disk or Premium SSD v2, the logical sector size must be 512
$logicalSectorSize=512

# Get the disk that you need to backup by creating an incremental snapshot
$yourDisk = Get-AzDisk -DiskName $diskName -ResourceGroupName $resourceGroupName

# Create an incremental snapshot by setting the SourceUri property with the value of the Id property of the disk
$snapshotConfig=New-AzSnapshotConfig -SourceUri $yourDisk.Id -Location $yourDisk.Location -CreateOption Copy -Incremental 
$snapshot = New-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName -Snapshot $snapshotConfig

$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id -DiskSizeGB $diskSize -LogicalSectorSize $logicalSectorSize -Zone $zone
 
New-AzDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName

Następne kroki

Utwórz kopię maszyny wirtualnej tylko do odczytu przy użyciu migawki.