[Solved] Incremental VHD unusable by other machines

Sorry if this has been solved in 2.0.32, I didn’t see it mentioned in the RC sticky post.

UrBackup Server 2.0.31 running on Ubuntu Server 16.04.1 is creating incremental VHDs that point to its parent with the absolute path of /mnt/urbackup/computer/date-time_image_partition/image_partition_date-time.vhd which no other machine can see, because the path /mnt/urbackup only exists on the server.

Back in the day with UrBackup 1.4.x all VHDs were stored in the same folder and I assume they were using relative paths to their parents, because another Windows machine would show the parent path as d:\whatever\image_partition_date_time.vhd

In case it’s relevant, I’m getting this parent path info from the “Virtual Hard Disk Properties” window in Hyper-V Manager version 10.0.10586.0 running on Windows 2016 preview 4, which itself is just the client connecting to a Windows 2012r2 Core server running Hyper-V. This setup still works fine with the old incremental images made with UrBackup 1.4.14 that I’ve left lying around. However, trying to select an incremental VHD created with UrBackup 2.0.31 gives me the error “Error applying Hard Drive changes. Modifying the properties of the device ‘Hard Disk Image’ failed.” Here’s a screenshot of the two Virtual Hard Disk Properties windows side-by-side: https://drive.google.com/file/d/0B7bBGpSCR3bjc2lDWGhtbDhUWHM/view

It’s probably not a permissions problem, since the working VHDs are all in the parent directory of the non-working VHDs, which are now stored each in their own directory. The new storage method is much cleaner and requires much less of a computer’s effort to list, so I understand and appreciate the change requiring absolute paths. Would a solution be changing to a relative path of “…/date-time_image_partition/image_partition_date-time.vhd”? If this can’t or won’t be solved, I can instead install UrBackup Server on my Windows 2012r2 Core server running Hyper-V, so both UrBackup and Hyper-V would agree on the absolute path to the parent VHD. Thanks for all of your work, UrBackup is best backup.

It actually sets three parent names. The main name is ..\prev\Image_X_.vhd then an absolute path to the parent and a relative name to .\Image_X_prev.vhd (same folder). So it should work if you copy all the VHD files into the same folder. It seems to not use the main name.
I can change the relative name to point to ..\prev\Image_..vhd as well.

Thanks for looking into this, sir.
I could throw something in my crontab to move finished VHDs into the same folder, but would that mess up UrBackup’s ability to make incremental VHDs? Moving the parent VHD (against which all incremental changes are measured) should cause UrBackup to fail, right?

You could hard link them into the same folder. Can you try if it works if you put them into the same folder? If yes I’ll change it such that it works without copying/linking them in the future.

1 Like

This works.

An incremental VHD and the full image it was based on, both created by UrBackup 2.0.31 (not updated from 1.4.x, but freshly installed as 2.0.31) running on Ubuntu Server 16.04.1 works exactly as expected with Hyper-V running on Windows 2012r2 Core Server when both VHDs exist in the same folder.

The Hyper-V ‘VHD inspector’ window thing shows the path of the parent as it exists on the Windows server, which is obviously different than the path UrBackup originally saved both VHDs to on its Linux server, suggesting the relative path pointing to the same directory works as designed.

Furthermore, creating a “symlink” in Windows also works. I think I’ll write a simple script to run “cd incremental_date_image_X && mklink Image_X_full-image-date.vhd …\Image_X_full-image-date.vhd” and then post a link to that here for any future Google’r with the same problem.

Maybe it’s my imagination, but Hyper-V seems much slower when working with the child of a symlink. Also, deleting the symlink changes the parent path in Hyper-V’s VHD inspector to the useless-to-Windows absolute path from within the Linux server.

Thanks for the suggestion and the great backup program. Sorry for the long reply and the long wait, it took me 2 days to copy the parent and a child VHD into the same folder.

I have tested an incremental VHD created with UrBackup 2.0.32 and Hyper-V is still unable to find its parent VHD. The parent it’s looking for was created with UrBackup 20.0.31 but I assumed this would not matter.

I also cannot mount the VHD using Windows Server 2016 Preview 4 or Windows 10 Pro version 1511 build 10586.218
I don’t have any Windows 8 or 8.1 machines handy to test with.

I’ll keep working on my hardlink script.

Yes, it’s not fixed with 2.0.32 yet. Will be fixed with 2.0.33

You fixed it!

An incremental VHD created with UrBackup 2.0.33 was able to find its parent VHD created by UrBackup 2.0.32 when used from another computer.

Thank you for you work.