domingo, 3 de febrero de 2019

Error en Azure Backup por tener discos Standard SSD

Hola

Si andáis necesitando hacer backup de Standard SSD disks en Azure. Tengo malas noticias para vosotros. No podemos realizar backup de máquinas virtuales con discos de este tipo asociados.

La solución pasa por convertirlos a Premium SSD Disk o actualizar vuestro Recovery Services Vault para realizar backup Stack 2, basado en salvado del disco tras realizar un snapshot del mismo. Por el momento no os recomiendo esta solución ya que a día de hoy, prácticamente todos los links de información del propio microsoft están "rotos" y no existe mucha información al respecto.

La solución que yo he ido adoptando es la convertir los discos a Premium y el script que utilizo es el siguiente:

* Adaptar a vuestro escenario solo las partes en rojo.

# 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 = '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-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force

$vm = Get-AzureRmVM -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-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.ManagedBy -eq $vm.Id)
    {
        $diskUpdateConfig = New-AzureRmDiskUpdateConfig –AccountType $storageType
        Update-AzureRmDisk -DiskUpdate $diskUpdateConfig -ResourceGroupName $rgName `
        -DiskName $disk.Name
    }
}

Start-AzureRmVM -ResourceGroupName $rgName -Name $vmName