Archive for category Veeam Backup & Replication

Migrating Veeam Backup to another Physical Server

Migrating Veeam Backup to another Physical Server

 I’m not going to make this post so complicated by explaining the bits and bytes of every step, but I’m listing below the steps in a very easy way;

  • Perform configuration backup on Veeam Server.
  • Install Veeam on the new physical server from scratch.
  • Import configuration that has been backed in step 1.
  • If you are using Veeam Backup to Backup Symantec Enterprise Vault, then you will have to install the Symantec EV Console on the new server in order to continue backing up Symantec Enterprise Vault. If not, you can ignore this step.
  • Move the scripts that run the Backup Jobs to the new Server, Export & Import.
      • Task Scheduler for all Backup Jobs Scripts;
        • Export & Import Tasks
        • Change Scripts path accordingly.
        • Re-enable the task scheduler in the new server.
        • Upgrade PowerShell to the latest version 3.0 WMI
        • Re-attach the Repository LUNs to the new server, and scan the Repositories to map the Backup Jobs.

, , ,

Leave a comment

Steps to Upgrade Veeam Backup & Replication v6.1.x to v6.5.0.109


I don’t want to go through a step by step procedure to upgrade from your current version of Veeam Backup & Replication to the latest version, but I would like to go through the procedure that I have followed in my environment and hope you will be benefit.

1. Stop Veeam Services.
2. Backup SQL Database
3. Upgrade SQL Express 2005 to SQL Express 2008 R2 by initiating this in the CMD SQLEXPR_x64_ENU.exe /action=upgrade
4. Once it’s done, start veeam Services.
5. Upgrade Enterprise Manager first if you are using it.
6. Upgrade Veeam Backup & Replication.
7. Launch Veeam Console and you will be prompt it with agent upgrade to upgrade the Repository Servers and Proxy Servers.
8. Just make sure everything is back to normal, jobs, logs, configuration run a job test to make sure everything is fine.

, , , ,

Leave a comment

Cannot add Windows PowerShell snap-in VeeamPSSnapin

You may encounter an error Cannot add Windows PowerShell snap-in VeeamPSSnapin when you run PowerShell scripts on Veeam Backup & Replication to start Backup Jobs after an upgrade from Veeam  Backup v6.x to v6.5


  • PowerShell Scripts scheduled via Task Scheduler doesn’t start automatically.
  • If you run the script manually via Veeam PowerShell snap-in VeeamPSSnapin, you will receive an error. Cannot add Windows PowerShell snap-in VeeamPSSnapin. But the job will start.


Upgrade to PowerShell 3.0 by installing Windows Management Framework 3.0 ( … x?id=34595) which supports .Net 4.0 natively.

, , , , , , , ,

Leave a comment

Backup job failed. Cannot create a shadow copy of the volumes containing Exchange writer’s data.

Been facing the Exchange VSS Writer issue  when I backup my Exchange Server 2007 with Veeam Backup & Replication for quite sometime, and the only way to clear this out is by rebooting the Exchange Server or sometime it will pass through from the second or third job retry.

Last Friday 16th Nov, 2012 my Veeam Backup jobs suppose to run as Full Active Backup as per my configuration, Backup went fine for all the Backup Jobs, except the Backup Job which contains the Exchange Mailbox Server, it gives the usual error;

11/16/2012 8:43:20 PM :: Unable to release guest. Error: Unfreeze error: [Backup job failed.
Cannot create a shadow copy of the volumes containing writer's data.
A VSS critical writer has failed. Writer name: [Microsoft Exchange Writer]. Class ID: [{76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}]. Instance ID: [{8ea7190d-337c-448f-b264-3401303b586b}]. Writer's state: [VSS_WS_FAILED_AT_FREEZE]. Error code: [0x800423f2].]

I have reboot it, and retry the job but no joy it didn’t help. I rebooted second and third time, but no joy The error is persistent.

I searched and searched for a solution but the usual result showed up, either reboot the server to clear the VSS writer Timed Out or restart the Microsoft Information Store which will clear the VSS Timed Out. I have done, both but without any luck.

I fed up from troubleshooting during my holiday and I left home for fishing. While I’m at the sea, my mind triggered out that why don’t you Exclude the C:\Drive of the Exchange VM and select only those drives which contains the Exchange Database?

Hummm, it seems it’s a brilliant idea. As soon as I reached home, I immideltly, logged in remotely again and I Excluded the C:\Drive VMDK SCSI (0:0) from the job and selected only those which contains the Exchange Database, “the disks are vRDM”;

SCSI (0:1)
SCSI (0:2)
SCSI (0:3)
SCSI (0:4)
SCSI (0:5)
SCSI (0:6)
SCSI (0:8)
SCSI (0:9)
SCSI (0:10)
SCSI (0:11)
SCSI (0:12)
SCSI (0:13)
SCSI (0:14)
SCSI (0:15)
SCSI (1:0)
SCSI (1:1)
SCSI (1:2)
SCSI (1:3)
SCSI (1:4)
SCSI (1:5)
SCSI (1:6)
SCSI (1:8)

Imagine, the Job passed the Snapshot Process so fast and I’m surprised that the job is started reading :) and the Exchange Database has been put in Backup Mode and the backup Speed is a bit faster 1.6 TB finished in 4 Hours :)

Why Excluding the SCSI (0:0) which is the C:\SystemDrive of the Exchange 2007 Virtual Machine and Including only the vRDM SCSI Drives the process will pass successfully without VSS Error or Timed Out?

What is the restoration impact of Backing up only the those drives where the Exchange Database resides without the the C:\Drive SCSI (0:0).

Will it be possible configuring another job against the Exchange VM to backup only the C:\Drive SCSI (0:0) without the rest of other drives? And when I want to restore it, I have to restore the Job which contains the C:\Drives and followed by the other Job which backed up the Database Drives?

I can confirm that, I have Selected All Disks to process under the Disk Exclusions and the job Failed. But I have amended the Selection and I included SCSI (0:0) which contains the Virtual Machine System Drive and the backup successful.
I think the reason why it didn’t work when the All Disks radio button is selected but it does when the SCSI Disks are selected including the SCSI (0:0) which includes the System Drive.

The Virtual Machine is limited to 60 Virtual SCSI Controllers/Targets and when Veeam Backup is initiating job to process the Backup, it creates a Loop within the SCSI Controllers selected in the VM. If any drives / SCSI Controller is presented, it will be added for the Backup. While Exchange is a bit sensitive to wait for the entire process of Veeam Backup Job to go from SCSI (0:0) till SCSI (3:15) which is the last SCSI Controller, it failed because VSS Snapshot it didn’t pass within the time frame that specified by Veeam.
But by selecting the correct SCSI Controller/Disks which are presented within the Virtual Machine, I think Veeam Intelligent enough to pickup only those SCSI Disks which are presented/Selected.

, , , , , , , , , , , ,

1 Comment

Unable to allocate processing resources. Error: No backup proxy is able to backup this VM. Check processing mode settings on proxies.

Are you seeing this error when you try to back up your VMs with Veeam Backup & Replication 6.5 in Direct SAN Mode? Does your Proxy Servers sees the VMFS LUNs where you are fetching the VMs Data to the Backup Mode?

This error is generated because the Veeam Configured to backup VMs via Direct SAN Access “Using source proxy VMware Backup Proxy [san] and the Proxy doesn’t have access to the VMFS LUNs.


To sort out this issue;
1. Make sure your Proxy Server can see the VMFS LUNs inside the Disk Management of the Windows.
2. Make sure the Proxy configured as Direct SAN Access.
3. Make sure the Direct SAN Access Proxy is selected in the Backup Job Configuration / Storage Section.
4. If you are still getting the error and failing to process the backup further, Open the Proxy Configuration under Backup Infrastructure -> Backup Proxies and select the desire proxy.
Right Click on the Desired Proxy and Select Properties in the Selected DataStores, select the VMFS LUNs which contains the target Backup VMs manually and try..

Hope it helps..

, , , , , ,

Leave a comment

Backing Up Symantec Enterprise Vault with Veeam Backup & Replication

Hello Once Again,

I found the solution to backup Symantec Enterprise Vault with Veeam Backup and Replication

Every environment is differ to another with regards to the Veeam Setup and Symantec Enterprise Vault Setup and Configuration.

When Symantec Enterprise Vault is configured with the Site and Storage Groups “Vaults”, there is a PowerShell script automatically will generate the Transform Backup Scripts for your environment. The Transform-Backup.PS1 script is located under C:\Program Files (x86)\Enterprise Vault\Reports\Templates.

Once the script runs, it will generate an HTML file which will have all the PowerShell cmdlet to set he Enterprise Vault/Site/Vaults ‘Storage Groups’ into Backup Mode and scripts to Exit/Clear the IndexLocation and Vault ‘Storage Groups’.

Out of this you will have to create two scripts or more, in my environment with my basic knowledge of scripting, I have created four scripts, two PowerShell and two Windows Batch files that calls the powerShell scripts.

Note: You have to install the Enterprise Vault Console on the Veeam Backup & Replication Server in order to invoke and run the scripts.
Note: Permission you will require to run the Veeam Job and the Enterprise Vault Console. If the Veeam Services runs under Service Account, this service account need to be granted permission as Local Administrator on the Enterprise Vault Server and as a Power Administrator “Or create a new Authorization Group under that have definition of;
EVT Manage Index Location Backup Mode
EVT Manage Vault Store Backup Mode
Then add the user to the newly group created. And configure the Task Schduler to run the task under this user which manages the Veeam Services “Veeam”
This KB from Symantec can help you out with the permission:
Note: The PowerShell has to run on the 32bit; c:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
Note: Do not configure the Schduler on Veeam Backup Job, let the Task Scheduler handle this instead.

Pre Script:
This script will include the Power cmdlet which will set the Enterprise Vault in backup Mode and will invoke the Veeam Backup Job to run.

#Pre-job to set the Symantec Enterprise Server and Site into Backup Mode.
#Reset ArchiveBit on the Store Vaults.

DEL “\\EVServer\EVPartition01cc55b2dc699b70$\IgnoreArchiveBitTrigger.old”
DEL “\\EVServer\EVPartition01cc55b2753ddd30$\IgnoreArchiveBitTrigger.old”
DEL “\\EVServer\EVPartition01cc55b34882a450$\IgnoreArchiveBitTrigger.old”
DEL “\\EVServer\EVPartition01cc55b3725ff520$\IgnoreArchiveBitTrigger.old”

#Site: EV Site

#Set backup mode on site
c:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -psconsolefile “C:\Program Files (x86)\Enterprise Vault\EVShell.psc1” -command “& {Set-VaultStoreBackupMode -Name ‘EV Site’ -EVServerName evserver -EVObjectType Site}”

#SiteIndexLocations:  EV Site

#Set backup mode on indexes in site
c:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -psconsolefile “C:\Program Files (x86)\Enterprise Vault\EVShell.psc1” -command “& {Set-IndexLocationBackupMode -EVServerName evserver -EVSiteName ‘EV Site’}”

#Start Veeam Backup Job

Add-PSSnapin VeeamPSSnapin

# Add the name of the backup jobs to be included here. The order in which they are entered is the order in which they will run

$chainedjobs = (“SymantecEV”)

foreach ($jobname in $chainedjobs){
$job = Get-VBRJob -name $jobname
$jobtry = 0
start-VBRJob -job $job

if($job.GetLastResult() -eq “Failed”){
Start-Sleep 480
Start-VBRJob -job $job -RetryBackup
while(($jobtry -lt 3) -and ($job.GetLastResult() -eq “Failed”))

The GetVBR-Job script it will start and it will loop through for 3 times as RetryJob till it gets the result Success/Warning other than Failed.
Call this script in the Task Scheduler either using PowerShell.PS1 or you can create a Windows Batch file to call the script

PowerShell.exe G:\Script\PreJob.ps1

Then in the Veeam Backup Job configuration in the Storage Section -> Advanced Settings you have to put the Post-Job Script under the Post Job Activity Section.

Post-Job Script:
This script will include the Power cmdlet which will clear the Enterprise Vault from backup Mode once the Veeam Job Succeeded.

#Post-job to Clear the Backup Mode on the Enterprise Site and EVServer.
#Create IgnoreArchiveBitTrigger.txtecho “Enterprise Vault Trigger File”> “\\EVServer\EVPartition01cc55b2dc699b70$\IgnoreArchiveBitTrigger.txt”
echo “Enterprise Vault Trigger File”> “\\EVServer\EVPartition01cc55b2753ddd30$\IgnoreArchiveBitTrigger.txt”
echo “Enterprise Vault Trigger File”> “\\EVServer\EVPartition01cc55b34882a450$\IgnoreArchiveBitTrigger.txt”
echo “Enterprise Vault Trigger File”> “\\EVServer\EVPartition01cc55b3725ff520$\IgnoreArchiveBitTrigger.txt”

#Clear backup mode from site

c:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -psconsolefile “C:\Program Files (x86)\Enterprise Vault\EVShell.psc1” -command “& {Clear-VaultStoreBackupMode -Name ‘EV Site’ -EVServerName evserver -EVObjectType Site}”

#Clear backup mode from indexes in sitec:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -psconsolefile “C:\Program Files (x86)\Enterprise Vault\EVShell.psc1” -command “& {Clear-IndexLocationBackupMode -EVServerName evserver -EVSiteName ‘EV Site’}”

When the Pre-Job Script runs, you will notice on the Enterprise Vault Server that an Event IDs will be generated which indicates that the Enterprise Vault Server is Set for Backup Mode and all the Storage Groups;

Successfully set Backup Mode on all the Vault Stores that are managed by the Storage Service on this computer. Event ID 7060
Computer Name:
Successfully set Backup Mode on all the Vault Stores in the Vault Store Group that are managed by the Storage Service on this computer.  Event ID 7059
Disabling additions, deletions, and updates to the following index locations because they are in backup mode: Event ID 7319


Status: Success  (0)

Once the Backup Job in Veeam Server finished, the Post-Script will be triggered and will clear out the Backup Mode and Symantec Enterprise Vault will generate an Event IDs
as successful cleared Backup Mode for all the Storage Groups Vault.
Successfully cleared Backup Mode from Vault Store. Event ID 7079

, , ,


Scheduling Veeam Backup Jobs for Daily Incremental and Weekly Full using PowerShell

As every Veeam Backup & Replication User/Administrator can see that only one schedule can be configured for each job, which will includes First Full backup, Active Full backup and Daily Increments.

Daily incremental takes less time than the full backup and if you have configured the jobs to run each after another with minimum 20 – 30 minutes cap. In the same job there you are restricted to select either Synthetic Backup with Transforming the Backups into one Full Backup *.VBK file chain of all previous incremental or you have to select Active Full.

Synthetic takes less time to finish incremental, but if you don’t have good CPU/Memory resources and Disk I/O, the transformation process could take time or you might end up with full VM freezing.

But if you are in Active Backup and selected Weekly Active Full Backup on Friday let assume, which again if Friday trigger it will run as Full in the same time that the daily incremental runs which will take longer to finish and in the same time the second job will start before the first job finish and will end up having whole jobs running and will slow down the read and write performance of the disks and Veeam server.

Since Friday is the day off and the servers/systems are being utilized very less, I have the whole day to run my backup, but can I can configure the Active Full Backup to run on different day other than the one which is configured in the Job Scheduler of the Backup Job?

Currently there is no way to configure it from the Veeam GUI and it would be very fantastic feature if would consider to add a separate schedule for the Active Full Backup.

The only way to make sure you run your jobs without overlapping with other jobs and will run into performance issue; with very simple Veeam PowerShell script and a Windows batch script to call the PS1 script will make sure all jobs runs as per your needs.
In my environment, I’m backing up 44 VMs those VMs divided into 5 Jobs; I have created 5 scripts for each job and I disabled the Backup Job Schedule;

Critical VMs-1

Critical VMs-2

Critical VMs-3

Critical VMs-4

Critical VMs-5

I have created two scripts for each job as follows;

PowerShell Script “Critical VMs-1.PS1

Add-PSSnapIn -Name VeeamPSSnapIn -ErrorAction SilentlyContinue
Get-VBRJob -Name "Critical VMs-1" | Start-VBRJob

This Power Shell Script, will find the job name “Critical VMs-1” via the Get-VBRJob command and will start the Backup job via Start-VBRJob.

And another Windows Batch Script to call the Critical VMs-1.PS1 PowerShell script and invoke it into the PowerShell;

Windows Batch Script “RunCritical-1.bat

PowerShell.exe G:\Scripts\Critical VMs-1.PS1

I have repeated the same scripts for each job. Then in the task Scheduler in windows server 2008 R2, I configured two schedules for each backup job, so one schedule will run the same script RunCritical-1.bat from Sunday to Thursday as daily incremental and the same script will run on Friday on different time than the daily schedule, this will make sure that I have enough time window to run my backup jobs from early morning on Friday.  And since the Veeam Backup Job already configured as Active Full on Friday, it will automatically triggered and run as Full.

Hope it helps;

, , , , ,

1 Comment