VSS Shadow Copy and Samba

Have questions about Backup4all, or having problems using it? Ask here for help.
Post Reply
GaryML
Posts: 10
Joined: Thu Apr 30, 2020 8:34 pm

VSS Shadow Copy and Samba

Post by GaryML »

Hi,

Before I ask my question here is some context. I wish to run a home office style file server and 'home lab' using Ubuntu Server 20.4, on this I'll have a Windows Server 2019 or/and Windows 10 Pro as guest VM(s) . The file server will contain snapshots and samba shares for the PCs/devices on the small network to use, it will also contain the backup solution (funny enough Backup4All based) running on a Windows VM. The PCs will contain no active data and only software, cache and config, all documents/data will be on the file server. It will take local backups to a few places, external HDD that will be physically moved offsite and to cloud storage for more critical data. If there is a better way to do this in general, please PM me, rather than taking the post off topic, please.

First thing I wish to check, I'm using a i7 7700K with 32GB on Windows 10 Pro, with no encryption and compression set to low I'm getting about 30MB/s read speeds. Before buying hardware for a server I'm using a NUC i7 8th Gen and 32GB for Ubuntu server and running as a VM guest Windows Server 2019 with 3 logical cores and 8GB RAM assigned, running over Samba shares for source and destination from the host machine (different storage pools). I'm getting 20MB/s during backup, sequential reads on the enterprise HDDs used can hit about 240MB/s. The windows 10 physical machine and the Ubuntu host machine are running off of NVMe SSDs and the guest Windows Server is on a SATA SSD. Do these types of speeds appear normal, what might be the bottleneck?

Due to the time taken to do full copies of data (a few days rather than hours), and one user potentially being nocturnal using snapshots is essential. Backup4All uses shadow copies really nicely on local drives, but I'm struggling to configure Samba to allow VSS create requests through to the host machine, this is possible but I'm struggling (problem with the way I've set up active directory and snapshots using snapper, which is off topic, needless to say it's a 'me issue' as I can't get Diskshadow.exe working on it, so I'm falling before even hitting Backup4All).

Given I do manage to sort out my issue and allow VSS creation requests through Samba, will this actually work with Backup4All?

I hack workaround (which needs some work and a lot of finessing), would be for me to schedule the host Ubuntu machine to create, mount and share a snapshot just for the windows server 2019 guest and create a file in another share containing the date it was created and the name of the snapshot underneath (share name will always be the same). In Backup4All run a pre backup command/script that checks that file is less than 24 hours old and doesn't contain 'complete' (i.e. new); emails me if it isn't true and cans the backup; or ideally writes to file saying 'processing' continues with the backup from the shared snapshot. Then have a post backup script to edit the file saying backup 'complete'. The Ubuntu Server can check that file every hour or so, if it is not 'processing' and older than 23 hours replace the snapshot, if it is processing leave alone. Note the timings and exact process can be honed. Does this sound sensible or is there an easier way?

Thanks,
Best Regards, Gary

GaryML
Posts: 10
Joined: Thu Apr 30, 2020 8:34 pm

Re: VSS Shadow Copy and Samba

Post by GaryML »

Hi All,

I'm still not sure if Backup4all will work with VSS over Samba.

However for those that are looking at doing something simlar to me (backing up from a Linux based file server). This appears to be more than possible, I've used ZFS and it's native snapshot system. Created a bash script to create a snapshot purely for back ups, mount it in a directory that is inside a read only samba share. Use Putty on Windows using a private key auth using OpenSSH and restricted commands to call the bash shell script and use -m switch to pass in arguments for the name of the snapshot etc. Wrap the putty call in a bat file and run that from the pre-command. post-command can then be used to remove the mount and snapshot. Although I've not written it yet I would asume it will be quite straightforward to stop two backup jobs trying to use/create the same mount and snapshot, but would always recommend (using the -m to pass a parameter stored in a file through) using different snapshots for different jobs.

Regarding performance, this seems to be CPU related and has nothing to do with the share, so I'll open a different thread for that.

Thanks,
Best Regards, Gary

Post Reply