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

 
alt

Daniel Nashed

 

Restic – Command Line Tool supporting Windows VSS

Daniel Nashed  23 November 2022 20:48:54

Image:Restic – Command Line Tool supporting Windows VSS


Now that Domino 12.0.2 is has a native VSS Writer, we can look into new interesting integrations.

In my session at SUTOL conference this week, I showed a first version of a Restic integration for Domino 12.0.2 via VSS.


Restic is a very interesting application (
https://restic.net)
  • It's a single binary written in GO
  • And uses a approach like Borg Backup uses. But in contrast to Borg Backup it has full Windows support.
  • This includes  VSS Writer + AutoRecovery support!
  • It is Open Source, efficient, flexible & secure.
  • And very simple to setup & use!

Here are the two commands to backup your Domino server with Restic:



restic.exe init   -r c:\backup
restic.exe backup -r c:\backup e:\notesdata --use-fs-snapshot


The first command creates a backup repository.  The backup repository can be a local disk, a SFTP/SSH target or a S3 drive.
And in combination with rclone there are more options available. But let's stay with this simple file storage location for now.

The second command takes a snapshot of your Domino data disk and stores it as a new backup snapshot in the newly created repository.
In my simple example I don't have any excludes and usually you store FT index, NIF outside the Domino directory. But you can also specify excludes.

The application is pretty fast and provides deduplication and compression.
When you run it again is even dramatically faster, because most of the data is only read and not written to the local or remote location.



Linux support


Sadly I have not found a way to use it properly with Linux, because I would need to take a snapshot for every NSF separately.
There isn't a way to send files step by step to Restic. It always takes a single run. Even feeding it with files via STDIN waits for all files read, before it starts processing.


I will check with the project on GitHub, if there is a way we could use or if there will be something in future.
Today it would only work in combination with ZFS which can provide a snapshot for backup.

But if ZFS is in place, we can directly leverage ZFS storage snapshots and send them encrypted to a remote location.

Still even in that combination, Restic could be a good solution for Linux, too.



Windows support


On the other side the Windows support with VSS Writer support and AutoRecovery is awesome!

You don't need any integration on the Domino 12.0.2 side and it will automagically work, when you start the backupvss servertask.

The task registers the VSS Writer and when you launch a Ristic backup, the Domino server is performing all the operations automatically.



Restore operations


I have a Windows batch file already to restore. It calls Restic to find the backup tag file to identify the right backup in the first step.

Once found via the "restic find" command, a "restic dump" command is used to write the mydb.nsf.DAD file into the right location.


The integration is not yet available on GitHub. But if someone wants to try it out, let me know.
I would be also interested to hear if someone is already using Restic for Domino or other applications.


Backup for a local desktop environment


It sounds like it will be at least one of my options to backup my environment.
And it can be also a great option for a local development server on a desktop.

Maybe I am bit crazy. I mentioned in my SUTOL session, it might be even possible to run it on a 64bit client.

The VSS Writer interface is only available as a 64bit API. So it could only run in the 64bit client.

Totally unsupported. But I copied nbackup.exe, nrestore.exe, nbackupvss.exe and dominobackup.ntf to my 64bit Notes client and the backup just works ;-)



Links

    Archives


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