Video Screencast Help
New Company Name and Logo Announced. Learn More.

Backing up Hyper-V clients with

Created: 09 Oct 2013 | 2 comments

Can anyone please help answer a question about backing up Hyper-V clients, in particular what an incremental backup does?

I am making full backups of hyper-V clients (Windows 2008), with the ability to restore individual files. If I have taken one full and several diff incrementals, and then open a restore GUI, selecting "Hyper-V" restore, I am only offered the most recent full image to restore.

If I change the type to "Normal", I can restore files from the diffs taken after the full.

So, I can restore a full system from .vhd and roll forward files created/changed after the full. But what about System State changes after the full?

I reason that an incremental of a VM would really be equivalent to a full as it is a single file.  Is there a way to include the System State in incrementals without doing the whole VM (apart I guess, from installing NB directly on the client)?

(Using NetBackup appliances to backup a range of systems including Windows 2008 VMs hosted on Hyper-V 2008)


Operating Systems:

Comments 2 CommentsJump to latest comment

Jaime_Vazquez's picture

Yes, this action is correct and normal. Unless doing  an individual file level restore you can only restore the entire VM.  This is the same if the file level restore option were not enabled. 

No, an incremental backup is not a full under the covers. Note that incremental backups require selection of the "Enable file recovery from VMbackup" option on the Hyper-V tab. Differential backups will backup those files where file changes have occurred, but not as a file level entity. I believe this is at a block level.   File level backups are done for normal Windows policy types.

The Backup Selections tab is set to ALL_LOCAL_DRIVES. Individual drives cannot be specified.  This directive always includes the System State and Shadow Copy Components and they are always backed up as a FULL, even in incremental backups.

So, yes, you can do the full VM restore and then the restore of the incrementals after that, but using the file level selection process and tagging all of the files.

This information is seen in the Admin Guide:

NetBackup for Hyper-V 7.5 Administrator's Guide PDF

RLeon's picture

Unlike VMware, Hyper-V in itself does not have something "premade" - at least not thoroughly - for backup applications to simply make use of when block level incremental backups are to be created.

For this reason, some backup application vendors create their own proprietary mechanisms/codes so that Hyper-V incremental backups can be "Block Level".
Off the top of my head there are at least two vendors that do that, one of them Microsoft, the other one loves everything VM.

NetBackup does this differently, in that it doesn't do block level incrementals. All incrementals are done at the file level.

During a backup, NetBackup instructs the Hyper-V host to take a VSS snapshot of the volume that contains the .vhd file. For a full backup, this .vhd file is simply backed up from the snapshot; during an incremental backup, the Hyper-V host somehow "opens" the snapshot version of the .vhd (by mounting or something) for NetBackup to take a look inside and pick up the individual files (not blocks) that are new/changed since the last backup. Because the NetBackup Client software is already installed on the Hyper-V host, it does not also need to have been installed inside the guest OS for this kind of file level incremental backups to work.
(Note: does not yet support File level recovery from .vhdx files)

So, what you are seeing is normal. This is how NetBackup deals with Hyper-V incremental backups.
During a restore, unlike with block level incrementals where a previously created Full backup must be present for the blocks to "combine" with, NetBackup's Hyper-V incrementals are "standalone", where you simply restore them like you would with the MS-Window type file level backup policy.

As for the System States, which are included in the Shadow Copy Components, to NetBackup they are more Application Level entities than File Level entities. For application level data to be backed up, typically the NetBackup app agent (part of the Client) would have to do the work from within the guest OS. But as mentioned earlier, NetBackup's Hyper-V incremental backups are really just file level incrementals, so application level items are not picked up.
Hopefully this could change in future NetBackup versions, and hopefully with the ability to do block level incrementals.

Side note:
NetBackup might give an illusion of being able to do Hyper-V block level incremental backups, when you think of each .vhd as a single boring file. Going down this train of thought, if NetBackup is pulling something out from a single file, then these must be blocks, and this is block level action!
In a sense, yes, and that would appear to be the case.
But, as we know NetBackup is really pulling stuff out from the .vhd in a file level context, this is file level action from NetBackup's perspective.