Поделиться через


Change the OS disk used by an Azure VM using PowerShell

Применимо к: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Гибкие масштабируемые наборы

If you have an existing VM, but you want to swap the disk for a backup disk or another OS disk, you can use Azure PowerShell to swap the OS disks. Вам не нужно удалять и повторно создавать виртуальную машину. Вы даже можете использовать управляемый диск в другой группе ресурсов, если он еще не используется.

The VM does not need to be stopped\deallocated. Идентификатор ресурса управляемого диска можно заменить идентификатором ресурса другого управляемого диска.

Убедитесь, что размер виртуальной машины и тип хранилища совместимы с диском, который требуется подключить. For example, if the disk you want to use is in Premium Storage, then the VM needs to be capable of Premium Storage (like a DS-series size). Оба диска должны иметь одинаковый размер. Убедитесь также, что вы не используете незашифрованную виртуальную машину с зашифрованным диском ОС. Такой сценарий не поддерживается. Если виртуальная машина не использует Шифрование дисков Azure, то и подключаемый к ней диск ОС не должен использовать Шифрование дисков Azure. Если диски используют наборы шифрования дисков, оба диска должны принадлежать к одному набору шифрования дисков.

Get a list of disks in a resource group using Get-AzDisk

Get-AzDisk -ResourceGroupName myResourceGroup | Format-Table -Property Name

When you have the name of the disk that you would like to use, set that as the OS disk for the VM. This example stop\deallocates the VM named myVM and assigns the disk named newDisk as the new OS disk.

# Get the VM 
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM 

# (Optional) Stop/ deallocate the VM
Stop-AzVM -ResourceGroupName myResourceGroup -Name $vm.Name -Force

# Get the new disk that you want to swap in
$disk = Get-AzDisk -ResourceGroupName myResourceGroup -Name newDisk

# Set the VM configuration to point to the new disk  
Set-AzVMOSDisk -VM $vm -ManagedDiskId $disk.Id -Name $disk.Name 

# Update the VM with the new OS disk
Update-AzVM -ResourceGroupName myResourceGroup -VM $vm 

# Start the VM
Start-AzVM -Name $vm.Name -ResourceGroupName myResourceGroup

Дальнейшие действия

Сведения о создании копии диска см. в разделе "Моментальный снимок диска".