Skip to main content
Pure Technical Services

Troubleshooting the Volume Shadow Copy Service (VSS)

Currently viewing public documentation. Please login to access the full scope of documentation.

KP_Ext_Announcement.png

What is VSS?

VSS (Volume Shadow Copy Service) is a Microsoft Technology that allows taking manual or automatic backup copies or snapshots of computer files or volumes, even when they are in use. It is implemented as a Windows service called the Volume Shadow Copy service.

VSS operates at the block level of the file system.

Snapshots have two primary purposes: they allow the creation of consistent backups of a volume, ensuring that the contents cannot change while the backup is being made; and they avoid problems with file locking. By creating a read-only copy of the volume, backup programs are able to access every file without interfering with other programs writing to those same files.

What is a VSS Provider?

The data copy process can be handled by the file system or by specialized hardware; in the latter case a hardware VSS provider abstracts the functionality to the operating system. Applications can provide specific support for VSS through VSS writers which control how data is set to a consistent state at the beginning of a VSS operation and maintain that consistency throughout the process, among other functions.

Through the integration between the Volume Shadow Copy Service, hardware or software VSS providers, application level writers and backup applications, VSS enables integral backups that are point in time and application level consistent without the backup tool having knowledge about the internals of each application. For example, in a virtualization product such as Virtual Server 2005 R2 SP1 or Hyper-V in Windows Server 2008, a whole backup of an environment including several virtual machines can be created in a single operation, and the backups produced for the different VSS compatible guests in the system are transactionally consistent at the guest application level and point in time consistent among the different VMs, without the need for the guests to have backup agents installed. Windows software and services that support VSS include Windows BackupHyper-VVirtual ServerActive DirectorySQL ServerExchange Server, and SharePoint.

Enter the Pure Storage FlashArray VSS Hardware Provider

The Pure Storage VSS extension allows users to take volume snapshots while applications continue writing to the FlashArrays.Once taken, the snapshots are saved to the Pure Storage FlashArray. Note: The VSS hardware provider provides a REST API between the third party backup application and the Purity array. For more information about the REST API, refer to the Pure Storage REST API Guide. To use the VSS extension, you must install the Pure Storage VSS hardware provider on the Windows host machine (also known as initiator).

Release Information

What is the current released version of Pure Storage VSS Provider?

See our Volume Shadow Copy Service (VSS) Hardware Provider page for information on the latest release.

Which version of RestAPI is supported by the current released version of Pure Storage VSS Provider?

Pure Storage VSS Provider version 1.0.0 and version 1.0.1 supports FlashArrays with REST API 1.1. Any FlashArray that supports REST 1.1 will work just fine with this provider. For example, 3.4.3, 4.0.x, 4.1.x...etc.

NOTE: For Purity version 4.1.1 and 4.1.2 you MUST use VSS 1.0.1 as VSS 1.0.0 will NOT WORK! Please see below for more details...

VSS 1.0.1 should work with all versions of Purity starting with 3.4.3+

Release Compatibility

  • This release supports Windows Server 2012, 2012 R2, 2016, and 2019.
  • This release does not support Windows Server 2008 R2 or Windows Server 2008. Installations are allowed, but not currently supported.

How to Verify that You Have Pure Storage VSS Provider Installed

  • Check that it shows under Add/Remove Programs Control Panel
    vss_arp.png
  • Check Registry. Provider installs the following key: HKEY_LOCAL_MACHINE\SOFTWARE\PureStorage\VSS\Provider 
    2020-09-17_13-45-41.png
  • From a command window (console window). Run the following command:
  • vssadmin list providers
  • Result should contain something like this:
    Provider name: 'Pure Storage VSS Hardware Provider (64-bit)'
     Provider type: Hardware
     Provider Id: {781c006a-5829-4a25-81e3-d5e43bd005ab}
     Version: 1.7.0

Verifying the User Privileges

Verify that you have Pure Storage system administrator rights to install the VSS hardware provider on the Windows host machine.

Verifying VSS Provider Service is Running

To verify that our VSS provider is up and running, so it can create snapshots, run Services MMC (services.msc from console window) and look for Pure VSS Provider service. When you click on it, you can verify if the service is currently started or stopped. Here is an example sceenshot of our VSS provider in stopped state:

2020-09-17_13-43-43.png  

To start the provide, simply click Start button.

Unattended Install / Uninstall

VSS Installer can be run silently without showing any UI or prompting the user. You must run the installer as administrator to avoid a case where Windows UAC my prompt the user for permissions to run, which can block script execution.

To run installer in silent mode, simply add /s to the installer command-line:

PureVSSInstaller.exe /s

Similarly, we can perform silent uninstall:

PureVSSInstaller.exe /x /s

This will use the default install location, which is %ProgramFiles%\Pure\VSS\Provider

Known Issues

Creating a Pure Storage VSS Hardware Provider snapshot on Windows 2008 generates multiple warning events.

When the Pure Storage VSS Hardware Provider successfully creates a snapshot, the process generates multiple warning events in the Windows Log - Application view of the Windows Server 2008 Event Viewer.

Here is a sample of the details that appear in the warning event:

Volume Shadow Copy Warning: The provider has reported a storage identifier that is not supported by VSS. Codeset:1, Type:4, Size:4, NextOffset:24, Association:1

This identifier will be skipped by VSS.

The warning events, which only occur on Windows Server 2008, are not related to the Pure Storage VSS Hardware Provider and can be ignored. Refer to the following Microsoft KB support article for more information: http://support.microsoft.com/kb/951793

Workaround: No workaround available.

  • Reinstalling the Pure Storage VSS Hardware Provider may fail. If you uninstall and then reinstall the Pure Storage VSS Hardware Provider, and the installer hangs or an error message pop-up window appears, reboot the system and then perform the installation again.
  • This release does not support the replication of snapshots created by the VSS Hardware Provider.
  • VSS 1.0.0 will fail to connect / authenticate with Purity version 4.1.1 and 4.1.2

4.1.1 and 4.1.2 of Purity have introduced REST API change that requires userAgent as part of the REST call, which prevents VSS 1.0.0 from connecting and/or authenticating with these versions. As a result, you cannot use VSS 1.0.0 with either of these two versions. You will need to download and use VSS 1.0.1 instead.


Importing Snapshots

Importing a snapshot set requires valid connections from the hosts to the Pure FlashArray. In VSS HW provider 1.1 and below this operation may seem to succeed, but starting in VSS HW provider 1.6 this operation will fail as intended.

Troubleshooting

Locating Log Files

 Log files are located under:

%PROGRAMDATA%\PureStorage\

 Provider service log files:

  • PureVSSHardwareProvider.log

Collecting Verbose Logging Info

Before collecting the log files, make sure to turn the verbosity level high (recommended level 4 for troubleshooting).

Valid log levels are 0 through 4 where 0 means errors only and 4 is verbose (tracing)

How to Change Log Levels?

Run the following command from the console window:

PureProviderConfig.exe log --enable --loglevel 4

The output will be something like the following:

Log Enabled
Log Level: 4 [TRACE]

Listing FlashArrays registered with VSS Provider

For the VSS Provider to function properly and start creating snapshots, it requires at least one FlashArray to be registered with it. To list all registered FlashArrays, run the following command:

PureProviderConfig.exe list

The output will be something like the following:

Array Name URL                         Compatible Online 
pure01     https://pure01.example.com/ yes        yes 
pure02     https://pure02.example.com/ yes        yes

If you have not registered any FlashArrays yet, you might get an error like this:

Error: FlashArray configuration not found in the Registry

 To register one or more FlashArrays, please consult the user guide for more details.

Verifying VSS Provider Can Take a Snapshot

Use the DISKSHADOW Windows tool (command-line tool) and run the following script:

reset 
set context persistent nowriters
set option transportable
set metadata c:\puretest.cab
set verbose on
begin backup
add volume T: alias myVolume
create
end backup

NOTES: Assuming T: is a volume mapped to your Windows initiator and is a PURE volume.