Nmedia - Fotolia
One of the big problems that IT pros have been struggling with for decades is that of system maintenance. It seems that there is hardly ever a good time to take a server offline for maintenance. Thankfully, Microsoft has created a System Center Virtual Machine Manager feature that can help administrators when they need to schedule host or VM service down time. The feature is called a servicing window.
Unfortunately, servicing windows won't make the problem of there never being a good time to take a server offline magically go away. It will however, allow administrators to set realistic expectations as to when servers will and will not be available.
Servicing windows in SCVMM can be thought of as being similar to a calendar entry which tells everyone that a particular resource is going to be unavailable at a specific time. Even so, there is one thing which makes a servicing window different from a generic calendar entry. A servicing window behaves like an object that can be associated with other objects. In other words, multiple VMs or virtualization hosts can share a common servicing window. The advantage to this approach is that servicing window sharing keeps an administrator from having to create and manage large numbers of individual VM service windows. Instead, multiple hosts or VMs can be tied to a common servicing window. If the servicing window needs to be adjusted, then it can be adjusted in one place and the change will apply to all of the servers that share the servicing window.
Create a servicing window
To create a servicing window in SCVMM 2012 R2, open the SCVMM Console and select the Settings workspace. Next, make sure the Home tab is selected at the top of the console window, and then click on the Create Servicing Window icon found on the toolbar. This will cause SCVMM to display the New Servicing Window dialog box, shown in Figure A.
As you can see in the figure above, defining a servicing window is a relatively easy process. First, you will need to enter a name for the servicing window you are creating. It is a good idea to use a descriptive name if possible. The interface also provides a Description field that you can use to enter additional details about the servicing window and its intended purpose.
The next thing that you will need to do is to specify a category. The only category that is defined by default is Normal, but you can easily create your own categories by typing a new category name into the Category field. For example, you might create a Patch Management category or a Database Maintenance category.
The remaining fields allow you to specify the start time, duration and frequency of the servicing window. For instance, you might create a two-hour window that occurs every Saturday at 9:00 a.m.
Once created, servicing windows can be applied to host servers and VMs. To apply a servicing window to a host server, go to the VMs and Services workspace, right click on a host server, and choose the Properties command from the shortcut menu. When the host's properties sheet appears, select the Servicing Windows tab, shown in Figure B. You can now click the Manage button and associate one or more servicing windows with the host.
Using PowerShell and servicing windows together
Applying a servicing window to a VM works similarly to applying a servicing window to a host. Simply right click on a VM, and choose the Properties command from the shortcut menu. When the VM's properties sheet appears, click the Manage button and add the servicing window of your choice. It is worth noting that multiple servicing windows can be added to a single host or VM.
So what happens when a host or VM service window opens? In a word, nothing. Servicing windows are a nondisruptive feature. SCVMM isn't going to force a host server into maintenance mode simply because it is time for its servicing window.
Host and VM service windows make it easier to schedule maintenance and perform bulk VM maintenance. Imagine for a moment there was a certain task that needed to be performed on all VMs during a service window. You could easily create a PowerShell script that determines which VMs fall into the specified servicing window, and performs the required task.
Servicing windows are often overlooked because they don't do a lot by themselves. When combined with PowerShell however, servicing windows can be a powerful tool for performing bulk VM maintenance on a scheduled basis.
Guidelines for VM patch management
Explaining why VM updates are so important
How to manage patches in a complex virtual environment