We've been using Veeam Backup and Replication software since version 5.x and have been very pleased of the product..
One thing that really made us use Veeam was the SureBackup feature. Since Veeam version 5.x to 7.x we really don't think there have been any news for SureBackup feature which is a shame
My concern with SureBackup in lastest Veeam 7.x is:
1) Slow
2) Random errors
3) GUI options / script features
For the slow part explanation:
We currently have one Veeam Backup server which have the main Veeam repository storage. This is a physical server with 2xCPU each with 6 cores and 32 GB of memory, 10 Gbit Netcard and 75 TB storage (RAID). I know for sure that I can read / write from this server with about 3-500 MB/sec through the Network from another server (other Veeam Repository we use for Backup Copy job). For SureBackup we have an VMware server which is main role is to run SureBackup jobs. This server have 2xCPU each with 6 cores, 192 GB of memory and 10 Gbit Netcard.
For some servers in the SureBackup jobs it will take about 15-30 min. to complete each server. Other jobs some servers take up to 1 hour!.
I havn't been testing this, but normally Instant Recovery is not taking that much time maximum 15 min.
For the random errors part explanation:
We currently have two weird issues, one is in the poweron state of an VM in the SureBackup job where it fails with an "Error: IP address is not IPv4". Normally if we rerun the job afterwards it will run fine!
The second issues is that an SureBackup job can fail with "Error: Can't Mount vmdk D:\Temp\GUID-number\XXXXX.vmdk". If we goto then D:\Temp and delete this GUID-number folder and rerun the SureBackup job it will normally run fine!
If we are going to 100% rely on SureBackup for testing our backups, then SureBackup error should mean bad backup data. This is currently not the case. Almost 100% of the times where SureBackup fails we can start an Instant Recovery which Works fine!
GUI options / script features part explanation
Right now there is some built-in script options for testing roles (DNS server, Domain Controller, etc). I think it would be nice for Veeam to have an SureBackup Script library so the Veeam community could share scripts.
It would be VERY nice if Veeam could make som kind of GUI script Tool for SureBackup.
There is an "Maximum allowed boot time" option in the GUI. This will setup how long time the SureBackup job will wait until the VM OS i alive. The "problem" with this is that sometimes it takes 600 sec. and other times maybe 1800 sec. (or more)
There is an "Application initialization timeout" option in the GUI. After VM OS startup the SureBackup job will wait XXXX sec. before doing script testing. The "problem" with this is that sometimes services can be checked after 60 sec after "alive" or up to 1200 sec. later. After the delay SureBackup will check all scripts one by one. So why not just set the "Application initialization timeout" to 600 sec. for each server? (an example) - because if you have 20 SureBackup jobs totally containing 100 VM's then this takes VERY long time to run these SureBackup jobs. Lets say the average "Application initialization timeout" is 300 sec. for alle 100 VM's (some shorter and some longer), then SureBackup will use about 8.5 hours without doing anything!
Because we don't have time for this waste of time we've made our own script instead of using the built-in for testing roles. The script have build-in delay of 600 sec. (can be changed), it works by setting the "Application initialization timeout" to 10 sec., it will then loop test if a TCP port is open.
Example: The VM OS is alive and the 10 sec. "Application initialization timeout" is running the testport.ps1 on port 25 (SMTP port). After 91 sec. the SMTP service is up on the VM and testport.ps1 detects this and sets the correct ERRORLEVEL to Veeam so it is detected as success. If the built-in delay in the script for 600 sec. is ended then the correct ERRORLEVEL is set and Veeam set it as failed. For this example under the SureBackup Application Groups, you need to edit the SureBackup Application Group, then edit on the servers to see the "Role" tab. Goto the Test Scripts tab and select the "Mail Server" and the press edit. Instead of using the "Use predefinded script" the select "Use the following test script". In the Name type "Mail Server", in Path type: X:\XXX\PortTest.ps1 (path to where the script is) and in arguments type: %vm_ip% 25
Content of testport.ps1 (use at own risk!):
Code: Select all
[string] $EndPoint = $args[0]
[string] $Port = $args[1]
$totaltime = 0
$IP = [System.Net.Dns]::GetHostAddresses($EndPoint)
$Address = [System.Net.IPAddress]::Parse($IP)
do {
$socket = New-Object System.Net.Sockets.TCPClient
$socket.Connect($Address,$Port)
if ( $socket.Connected )
{
$socket.Close()
[Environment]::Exit(0)
}
$socket.Close()
Remove-Variable socket
$totaltime = $totaltime + 10
Start-Sleep -s 10
} while ($totaltime -le 600)
[Environment]::Exit(1)
I've checked our server and it says: RemoteSigned after I run the: Get-ExecutionPolicy in PowerShell.
I hope to hear from someone in the Veeam community about our "problems" and maybe feedback from the other things in this post.
Hopefully Veeam monitor this forum and reply with some news for SureBackup in Veeam Backup and Replication 8.0. I also hope that Veeam will make an Veeam community Script library available ASAP