Domino on Linux/Unix, Troubleshooting, Best Practices, Tips and more ...


Daniel Nashed

Volume Shadow Copy (VSS) for Backup and Updates

Daniel Nashed – 30 April 2020 21:48:55

As you might now, I am working on a backup solution for Domino.
Snapshot backup is the master class for backup. And many modern backup solutions support snapshot backup.

Not all implementations work as we would expect. Some use VSS on Windows or Linux to take a snapshot of the data to buy time to backup the snapshot later on.
Other software leverages ESXi storage API which generates a underlying VM snapshot. And this also takes time and has impact on machine performance.

And both types of snapshots need the application to play an active role and bring databases into consistent state.

For VSS the application needs to register as a VSS writer and bring the application into a consistent state.
Domino doesn't support VSS (or file-system snapshots on Linux) and needs it's to leverage the Domino Backup API to bring databases into consistent mode.
My backup solution brings all databases into backup mode at the same time to initiate a snapshot afterwards.

Using a snapshot, the database still needs the backup API to restore a database - even no delta was recorded during the very short time between:

a.) bringing all databases, b.) taking the snapshot and c.) bringing all databases back on-line

I am leveraging VSS to create a snapshot after bringing all databases into backup mode via the Domino backup API.

But without any backup solution, you could still stop the server for a very short time, leverage snapshot solution to take a backup and bring the server back on-line.
To leverage VSS to create a snapshot Microsoft introduced the diskshadow tool, which is available on Windows servers only (not on a Windows 10 workstation).

This could be even a very convenient way also to take a snapshot before updating your Domino server.

Below you find the txt files and command files used for diskshadow I am using in a similar way for snapshots in Domino!Backup.

-- Daniel

-- backup_start.txt --

set context persistent nowriters  
set metadata c:\backup\
set verbose on
begin backup
add volume d: alias backup_d
expose %backup_d% b:

-- backup_stop.txt --

end backup
delete shadows volume d:

-- command to start backup and expose the snapshot to a new drive letter --

@echo off
diskshadow -s c:\backup\backup_start.txt
echo Snapshot created and exposed at B:

-- command to stop the backup and delete the meta data --

@echo off
diskshadow -s c:\backup\backup_stop.txt
del c:\backup\
echo Snapshot removed



    • [HCL Domino]
    • [Domino on Linux]
    • [Nash!Com]
    • [Daniel Nashed]