Join Ed Liberman for an in-depth discussion in this video Managing checkpoints, part of Windows Server 2016: Configure Hyper-V.
- [Instructor] One of my favorite features when using Hyper-V, or really any virtualization technology for that matter, is something called checkpoints. A checkpoint is a snapshot of the exact state of a virtual machine at a certain point in time. What's cool about having these checkpoints is not just that you can take these snapshots but that you can revert back to them at any point in the future if you need to do so.
Let's take a look at this. Here, I'm running a Windows Server 2016 computer, got the Hyper-V role installed. In the Server Manager, let's go to the Tools menu and we'll select the Hyper-V Manager. Here in the Hyper-V Manager, you see we have HOST-1, and that is the Hyper-V host that we're managing, and on this host, we have a virtual machine called Demo VM. Now, this VM has the Windows Server 2016 operating system installed on it as its guest operating system.
You see it's currently in a running state, and in fact, let me go ahead and double-click on it. This will connect us to the machine, and go ahead and log in. You'll see here that it's already running and I will tell you that I have finished installing and configuring this machine. Hypothetically, let's say that this machine is in a pristine state, right, it's a newly installed pristine state, we've already gone through, we've done all the configurations.
Let's close out of here and let's go back to the host. The first thing I want to show you on the host is, let me right-click on Demo VM here, and go to its Settings. When we looked at the Settings in another video where we went to install the operating system, down here at the bottom, under Management, one of the options was Checkpoints. I'm going to click on that now so we can take another look at it. It says you can configure the options for using checkpoints on this virtual machine.
First of all, are we going to enable them? In my opinion, yes, always, checkpoints are huge. But then we get to choose whether we want to use production checkpoints or standard checkpoints. Now, this option here is new only with Windows Server 2012, I believe it was R2, I don't even think it was 2012, the original one, I think it was R2, and the difference is this, a production checkpoint uses backup technology in the guest operating system to create data-consistent checkpoints that don't include information about applications that are running.
What this does is this makes it that the checkpoints themselves will tie up less physical hard disk space. See the original checkpoints, and we'll come down here to the standard checkpoints, which does create an application consistent checkpoint, that means that it literally takes a checkpoint of everything exactly how it's running, as far as what programs were running. That also means whatever memory, whatever RAM was being used, well, you're going to tie up that much disk space. I ran out of disk space on my Hyper-V servers very quickly.
Now, in my case, I'm in a training environment, so I'm creating a lot of checkpoints, so it may be a little bit more than your standard production environment. But even in a standard production environment, every time you create a checkpoint, if you have a machine that's got 2GB, 4GB, 8GB, maybe even 16GB of RAM, well, the checkpoint is going to be 2GB, 4GB, 8GB, 16GB big for each one that you create. That's what a standard checkpoint would do. Whereas the production checkpoint doesn't worry about the running applications, it just looks at the actual state, so it's much smaller.
Then down here at the bottom, as far as the checkpoint file location, it will default to wherever your virtual machines are, OK, and that's a good idea. All right, so we'll go ahead and leave that alone with how it's set. If we want to create a checkpoint of this perfect, pristine condition that we're in right now, I can right-click and simply just select Checkpoint. When I do that, you'll see here it says Creating Checkpoint, it'll take just a moment. It really does not take very long at all.
It might take a little bit longer if you had a production machine that was actually doing a lot of different things and had a lot of stuff going. But this moves fairly quickly, and you'll see here, it says, Production checkpoint was created. All right, so I will click OK. Here is my checkpoint, and I usually like to rename it, so I say Pristine Condition, or I might call it New Installation, OK, or I've even called it Perfect Production.
All right, I mean, there's a lot of different names I've seen out there. But basically, you could leave it with the time and date stamp that it puts on there if you're making regular checkpoints, or you can give it a name based upon what the purpose behind the checkpoint was. That's how you create a checkpoint. Now, let's pretend, right, so let's zap ourselves way into the future, and the machine has been being used and we've done different things to it and maybe we applied some change and it broke the machine.
Uh-oh, what are we going to do? Well, we can just simply revert back to our Perfect Production snapshot that we had. Again, you want to keep in mind that things that have changed over time are going to be reverted back to the way it is right now. If there's data that's stored on the hard drives, you run the risk of losing some of that. Not always, again, it depends on all the scenarios in the configuration. You want to be taking somewhat regular checkpoints, these snapshots, you want to be doing them somewhat regularly, if you're going to use it for backup purposes.
But anyway, let's do this. If I want to go ahead and revert back to Perfect Production here, I'm going to simply right-click on it and select Apply. Now, when I do this, it's going to ask me, it's going to say, are you sure you want to do this? And because it says the current state will be lost, it gives you an option to create another checkpoint which is right now, before we put ourselves back to where we were in the past. What's cool about that is, checkpoints could be a state that was in the future or in the past or whatever, so if I create another checkpoint right now, and then apply it to the old checkpoint, and then we notice there's a problem, well, then we could revert to this checkpoint and then get us right back to where we were.
We don't need to do that at this point, because this is just for demonstration purposes, but I want to show you what happens when I apply this. I'm going to click Apply, and you'll see here that the machine is saving, it's stopped, and it turned off. The reason it turned off is because, again, the production checkpoints are a snapshot of the machine not taking into consideration the applications that were running.
It basically takes a snapshot of the machine in an off state, and that way, it doesn't need to back up all the RAM. All right, so that's what I wanted to show you how it turns off. Now, that wouldn't happen if we did a standard checkpoint. If we did a standard checkpoint and it was running when we took the checkpoint, it would be running again when we applied the checkpoint. But that's basically it, that's all there is to checkpoints. It's a very simple thing where you can just simply right-click on a machine, select Checkpoint, and then that's going to create the checkpoint, and then down here under Checkpoints, you can select a checkpoint and you can apply it and bring yourself back to that point in time where that checkpoint was created.
Again, I have to tell you, this is, as I said in the beginning of this video, my favorite feature, because this gives you the ability to pretty much do anything you want to a machine, and no matter how bad you mess it up, you just simply apply a checkpoint and you undo all the nasty work you did to it.
This course maps to the third domain of Exam 70-743, Upgrading Your Skills to MCSA: Windows Server 2016—Implement Hyper-V.
- Installing the Hyper-V role
- Creating virtual switches and virtual machines
- Installing a guest OS
- Managing checkpoints
- Implementing storage migration
- Implementing live migration