Snapshotting is a great idea but it's not built in, since the underlying
commands and approaches vary so much between different OSes and filesystems.

Several users have developed scripts that do snapshots, which are
especially beneficial on windoze given the prevalence of enforced file
locking.  It sounds like you have discovered some of those already.

Generally the approach is to use $Conf{DumpPreShareCmd} to set up the
snapshot, and $Conf{DumpPostShareCmd} to clean up.

One recent addition which should be helpful is $Conf{ClientShareName2Path}
which allows you to map the share name to the real path (in this case, the
snapshot path).  There is, however, an open issue that I haven't addressed
yet which is that it also is applied during restore, which doesn't seem
like the right thing to do.

Craig

On Fri, Oct 2, 2020 at 3:04 PM PGNet Dev <pgnet....@gmail.com> wrote:

> Within the scope of a single backup I've a mix of live data sources.
>
> For a live data source, e.g. /src/data1, that resides on a dedicated LV,
>
>         mount | grep vmail
>                 /dev/mapper/VG0-LV_DATA1 on /src/data1 type ext4
> (rw,relatime,dax=never)
>
> I'd like to snapshot the volume prior to backup of the entire volume with
> BackupPC
>
> Reading online, I've found some old efforts -- script based -- on the ML,
> etc. afaict, they've not been carried over to v4 (yet? at all?).
>
> With v4, I see in config.pl _mention_ of snapshot
>
>         Optional commands to run before and after dumps and restores,
>         and also before and after each share of a dump.
>         ...
>         One example of using these commands would be to
>         shut down and restart a database server, dump a database
>         to files for backup, or doing a snapshot of a share prior
>         to a backup.
>
> in reference to (e.g.),
>
>         $Conf{DumpPreUserCmd} = '$sshPath -q -x -l root $host
> /usr/bin/dumpMysql';
>
> What level of LV snapshotting integration exists with v4, or planned work?
>
> Is there any?
>
> Or, does the `lvcreate -s (snapshot) ... etc etc` need to be externally
> managed, and passed completely as an argument to $Conf{DumpPreUserCmd} ?
>
> To my per-PC config,
>
>         /etc/BackupPC/pc/localhost.pl
>
> I've added
>
>         $Conf{RsyncArgsExtra} = [ '--one-file-system', ];
>
> as well as (initially) a list of shares' LV mount points, e.g.
>
>         $Conf{RsyncShareName} = [
>                 '/src/data1',
>                 '/src/data2',
>                 ...
>                 '/src/dataN',
>         ];
>
> If snapshot 'integration' is limited, and I have to manage each target
> share's snapshotting separately ...
> ... it's certainly DO-able, but messy.
>
> Ideally, I'd _like_ to -- similar to rsnapshot's approach -- specify a
> per-share target type, differentiating between 'filesystem direct' and
> 'snapshot'.  Something like,
>
>         $Conf{RsyncShareName} = [
>                 'lvm://dev/VG0/LV_DATA1, bkup_root:/,
> mount_name:src/data1',
>                 'lvm://dev/VG0/LV_DATA2, root:/some/path,
> mount_name:src/data2',
>                 ...
>                 'lvm://dev/VG0/LV_DATAN, mountpt:src/dataN',
>                 '/usr/local/some/path1',
>                 '/usr/local/some/path2',
>         ];
>
> wherein for 'lvm://'
>
>         - a snapshot (e.g., 'snap-LV_DATA1') is created in the parent VG,
> /dev/VG0
>         - BackupPC mounts /dev/VG0/snap-LV_DATA1 to
> /config'd/tmp-mount/path/BackupPC-snap
>         - BackupPC rsyncs /config'd/tmp-mount/path/BackupPC-snap/ ->
> $TOPDIR/'mount_name'/
>         - on ok backup, snapshot's destroyed
>         - next share ...
>
> So, is this currently doable/planned in BackupPCv4+?
>
> If it's there, I've missed it.
>
> If it's not, it'd be quite useful to have in a well-thoughtout, integrated
> feature -- rather than YA-DIY script.
>
>
>
> _______________________________________________
> BackupPC-users mailing list
> BackupPC-users@lists.sourceforge.net
> List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
> Wiki:    https://github.com/backuppc/backuppc/wiki
> Project: https://backuppc.github.io/backuppc/
>
_______________________________________________
BackupPC-users mailing list
BackupPC-users@lists.sourceforge.net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    https://github.com/backuppc/backuppc/wiki
Project: https://backuppc.github.io/backuppc/

Reply via email to