Backing Up Symantec Enterprise Vault with Veeam Backup & Replication


Hello Once Again,

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

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: http://www.symantec.com/business/support/index?page=content&id=TECH67812
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

$job.GetLastResult()
if($job.GetLastResult() -eq “Failed”){
do{
Start-Sleep 480
Start-VBRJob -job $job -RetryBackup
$jobtry++
}
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: evserver.domain.com
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

E:\Index\index1
E:\Index\index2
E:\Index\index3
E:\Index\index4
E:\Index\index5
E:\Index\index6
E:\Index\index7
E:\Index\index8

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
Advertisements

, , ,

  1. #1 by Rob Wilcox on October 23, 2012 - 8:31 am

    FYI ->

    You should get a 7060 event from Storage Management saying:

    ‘Successfully set Backup Mode on all the Vault Stores that are managed by the Storage Service on this computer.

    You then do not need to do the individual vault store groups, or vault stores. You’ve done them all in the site, with the one command.

    The only thing you haven’t done at that level is the Index Locations.

    When you bring the site out of backup mode you should see a 7081 event from Storage Management… very similar text to the first one.

    • #2 by habibalby on October 23, 2012 - 12:06 pm

      Than for the hint Rob, will add that into the PostScript and will modify it accordingly with the result.

  2. #3 by habibalby on October 31, 2012 - 12:43 pm

    Reblogged this on dailyvmtech.

  3. #4 by Dan Atkinson on April 11, 2013 - 5:24 pm

    hi – love your blog post, quick question – what do you do about the SQL DB for vault, and how do you ensure your backups are in sync with the DB backup so that everything works when you come to restore.

    • #5 by habibalby on April 12, 2013 - 4:25 am

      I backup the SQL server with Veeam too using VSS application-aware.

  4. #6 by Thomas Dinter on May 3, 2013 - 10:13 am

    Hi, thanks for your instructions. If you have a lot of Partitions it is not so easy to add all EV Partitions. Here is my solution, this should check for all hidden Partitions containing “EVPartition” in the name:

    SET EVServer=\\
    SET EVPartitionID=EVPartition

    FOR /f %%a IN ( ‘net view ^”%EVServer%^” /all ^| FIND ^”%EVPartitionID%^”‘ ) DO (
    ECHO OFF> %EVServer%\%%a\IgnoreArchiveBitTrigger.txt
    )

    Instead of many:
    echo off > “\\EVServer\EVPartition01cc55b3725ff520$\IgnoreArchiveBitTrigger.txt”

  5. #7 by CharlesF on January 12, 2015 - 4:55 am

    hi habibalby,

    Very good article. Im planning on doing same thing. My EV server is backed up by Symantec Backup Exec. I now have Veeam running in my environment.

    One question. Have you tried this EV version 10?

  6. #8 by Charles Fernandes on February 1, 2015 - 8:38 am

    Hey Habibalby,

    Good article. I’m planning on doing the same thing. Have you got this to work with Veeam 7 or 8 and EV version 10 or 11?

    Kind Regards,
    Charles

    • #9 by habibalby on February 13, 2015 - 4:37 am

      Hi Charles,

      Actually after my physical backup server crashed I lost all the configuration I made therefore I have configured Symantec 2012 to backup EV directory and SQL for EV. The new version of Symantec 2012 has an agent which is compatible with EV archiving. Also, it’s a nest practices to configure the valut backup ad cab files which is will be backed up to local disk and then run Symantec to backup the vault. Really fast back and stable than Veeam integration with Symantec.

      Let me know it you need anything further.

      Thanks,

      • #10 by CharlesF on February 17, 2015 - 9:13 am

        Hi Habib,

        Thanks for replying. I have a backup with symantec backup 2010 R3 and Veeam backup 6. My EV server is version 10.0.4. i am using Symantec backup thru the EV agent to backup my EV server vault stores and DB’s. i was hoping to remove the dependency on symantec backup exec and rely in Veeam backup. But thats not best practice i guess.

        so you have switched back to symantec backup for EV then…. :)

        Kind Regards,
        Charles

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: