In this 20 step guide, I like to show you how easy it is to create a backup (offsite) of your VMware VM’s to a linux host with Veeam Backup and Replication v5
(let’s think big here: backup you VMware private cloud to a private backup cloud )
(In the the end of this blog, I will show the whole efficiency (conclusion step) of Veeam and VMware vSphere, in this example only about 3% of the total VM’s size needs to be send over the WAN offsite (with VMware Changed Block Tracking) to be able to do a full restore in case of a disaster
Now with Veeam’s special gift for all VMware vExperts, VCP and VCI,
Veeam is offering for those people a FREE 2-socket NFR licenses for your home lab.
Register Here if you not did this and you are a vExpert, VCP or VCI….
(only this gift is enough pass the VCP exam )
Or get your 30 days unlimited evaluation version of Veeam Backup and Replication v5 here…
- Install your backup-cloud system (target is a Linux host) (minimal install, Perl and SSH are the only components required) in this example I use an ubuntu-10.10-desktop-i386 distribution (with the specs 1 CPU and 512 Mb RAM)
- Make sure all the updates are applied to this backup-cloud target (Linux host) (pull down menu system -> update manager for ubuntu)
- Now lets install openSSH on this machine;
note: Open a terminal (pull down menu Applications -> Accessories -> Terminal)
Run the command line: sudo apt-get install openssh-server and provide your password.
check your SSH with command line: ssh localhost (and create the RSA key fingerprint authenticity of the host if needed by typing yes)
OpenSSH is a FREE version of the SSH connectivity tool. (Users of telnet, rlogin, and ftp may not realize that their password is transmitted across the Internet unencrypted, but it is) OpenSSH encrypts all traffic (including passwords) to effectively eliminate eavesdropping, connection hijacking, and other attacks. Additionally, OpenSSH provides secure tunneling capabilities and several authentication methods, and supports all SSH protocol versions.
- Setup a fixed IP address for this machine (pull down menu system -> Preferences -> Network Connections for Ubuntu) and setup subnet, DNS and gateway (if needed) so you can setup your internet router NAT in the next step.
- Now on your internet router create a NAT rule for port 22 TCP (SSH) to this backup-cloud machine and the port 2500-5000 TCP range to this backup-cloud machine. (This is just a regular socket to socket data transition connection, port 2500 and the following ports, in case of parallel jobs.
- Make sure you can ping your backup cloud system from your Veeam Backup and Replication v5 system…
- Make a new user(s) on your backup cloud target host (pull down menu system -> Administration -> Users and Groups for Ubuntu) for all Veeam Backup and Replication v5 systems that are going to backup to this backup cloud machine
- Now on the Veeam Backup and Replication v5 system let’s connect to this machine as my backup target…
Select the add server icon in the top row, and add a linux server (last option)
- Provide the username and password credentials like in this picture below…
- Accept the complete screen and make sure you select connect when I click finish….
- Create (right mouse click) a backup target directory for your Veeam backup server in /home/username
(in my example the folder is named VeeamTarget…)
- Now lets make the backup job in Veeam Backup and Replication v5
Lets start with a jobname…
- Select Network processing mode… (last option)
- Select the VM’s on your source host(s) you want to backup…
(make sure your source machines are also added like in step 8)
- Select the Linux host as Destination
Set the target path to the same directory we created in step 11
- If you do only disk to disk backup (D2D) make sure you select the Reversed incremental in your Advanced Settings as the Backup mode…
- Setup Guest Processing (if you backup Microsoft Windows VM’s)
Provide the OS credentials for the VM’s to ensure VSS applications transactional consistency for this VM and Microsoft Windows guest Quiesces OS indexing when needed…
- Now setup your backup Job Schedule (in my case I leave this blank, because I will control this manually and start the backup direct in the next screen…)
- You see here I select Run the job when I click Finish.…
btw: a cool feature easily overlooked sometimes here is that in this summary screen, you also see what the Command line for executing this job. (with a windows scheduler or so).
- "the conclusion step ;-)"
See here the efficiency of both Veeam and VMware vSphere…
Veeam is using inline deduplication and is creating synthetic (in this case reverse incremental) image backups. With the big advantage that you still can do “instance” (takes a minute or so) file level recovery on
Linux (ext, ext2, ext3, ext4, ReiserFS, JFS and XFS), Unix (JFS, XFS and UFS), Oracle Solaris (ZFS), BSD (UFS and UFS2), Apple Mac (HFS and HFS+), Microsoft Windows (FAT, FAT32 and NTFS) and you can Instance VM Restore any VM with a OS not on this list, and simply copy and past files out you file system.
Here we see this backup job summery:
In our case our total backup looks like this:
|Veeam Backup and Replication
4/24/2011 4:03:41 PM
So my total backup is 225.00 GB (see my sessions details in the beginning here)
But my actual data that is transferred over the WAN is only 19 GB for this full backup. (the *.vbk file)
Veeam Backup and Replication v5 is highly optimized when using a Linux target…
(When using a Linux target for Veeam Backup and Replication v5 this backup server will deploy an agent on your side that will handle creating full backups from incremental data (forever incremental). (We selected reverse increments in step 16, so the last backup is always available as a FULL!) This reduces bandwidth requirements dramatically, since data processing will be handled locally.
Today this is only available in Veeam Backup and Replication v5 for a Linux target, but this same feature will be available for Microsoft Windows targets shares in Veeam Backup and Replication v6!
VMware vSphere 4 has CBT (changed block tracking) and this will improve the increments size even more!
Virtual machines running on ESX 4.0 or later hosts (with virtual hardware 7) can keep track of disk sectors that have changed. This feature is called Changed Block Tracking (CBT).
On a virtual machine, the virtual disk block changes are tracked from outside of the virtual machine in the virtualization layer. When a backup is performed, only the blocks changed since the last backup are transmitted.
The VMware CBT feature can be accessed by third-party applications (Veeam Backup and Relication v5) as part of the vStorage APIs for Data Protection. Applications can use the API to query the VMkernel to return the blocks of data that have changed on a virtual disk since the last backup operation. You can use CBT on any type of virtual disk, thick or thin and on any datastore type except for physical mode Raw Device Mappings. This includes both NFS and iSCSI datastores. (see this VMware KB)
Look to this target one more time; the *.vrb is having only the synthetic changes (700.5 MB)
I have a full backup offsite, and only transferred about 3% data to get there!
the best part: the last backup can immediate be restored, because Veeam Backup and Replication v5 has all the information for a full restore ready (see the restore Wizzard, my last backup (700.5 MB) was enough info for a full restore(!)