Mudar o disco do sistema operacional usado por uma VM do Azure usando o PowerShell

Aplica-se a: ✔️ VMs Linux ✔️ VMs Windows ✔️ Conjuntos de dimensionamento flexíveis

Se você tiver uma VM existente, mas deseja trocar o disco para um disco de backup ou outro disco do sistema operacional, você pode usar o PowerShell do Azure para trocar os discos do sistema operacional. Você não precisa excluir e recriar a VM. Você pode até usar um disco gerenciado em outro grupo de recursos, desde que ele não esteja em uso.

A VM não precisa ser interrompida\desalocada. A ID de recurso do disco gerenciado pode ser substituída pela ID de recurso de um disco gerenciado diferente.

Certifique-se de que o tipo de armazenamento e o tamanho da VM sejam compatíveis com o disco que você deseja anexar. Por exemplo, se o disco que você deseja usar estiver no armazenamento Premium, a VM precisa ter capacidade de armazenamento Premium (como um tamanho da série DS). Ambos os discos precisam ter o mesmo tamanho. E se certifique de que você não está misturando uma VM não criptografada com um disco do sistema operacional criptografado, pois não há suporte para isso. O disco do sistema operacional que está sendo colocado não deve usar o Azure Disk Encryption se a VM também não usa o Azure Disk Encryption. Se os discos estiverem usando Conjuntos de Criptografia de Disco, ambos os discos deverão pertencer ao mesmo conjunto de Criptografia de Disco.

Obter uma lista de discos em um grupo de recursos usando Get-AzDisk

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

Quando você tiver o nome do disco que você deseja usar, defina esse disco como o disco do sistema operacional para a VM. Este exemplo interrompe\desaloca a VM denominada myVM e atribui o disco denominado newDisk como o novo disco de sistema operacional.

# 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

Próximas etapas

Para criar uma cópia de um disco, consulte Instantâneo de um disco.