Physical Server DR Orchestration Plan

Veeam Availability Orchestrator will help you build and execute a DR plan based on VMWare workload. Consider your Microsoft SQL running on a physical server, or a Linux physical server, and you wish to include them in your DR plan? Can you add a physical server to be part of the Veeam Availability Orchestrator DR plan?


Last week I was working with a customer on a challenging datacentre setup. Some of his critical workloads are running as a VMWare virtual workload, but many others are still run as physical Linux servers. To add more complexity to the mix, some are running Microsoft SQL on Linux.

The customer’s wish is to use Veeam Availability Orchestrator to build, manage and execute his DR planning; but the lack of physical server support causes him some unhappiness. The DR plans will never be comprehensive enough to cover the entire application stack.

After some discussion, with the customer and based on his requirement, I came with the below solution to help him achieve his desire objective. Build the Veeam availability Orchestration plan for the VMWare workload, but use Veeam Agent for Linux to cover the physical servers.

So how that can be achieved?


Before I start with the workaround explanation, lets first look to the lab environment I built to test the workaround solution.


As you can see, the VMWare workload is protected by, and replicated to, the DR site using Veeam Backup and Replication. The Linux Server is protected using the Veeam Backup Agent for Linux, and the backup is directed to the Veeam backup repository.

To ensure the Veeam agent backup is included on the DR plan, and to be specific, the DEV and Testing validation check, I used the Veeam Instant recovery feature to mount the Veeam Linux Agent Backup to the Veeam Data Lab for testing and development.

The customization:

As mentioned previously, the requirement dictates that the Agent Linux backup is used during the DR Orchestration with DataLabs for development and testing purposes. To achieve this, I wrote a simple PowerShell scripts to instantly mount the Linux Agent backup to the DataLabs network before the VMWare workload is mounted and started. The script is quite simple, and is shown below:

<Pre-Plans Steps Script>

Add-PSSnapin VeeamPSSnapin

Connect-VBRServer -Server “” -User “<UserName>” -Password “<Password>”

$restorepoint = Get-VBRBackup -Name “magentsrv mAgent” | Get-VBRRestorePoint | Sort-Object $_.creationtime -Descending | Select -First 1

$EsxSrv = Get-VBRServer -Name “<ESXi Host/Cluster>”

$srcNet = Get-VBRComputerNetworkInfo -RestorePoint $restorepoint

#Use if you are using Virtual Switch

$trgNet = Get-VBRViServerNetworkInfo -Server $EsxSrv | Where-Object { $_.NetworkName -eq “<NetWorkName>” }

#Use if you are VDS Switch

#$trgNet = Get-VBRViServerNetworkInfo -Server $EsxSrv | Where { $_.Type -eq “ViDVS” -and $_.SwitchName -eq “<VDS Switch Name>” -and $_.NetworkName -eq “<NetworkName>” }

Start-VBRViComputerInstantRecovery -RestorePoint $restorepoint -Server $EsxSrv -RestoredVMName “LinuxAG_Restored” -SourceNetwork $srcNet -TargetNetwork $trgNet -PowerOnAfterRestoring -ConnectVMToNetwork -GenerateNewSystemUUID -Force


<Post-Plans Steps Script>

Add-PSSnapin VeeamPSSnapin

Connect-VBRServer -Server “” -User “<UserName>” -Password “<Password>”

Get-VBRInstantRecovery | Select -Last 1 | Stop-VBRInstantRecovery


After you copy, modify and save the script shown above as a PowerShell file on the Veeam Availability Orchestrator server, you are ready to add this script to your VAO for the DR plan by following these steps:

From Veeam Availability Orchestrator –> Administration –> Plan Steps –> press Add; next, browse to the path where you saved your script:

As we are going to use this script only during the DR testing, we must modify the execution steps to Test Action only. See the figure below:

Note: If you wish to restore the Agent backup during Failover, then you must write the PowerShell script to restore the backup to the destination location during the DR Failover Plan execution. Set the “Failover & Undo Failover Action” to “Execute”, and “Test Action” to “Skip”. On this blog post, I’m showing the Test Action only.

Setup the Orchestration Plan

Following these previous steps, you are ready to create a DR Plan and include the script in the Pre/Post Plans steps, or in any stage, you wish to include. On my lab, I added during these to my Pre/Post Plan steps:

Pre-Plan Steps:

Post-Plan Steps


Following the steps above allows you to use Veeam Availability Orchestrator to build your DR plans and incorporate any Veeam backup agent. This assists you to build and manage a comprehensive DR plan without the limits imposed by using only VM storage plans. The script on this blog post is a basic script to help you get started.  It proves that the workaround works fine, as it is setup on the screenshots. You can use the script on this blog to help you build a better and more sophisticated script to achieve the best DR plan for your critical workload.

I hope this blog post helps you think about more use cases to use Veeam Availability Orchestrator, and please don’t hesitate to share your feedback with us all.


Leave a Reply