Updated version with new capabilites

Sep 15, 2014 at 3:14 PM
A few months ago I found this project. It was incredible useful to me, but it lacked some options I needed. So I started adapting the source code and added a few new capabilities.
I mailed the author to see if he would like to add these modifications to the project but he never contacted me back, so in comply with the GPL you can find the updated source code here:
http://1drv.ms/1BG5phs

Hope this additions are useful to you too.

Changelog:
Updated the command line switch library to fix the exception that happened when you mixed some parameters
Support for the 7ZIP compression format that was requested by a lot of people, you need to supply the 32 o 64 bits 7z.dll according to your processor architecture (see 7zDLLs.7z file)

A vhdinclude switch to include only the listed Vhd's files so you can backup a VM with selected hard disks
A vhdignore switch to exclude the listed Vhd's files so you can backup a VM and ignore hard disks that are not relevant
A password switch to protect the backups

Important: As I didn't needed the CSV support I have stripped it, but if you need it you can enable it adding the relevant code from the original source files.

Sorry for my English, but it is my second language.
Oct 29, 2014 at 1:34 PM
Thank you for the additions.

However, how do I use your files? Do I merge them with the original folder? There is no documentation so it would help pointing me in the right direction.

Thank you
Oct 29, 2014 at 2:57 PM
The code includes the full source, so just compile it and use it.
Oct 31, 2014 at 10:11 PM
Call me a pest but it's not about being a lazy bone as it is with time. is there any way you could spare me downloading the right compiler and the whole process and email me the zipped product. I would be immensely thankful. my email: ithelp@jbcstyle.com thank you in advance
Nov 4, 2014 at 8:51 AM
You can find a compiled version in
http://1drv.ms/1tCKb2a
Jan 16, 2015 at 2:48 PM
Ok really nice work, but some mentions about it. First, to see all new options use hvbackup.exe --help. (maybe helpful for someone ;-)
Second, I think, you meant I have to put 7z.dll in the same directory as hvbackup.
I did so, then I tried with 7z option (-e), it is more efficient in compressing but first was painful slow, slower then dotnetzip. o_O
I looked up and saw there was only an old 7zip 9.20 installed. So I used the newest available 9.38beta and took this 7z.dll. Et voilà my 16x2 cores and RAM where happy about ;-)
Trying full backup of all VMs this weekend.
Thanks for so far!
david
Sep 14, 2015 at 1:01 PM
At ppaul2: Does your new code work with Server 2012 R2?

The original version runs on Server 2012 R2 but it's backing up the temporary snapshot 2012 R2 does during backups, too. This gives errors if you try to Import the backed up vm.

I'm a c# prorammer myself. So if you know the reason for this behavior, perhaps I can work around myself.

TIA,

Markus
Sep 14, 2015 at 4:08 PM
Edited Sep 14, 2015 at 4:11 PM
I have not tested in R2, we only have Server 2012 machines. When I have time i will test it in Winserver 2016, just to be future proof too.

But it should not be hard to modify, can you post a list of the files included in the compressed file.
Sep 14, 2015 at 4:10 PM
Edited Sep 14, 2015 at 4:11 PM

I looked up and saw there was only an old 7zip 9.20 installed. So I used the newest available 9.38beta and took this 7z.dll. Et voilà my 16x2 cores and RAM where happy about ;-)

I have never answered this suggestion but do as he says!

Using 7zip 9.38 results in way better compression times. Currently there is a 15.06 version, but I have not tested it.
Oct 5, 2015 at 11:27 AM
Hi.
Im currently using the original version of HV backup. But since i wanted the stuff that you put in there, i would like to get your version up and running. The problem is that i cant :P

When i run it (say standard like hvbackup.exe -o d:) i get this error:

"Backing up all VMs on this server
Error: Could not load file or assembly 'AlphaVSS.60.x64, Version=1.1.3000.1, Cul
ture=neutral, PublicKeyToken=3033cf2dbd31cad3' or one of its dependencies. The s
ystem cannot find the file specified.
at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase,
Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boo
lean throwOnFileNotFound, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence
assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.Load(AssemblyName assemblyRef)
at Alphaleonis.Win32.Vss.VssUtils.LoadImplementation()
at Cloudbase.Titan.HyperV.Backup.BackupManager.BackupSubset(IDictionary2 vmN
amesMapSubset, Options options) in e:\1\cr\HVBackup\HyperVBackup\BackupManager.c
s:line 97
at Cloudbase.Titan.HyperV.Backup.BackupManager.VSSBackup(IEnumerable
1 vmName
s, VMNameType nameType, Options options) in e:\1\cr\HVBackup\HyperVBackup\Backup
Manager.cs:line 87
at Cloudbase.Titan.HyperV.Backup.CLI.Program.Main(String[] args) in e:\1\cr\H
VBackup\HyperVBackupApp\Program.cs:line 157"

It doesnt matter what settings i use. Still the same error. (i dont even have an e: on my server). This is running on a Windows 2012 standard server.
Oct 6, 2015 at 1:23 PM
You have a versioning problema in one of the dlls.

I assume you have verified you have this version of the dll: AlphaVSS.60.x64, Version=1.1.3000.1

I suggest to recompile the program from the source code.
Oct 6, 2015 at 2:01 PM
To be honest, i cant event find the file you are refaring to.
There is an AlphaVSS.Common.dll witch is version 1.1.3000.1 but nothing else.
I just downloaded you kompiled version and im not familiar with the compiling process.
Oct 12, 2015 at 9:12 AM
Anyone who has the ability who could recompile the files? I would really apprititate it.
Oct 12, 2015 at 11:59 AM
After googling some, it seems that the dll is part of C++ redist. Can someone tell me witch version to use (there are alot of them...)
Oct 14, 2015 at 7:55 PM
Download the source code, and use the version included there. With that everything should go as expected.
Oct 30, 2015 at 8:29 PM
As there are some questions pending and some updates are needed to support Windows Server 2016 I started a GitHub project to have a better management

https://github.com/ColiseoSoftware/hypervbackup

Beware that this is a more modified version (.NET 4.6 required, zip format dropped)
Dec 24, 2015 at 8:48 PM
Great to see that someone is taking the time to update and improve this program. It's incredibly useful - thanks!

I'm not familiar with GitHub (used to develop software but haven't done so in years). Can't find a place there to request an enhancement. I'd love an option that copied the files that make up the VM into a duplicate folder structure (rather than combining files into a single compressed file). PPaul2, is that something you would consider doing?
Dec 26, 2015 at 12:59 PM
You can ask for a feature in the Issues section. I guess it would be better to add a wiki to the project, but for now I should work.

And for the enhancement: it's totally feasible, don't think it would be a problem. I you (or any friend of you) can do basic c# programming (like copying a list of files from one location to another) you can help and make it happen faster, I can point you where to hook the new code.

El 24/12/2015 a las 5:48 p. m., GMcDonnell escribió:

From: GMcDonnell

Great to see that someone is taking the time to update and improve this program. It's incredibly useful - thanks!

I'm not familiar with GitHub (used to develop software but haven't done so in years). Can't find a place there to request an enhancement. I'd love an option that copied the files that make up the VM into a duplicate folder structure (rather than combining files into a single compressed file). PPaul2, is that something you would consider doing?

Mar 10, 2016 at 10:47 PM
Hi there,

Thank you for the good work of this updated version. I love it and use it a lot. Thumb Up !

I use it very often on 2008 R2 and 2012 R2 with 7z.dll 15.05 and it's very quick and stable.

I'm working right now on a 2012 R2 Cluster with CSV (SAS SAN).

I wondered if there would be a people so kind has to compile the updated version with the CSV support.
I tested the original 1.01 build with CSV and it's working fine with my cluster but very slow.
So i guess adding the original CSV source code would work (for me).

Kind regards and thanks by advance.