0

So I have a few servers running Hyper-V (they are 2008R2 Servers). This is mainly for a Test Environment, and im basically looking for a way to keep "States" of a Server (Lets pretend each VM is a Customer, and as changes get installed I create a snapshot)

I've been told that this is probably a bad practice, but Im looking for suggestions as well. Right now it's manual, but I'd like to automate it.

So something like this(Tree means a parent snapshot):

SnapshotAuto(Tree) - A Rolling Snapshot that gets created and deleted every week SnapshotChange(Tree) - a Set of Snapshots that contain a rolling past 3 changes

So under SnapshotAuto would be the rolling snapshot that gets created and deleted every week.

Under the SnapshotChange would be the past 3 Snapshots created for every new change we have. So Change 1 Change 2 and Change 3 States. Then when change 4 comes around I delete change 1. (If that makes sense)

Is there a better way to do this? Ideally I'd back up the snapshots as they get rolled out....but im not system admin so I don't know the best practices. I've also heard this is bad practice to rely on snapshots as it will slow down the VM (I don't know why, just something to do with differential disks?....I don't know enough about hardware/servers to know however). I think someone mentioned the VM would have to be stopped then started? But that's not a big deal for these VM's.

Any suggestions? If this is a bad idea I would like reasons why? (So i'll know for the future and to explain to my manager at why this won't work).

Edit: SIDEQUESTION:

If I "Export" a Snapshot Parent to a backup.....would that export the entire .VHD or .AVHD? IE: Could I export a parent snapshot and then apply it to a virtual machine?

Thank you

  • Sounds like you want hardware storage that supports snapshots... not the snapshotting within Hyper-V (which has limitations, particularly performance when you start taking a ton of snapshots). Almost all of the big storage vendors support this. – Chris S Sep 30 '13 at 18:21
  • Hyper-V 2008R2 doesn't support deleting a snapshot of a running VM. You'd have to shut down the VM to delete an old snapshot. Depending on the size of the disks involved and the amount of changed data, deleting a snapshot can take quite a while. – longneck Sep 30 '13 at 18:23
  • THat said, there is no reason not to upgrade to 2012 R2 these days, and since 2012 online snapshot management is standard. And a lot of other good things. – TomTom Sep 30 '13 at 19:31
  • What you're looking for is a VM backup product. – Trondh Oct 01 '13 at 08:41

1 Answers1

1

You are going to need a third party product to take incremental snapshots of your VMs, the Hyper-V snapshot process isn't meant to do what you are looking for. Hyper-V snapshots aren't for production use.

Another way, would be to build your base VM, and make a copy of the .vhd file and store it. When a customer makes changes, you could then store that VM. This will be costly to disk space, though.

To answer your performance question, the bigger the snapshot tree, the more degradation you will see in the VM. Also, when you delete a snapshot, its physical files stay until you shut the VM down and allow the snapshot data to merge, depending on the snapshot tree size and the base .vhd, as well as host performance, this can take a long time.

When it comes to moving a VM and its snapshot tree, you need to perform an Export inside Hyper-V manager, and then an Import at the destination, its all or nothing, cannot just move a base .VHD file, and export the snapshots separately and apply when you feel like it.

It sounds like you need to do some more reading on the subject. Take a look at this link, it will give you some good background on the snapshot process.

http://technet.microsoft.com/en-us/library/dd560637(v=ws.10).aspx

DanBig
  • 11,393
  • 1
  • 28
  • 53
  • Thanks this is very helpful. I figured as far as the export it would be all or nothing which is unfortunate....but better than nothing. Degradation would be an issue, but the actual changes for each customer is actually quite small (More-so programs getting replaced really). Stopping the VM's isn't a huge problem either for us. Your second option is something i've considered, but yeah....disk space would be a pain. Do you know of any "good" ways for production use? Im really not familiar with these kinds of things (obviously) –  Sep 30 '13 at 19:25
  • Good ways for production use, is to stand up the VM and treat it as if it were a physical box. Regular backups, patching, etc, and never rely on snapshots as a failsafe. – DanBig Sep 30 '13 at 19:27
  • Agreed, right now the VM's we are using have no snapshots whatsoever and basically are getting trashed and getting to the point where they don't work with no real way to "go back". We have a TON of Virtual Machines, (like over 30-35 per server), so we really need a way to save "states" of these VM's that we can go back to whenever a big change happens. Each of these VM's is also very different for each customer. Im new to this and trying to at least think of "something" because right now we are spending a ton of time trying to get the machine into even a useable state. –  Sep 30 '13 at 19:30
  • Start by upgrading your servers - Hyper-V 2012 R2 is around the corner. TONS of good changes for performance (vhdx files) as well as much better snapshot management (online deletion, merge). – TomTom Sep 30 '13 at 19:33
  • Agreed, I will def. list that as a good alternative. This is just what we have now.....and you know how it is getting people to spend money$$$ hahaha. –  Sep 30 '13 at 19:48