Skip navigation

The requirement:
A requirement comes down for a set of 4 new virtual machines. Each of the VMs is 185 GB in size and will require a full nightly image backup.


The problem:
This additional 740 GB of daily backups is impacting the backup window and using a lot of storage in the process.  With no deduplication, a week's worth of all four VMs requires over 5TB of storage.  Each VM backup was taking 50 minutes to complete, and a total of 3 hours and 20 minutes each night was used just for these 4 VMs.


The resolution:
Use NetBackup 7 (which leverages the vStorage APIs for Data Protection) and VMware's Changed Block Tracking (CBT) functionality to reduce both the backup window and storage requirements.  The idea is to take a full image backup of each VM once a week, and then perform a block level incremental backup (BLIB) for the remaining 6 days.


The math:

Saturday165 GB, 50 minutes165 GB, 50 minutes
Sunday165 GB, 50 minutes11 GB, 05 minutes
Monday165 GB, 50 minutes21 GB, 10 minutes
Tuesday165 GB, 50 minutes15 GB, 12 minutes
Wednesday165 GB, 50 minutes11 GB, 12 minutes
Thursday165 GB, 50 minutes19 GB, 10 minutes
Friday165 GB, 50 minutes20 GB, 11 minutes
WEEKLY TOTAL x 1 VM1.1 TB, 350 minutes262 GB, 110 minutes

WEEKLY TOTALS x 4 VM4.4 TB, 1400 minutes1 TB, 440 minutes


The full backup on Saturday still takes the same amount of time as before, but on Sunday the block level incremental backup takes just 5 minutes to complete.  Monday - Friday offer similar results, and no single BLIB ever takes longer than 12 minutes to complete.  This means that I can get what is essentially a FULL backup of all four VMs in the time it used to take to get just one.  Notice also the amount of data that is backed up.  The entire set of BLIBs for 6 days use less space than a single FULL backup.  Both of these savings are very real and also very easy to implement.


The implementation:
Note: The VM must be running Virtual Machine Version 7, in order to use CBT, and the VM must be powered off to enable the CBT changes detailed below.  The first step is to enable CBT on a per-VM basis.  This is done via the "Edit Settings" for the VM.  Next choose the "Options" tab and scroll down to "Advanced" and select the "General" option.  Click the "Configuration Parameters" button and then add the following lines:


Name: ctk.Enabled

Value: true

Name: scsi0:0.ctkEnabled

Value: true





The scsiX:X.ctkEnabled configuration parameter should be added for each disk in the VM, and its value should reflect the Virtual Device Node for each disk.  For example, say there were two disks in the VM with Virtual Device Nodes scsi0:0 and scsi0:1 - there would need to be a configuration parameter added for each disk.  Each disk would be added as a new line.


The final configuration parameter (Name: disk.EnableUUID | Value: true) shown in the screenshot is optional.  It is used to enable application-consistent quiescing in Windows 2008 VMs and is discussed in kb 1028881.  Now might be a good time to make this change as well.


Once all of the name value pairs have been added to the Configuration Parameters, click OK twice and then power the VM up.  CBT is now enabled, and can be verified with the instructions provided in kb 1020128.


Note: If CBT is planned to be used for all virtual machines in the environment, it might make sense to modify any templates to include it by default.

Now that CBT is set up, the NetBackup policy can be set up to leverage BLIB.  Basically, the idea here is to set up the policy's schedule for one weekly full FlashBackup-Windows backup and 6 differential incremental backups.  First, the policy must be set up to use CBT.  This is configured in the "Attributes" tab for the policy and is accomplished by selecting the checkbox for "Perform block level incremental backups."




The final step is to configure the scheduling for this policy.  To do this, select the "Schedules" tab and create two new schedules.  The first schedule will be for a full weekly backup to be performed on Saturday.  The second schedule will be for a daily differential incremental backup to be performed Sunday through Friday.



Add the client that CBT was enabled on in the previous steps to this policy, and the policy is complete and ready to be used.


After the first full and differential incremental backups are both complete, the results can be verified with the "Backup Archive Restore" NetBackup application.  After selecting the desired VM, the differential backups will show up just like they would for a normal MS-Windows type policy.



The conclusion:

The combination of BLIB with CBT is a very effective solution for lowering backup windows and saving on storage.  For those that are already using vSphere and NetBackup 7, there is no additional licensing or cost associated with implementing either of these technologies.  The information presented here is a very basic approach to implementing BLIB and CBT, and there is much more information about this topic in both the "Designing Backup Solutions for VMware vSphere" Technical Note and the "Symantec NetBackup for VMware Administrator's Guide."


As always, thanks for reading!