Restore An Azure VM to an Availability Set From Azure Backup in the Azure Portal

Microsoft has shared how to restore an Azure VM to an availability set using PowerShell from Azure Backup. It’s nasty-hard looking PowerShell, and my problem with examples of VM creation using PowerShell is that they’re never feature complete.

While writing some Azure VM training recently, I stumbled across a cool option in the Azure Portal that I tried out … and it worked … and it means that I never have to figure that nasty PowerShell out Smile

The key to all this is to start using Managed Disks. Even if your existing VMs are using un-managed (storage account) disks, that’s not a problem because you can still use this restore method. The other thing you should remember is that the metadata of the VM is irrelevant – everything of value is in the disks.

Restore the Disks of the VM

Using these steps you can restore the disks of your VM, managed or un-managed, to a storage location, referred to as the staging account.. Each disk is restored as a blob VHD file, and a JSON file describes the disks so that you can identify which one is the “osDisk”.

Create Managed Disks from the Restored VHDs

In this process, you create a managed disk from each restored VHD or blob file in the staging location. You have the option to restore the disks as Standard (HDD) or Premium (SSD) disks, which offers you some flexibility in your restore (you can switch storage types!). Make sure you ID the osDisk from the JSON file and mark it as either a Windows or Linux OS disk, depending on the contents.

Create a VM From the OS Managed Disk

The third set of steps bring your VM back online. You use the previously restored/identified osDisk and create a new virtual machine using that managed disk. Make sure you select the availability set that you want to restore the VM to.

Clean Up

The last step is the clean up. If you had any data disks in the original machine then you need to re-attach them to the new virtual machine. You’ll also need to configure the network settings of the Azure NIC resource. For example, if the new VM is replacing the old one, you should enter the IP settings of the old VM into the new NIC Azure resource, change any NAT/load balancing rules, NSGs, PIPs, etc.

And that’s it! There’s no PowerShell, and it’s all pretty simple clicking in the Azure Portal that won’t take that long to do after the disks are restored from the recovery services vault.

Create a New VM From An Existing Managed Disk

In previous posts I have shown how to restore the disks of a VM to a storage account and how to create managed disks from those VHD blobs. In this post, I will show how to create a new VM from a managed disk. When these 3 steps are done together, this is an easy way to restore an Azure virtual machine from backup to an availability set.

I previously created a managed disk from a restored VHD blob, and stored it in a resource group called demorestore. I deliberately named the new managed disk after the VM that I am going to create.


You can only create a new VM from a managed disk that contains an operating system. In the below screenshot, you can see that this disk contains Windows. If this is an OS disk, then you can click the magic button called + Create VM.


What you are doing by clicking the button is shorting the usual Create Virtual Machine blade/wizard. A blade you probably know appears, but some of the features are greyed out because they’re already selected by choosing to create a VM from an existing managed disk.

Enter the name of the new VM, and select the resource group.


In the Size blade, choose the size of the new VM. In settings, choose the availability set (key to restoring a VM to an availability set) and then all the other stuff like network, subnet, extensions, etc.

When you complete the wizard, a VM (which is just metadata) is created using your pre-existing OS managed disk. If you have any data disks to re-use, open Disks in the settings of the VM and add those managed disks with the required host caching mode. And that’s all there is to it!

Create an Azure Managed Disk from a VHD Blob

This post will show you how to create a managed disk from a VHD blob file, such as one you’ve uploaded or restored from a virtual machine backup. In my example, I have restored the virtual hard disks of an Azure VM to a storage account called aidanfinnrestore. I am going to create a new managed disk from the VHD blob, and (in another post) create a new VM from the managed disk that I am creating in this post.


Open the Azure Portal, and go to Disks in the navigation bar on the left – this is where all managed disks are listed. Click + Add. A Create Manage Disk blade appears. Enter the following information:

  • Name: Give the new managed disk a name. My naming standard names the disk after the VM with a suffix to denote a role. In my example, it’s an OS disk.
  • Subscription: Select the subscription in your tenant. Note that you must create the managed disk in the same subscription as the storage account that contains the blob – you can always move the disk to a different subscription later.
  • Resource Group: Restore the disk to a new or existing resource group – typically this is where the virtual machine will be.
  • Location: Pick the region of the desired VM, which must also match the storage account.
  • Account Type: What kind of managed disk do you want – Standard (HDD) or Premium (SSD). You can change this later, one of the nice features of managed disks.
  • Source Type: I have selected Storage Blob – this is how the restored (or uploaded) VHD is stored.
  • Source Blob: Click browse, and navigate to & select the VHD blob that was restored/uploaded.
  • OS Type: If this is a data disk then select either Windows or Linux, depending on the guest OS in the VHD.
  • Size: To make like easy, select the size of the existing blob. I restored a managed disk to a blob, so I went with the original size of 128 GiB.

Once you’re happy with all the settings, click Create. In my case, with a 128 GiB VHD, the creation just around 30 seconds:


Now you can either create a VM from the disk or attach it as a data disk to an existing VM in the Azure Portal – life is easy with managed disks!

Restore an Azure Virtual Machine’s Hard Disks

In this post, I’ll show you how to restore just the disks of an Azure virtual machine. This is useful if you want to restore a virtual machine to an availability set, or restore it as a different series/size.

Restoring to Availability Sets

For some reason that I do not know, we cannot restore a virtual machine to an availability set in Azure. It probably has something to do with the restriction in ARM that prevents a VM from being able to join an availability set after creation (vote for change here).

As a workaround, Azure Backup allows you to restore the disks, and then use those disks to create a new virtual machine (metadata) that is joined to the availability set. On the official docs pages, there is some pretty messy looking PowerShell to re-create the VM from those disks.

Thanks to some features of Managed Disks, if you have used managed disks for the VM, then you don’t need to go anywhere near that nasty PowerShell or JSON! I’ll post about that soon.

Restoring Disks

Browse to to the recovery services vault, open it, go to Backup Items > Azure Virtual Machine, and select the VM in question. Below is a screenshot of my web server in Azure. Click Restore VM.


A blade with recovery points appears. Choose a restore point, i.e. a point in time from when you want to restore from, and click OK.


The Restore Configuration blade appears. Choose Restore Disks as the Restore Type, and choose a storage account as the Staging Location. Click OK to start the backup job.


Some time later, the disk(s) of the virtual machine are restored as blobs in a container in the storage account. You’ll also find a JSON file with details of the disk(s) that were restored.


By the way, if you cannot tell which of the VHD blobs is your OS disk, download the JSON file and open it in Notepad (VS Code refuses to open it for me). The “osDisk” setting will tell you the path of the VHD blob that was the original data disk.

Microsoft’s solution would have you restore the virtual machine using PowerShell and that JSON file. I’ve read through it – it’s not pretty! My solution, in a later post, would create managed disks from the VHD blob(s), and then create a VM from the OS disk … and that’s nice and easy using the Azure Portal and a few mouse clicks.

Azure Backup Central Reporting – Pay Attention MS Partners!

Microsoft has launched a preview of Azure Backup Reporting; this is a solution where you can export backup data to Power BI, and this allows you to consume, visualize, and subscribe to information about backup from many recovery services vaults in many subscriptions.

The way the system works is that you configure the recovery services vault to export data regularly to a storage account (must be in the same tenant as the recovery services vault).

Configure storage account step 3

You then sign into Power BI (a free subscription can be used but this is limited to 1 GB of data) and import the Azure Backup content pack.

Import content pack

Data is exported as JSON files into a folder (container) in the storage account, and Power BI will consume/process that data. The timing of this varies on the data, but Microsoft advises that it can take 24 hours for your first data sets to be consumed.

Azure Backup Reports data push frequency

The default screens show lots of useful information:

  • Summary of job health
  • Cloud storage usage
  • Quantities of instances
  • Cloud storage growth trends

Azure Backup dashboard

While the solution is not perfect yet (read more and vote here) it can be used today. Note that DPM, MABS, and Azure VM backup are not supported yet by the preview. I have set up 3 demo subscriptions (each in a different tenant as is normal for deployments by MS partners), each with a MARS backup job. I imported the Azure Backup content pack 3 times, 1 for each tenant. I made a custom report for each subscription and pinned them to a single dashboard. Now I can see the results of each and every backup job in one screen. I can also create daily/weekly email subscriptions to each report – that means I can send out these reports to my customers!


I can also publish the reports either to a web site or a private SharePoint (including Online) site – here’s an example that I did for work.


The end result is that we finally have a centralized reporting solution for Azure Backup. With one quick scroll, I can easily see the health of all of my customers’ backups.

Microsoft Azure Backup Server v2 Launched

Microsoft has launched version 2 of MABS, the Microsoft Azure Backup Server v2, with support for Windows Server 2016 and vSphere 6.5.


So far we’ve had 2 versions (v1 and v1 update 1) of MABS, the freely licensed (but your pay Azure Backup pricing) slightly modified version of System Center Data Protection Manager. MABS v1 was based on DPM 2012 R2, and MABS v2 is based on DPM 2016, with the cool features of DPM 2016:

  • Modern Storage, which improves performance and reduces consumption by leveraging ReFS Block Cloning, VHDX, and Deduplication.
  • Improves Hyper-V backup, by supporting WS2016 hosts and by using the built-in (WS2016 Hyper-V) Resilient Change Tracking (RCT) for incremental backups without 3rd party software being placed into the kernal of the host’s management OS.
  • Support for Shielded Virtual Machines, the ultra-secure platform on WS2016 Hyper-V.
  • Support for Storage Spaces Direct (S2D).
  • The ability to install MABS v2 on WS2016.

MABS v1 Update 1 added support for VMware vCenter & ESXi 5.5 and 6.0. MABS v2 adds vCenter & ESXi 6.5 to the list. Note that if you install MABS v2 on WS2016 then VMware protection will be in preview mode, while we wait for VMware to release support for VDDK 6.5 for WS2016. You can learn more on from this video.

You can download MABS v2 from here or from a recovery services vault in the Azure Portal.

The supported backup server configuration is:

  • Windows Server 2012 R2, Windows Server 2016
  • Processor: Minimum: 1 GHz, dual-core CPU. Recommended: 2.33 GHz quad-core CPU
  • RAM: Minimum: 4GB. Recommended: 8GB
  • Hard Drive Space (program files): Minimum: 3GB, Recommended: 3GB
  • Disks for backup storage pool: 1.5 times size of data to be protected

Microsoft Azure Backup MARS Agent Supports System State

Microsoft has announced that the Azure Backup MARS agent will support the protection of System State on Windows Server. This is a preview release.

I started talking about Azure Backup 3 years ago, and one of the “we’re not doing it” questions was “does it backup system state”. The answer was no. Azure Backup listened and now you can backup your system state to Azure using the MARS agent.

Scenarios discussed by the Azure Backup team include Active Directory, file server configurations, and IIS server configurations, where restoring files & folders is not enough; the metadata that makes those files & folders useful is stored in System State so the ability to restore that meta data is also important.

Supported versions of Windows Server in this preview release are:

  • W2008 R2
  • WS2012
  • WS2012 R2
  • Windows Server 2016

Do you want support for Windows Server 2003? Let me sell you some Ace of Base and Vanilla Ice cassettes!

This is good news, a part of the continuous improvement of Azure Backup driven by your feedback.

Seeding Azure Backup Using Secure Disk Transfer

Microsoft’s online backup service, Azure Backup, was recently updated to greatly improve how the first big backup is done to the cloud. These improvements impacted the Azure Backup MARS agent, Microsoft Azure Backup Server, and System Center Data Protection Manager (DPM). I recently recorded a short video to explain the problem, the soluition, and I show how you can use it – the process is the same across each of the 3 products.



Podcast – Talking Azure Backup with MVP Carsten Rachfahl

I had the pleasure of recording a podcast with my CDM (Hyper-V) MVP colleague and friend, Carsten Rachfahl, a few weeks ago. We talked about a few things, but the focus of the talk was cloud or hybrid backups using Azure Backup. You can watch the recording here.


How To Get DPM/Azure Backup Server To Use USB Drive As Backup Storage

If you are running a demo or test lab, and you need some additional economical storage for backups, then you might think “I’ll use a USB drive”. However, DPM (and therefore Azure Backup Server) do not support adding a disk on a USB controller as a backup target. I struggled with this, and then it hit me this morning.

Storage Spaces will abstract that the disk is connected via USB Smile

I connected the disk, made sure it was unformatted and offline, launched Server Manger and created a pool from the primordial pool. I then create a simple virtual disk from the pool, and chose not to format it. Back into Azure Backup Server, and I was able to add the disk as a backup target.