Working with the Windows Server 2003 Volume Shadow Copy Service
Although I always believed that Windows 2000 Server was a good operating system, I always felt like a few things were missing from it. Take the recycle bin for example. The Recycle Bin was first introduced in Windows 95, and was included in Windows 2000 as well. The problem was that it only worked locally. For example, if an administrator was sitting at the server console and accidentally deleted a file, they could easily go into the recycle bin and get it back. However, if that same administrator was at their workstation accessing the server remotely and accidentally deleted the same file, it would be gone forever. Because the file was deleted from across the network rather than locally, the file would not be placed into the Recycle Bin.
The good news is that Microsoft has remedied this problem in Windows Server 2003. The bad news is that recovering a file that was accidentally deleted from across the network isn’t quite as simple as opening the Recycle Bin. Instead, the process is controlled through the Volume Shadow Copy Service (VSS).
What is the Volume Shadow Copy Service?
The Volume Shadow Copy Service is more of a convenience feature rather than an alternative to backups. The reason for this is that shadow copy data resides on the same volume as the original data. Therefore, if the volume became corrupt then there would be no way or restoring shadow copy backups. You would have to rely on a traditional tape backup instead.
Another limitation to shadow copy backups is that they only work if Windows is functional. For example, if Windows crashed due to a corrupt registry then Windows would not be functional. You would therefore have to restore Windows from a traditional backup rather than from a shadow copy backup.
Still another limitation is that shadow copy backups are designed to restore one file at a time. Because of this, shadow copy backups are not suitable for restoring large numbers of files.
These limitations do not mean that shadow copy backups are useless though. On the contrary. If a user needs to revert to a previous version of a file then a shadow copy backup will allow them to restore a previous version without involving you. You don’t have to configure a restore operation, you don’t have to mount a tape, you don’t have to do anything at all.
Enabling Volume Shadow Copy
All of the VSS configuration options are accessible through Windows’ Disk Management Console. You can access the Disk Management Console by entering the DISKMGMT.MSC command at the Run prompt. When the Disk Management console opens, you must verify that the volume that you plan on running VSS on is formatted as NTFS. If the volume is currently formatted as FAT or as FAT-32, you can enter the command CONVERT C: /FS:NTFS at the Run prompt, where C: is the drive letter assigned to the volume that you want to convert. Keep in mind that converting a volume to NTFS is a one way operation and the volume can not be converted back to FAT or FAT-32 without reformatting.
Now that the hard disk has been prepared, it’s time to enable VSS. To do so, right click on the volume that you wish to enable VSS for and select the Properties command from the resulting shortcut menu. Keep in mind that VSS can only be enabled at the volume level. You can not control VSS at the disk level or at the folder or share level. At this point, you should see the volume’s properties sheet appear. Select the properties sheet’s Shadow Copies tab and you will be able to see which, if any, of the volumes currently have Shadow Copy enabled, as shown in Figure A.
Figure A: You can use the Shadow Copies tab of the volume’s properties sheet to see where shadow copy has been enabled
You could just click the Enable button to enable shadow copies on the selected volume, but I recommend clicking Settings instead. This allows you to configure the shadow copy behavior. As you can see in Figure B, Windows automatically limits the amount of space that can be consumed by shadow copies (although shadow copies require 100 MB minimum). You can tell Windows not to limit the space though. I recommend not limiting VSS because with enough free disk space, VSS can maintain up to 64 versions of each file. Besides, as disk space starts to run low, Windows will automatically delete older shadow copies to make room for new data.
Figure B: Windows automatically limits shadow copy’s disk space consumption
Another feature of the Settings dialog box is the schedule. By default, Windows schedules shadow copies to be made twice a day. You can set the schedule to make shadow copies of your data as often as you like provided that you don’t schedule shadow copies to be made more than once an hour. Although Windows won’t stop you from creating shadow copies more often than once an hour, doing so really hurts the server’s performance and runs the risk of making incomplete shadow copies.
When you are done setting up the configuration options, just click OK and then click Enable to enable VSS on the selected volume. Click OK to close the volume’s properties sheet.
Shadow Copy Clients
Enabling VSS is only half of the battle. The other thing that you must do is to configure your workstations so that they can access the shadow copy files. To do so, you must create a network share on your server that allows clients to access the server’s %SYSTEMROOT%\TWCLIENT\X86 folder.
Once the location has been shared, go to a client machine and run the TWCLI32.MSI program found in this folder. Running this file launches the Previous Version Client Setup wizard. The wizard is completely automated and doesn’t require you to do anything other than click Finish when installation completes.
Now suppose that a user needed to restore a previous version of a file. To do so, they would need to right click on the file and select the Properties command from the resulting shortcut menu. When the file’s properties sheet appears, the user must select the Previous Versions tab to reveal any previous versions of the file that may exist. Keep in mind that previous versions arte not automatically created every time that the file changes, but rather every time that a scheduled (or manual) shadow copy runs and detects a version change. If there are previous versions available, they will be displayed as shown in Figure C.
Figure C: This is how a user would restore a previous version of a file
To make the restoration, a user needs only to select the previous version and click Restore. The restored version will be in Read Only format though. The Read Only attribute is assigned as a way of protecting the file against unwanted changes. However, a user is free to remove this attribute (assuming that they have permissions) or to make a read / write copy of the file.
As you can see, VSS is not an alternative to a normal, nightly backup of the system. It is however a handy way to allow users to restore accidentally deleted or modified files without involving you.