Skip to content

using snapper with samba and vfs_snapper #917

@stefangweichinger

Description

@stefangweichinger

I try to set up snapper for providing snapshots to be used with the samba vfs_snapper module ( https://www.samba.org/samba/docs/current/man-html/vfs_snapper.8.html )

The server is a debian-12.5 box, using snapper-0.10.4

I have these btrfs-subvolumes related to the samba-share:

# btrfs su li .
ID 256 gen 3051 top level 5 path samba
ID 257 gen 3858 top level 256 path samba/daten
ID 475 gen 3859 top level 257 path .snapshots
ID 476 gen 3859 top level 475 path .snapshots/1/snapshot

# mount
/dev/sda on /mnt/pool1/samba type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=256,subvol=/samba)

# smb.conf share
[Daten]
comment = Samba Daten
path = /mnt/pool1/samba/daten
#veto files = ./.snapshots
vfs objects = acl_xattr snapper
writable = yes
browseable = yes

The snapper-config contains:

SUBVOLUME="/mnt/pool1/samba/daten"
FSTYPE="btrfs"

# users and groups allowed to work with config
ALLOW_USERS=sgw
ALLOW_GROUPS=domain\ admins domain\ users root

# sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots
# directory
SYNC_ACL="yes"

snapper creates snapshots but:

  • warnings in log:
2024-06-19 14:14:42 MIL libsnapper(253871) snapperd.cc(main):283 - Requesting DBus name
2024-06-19 14:14:42 MIL libsnapper(253871) snapperd.cc(main):298 - Loading snapper configs
2024-06-19 14:14:42 MIL libsnapper(253871) Snapper.cc(getConfigs):299 - Snapper get-configs
2024-06-19 14:14:42 MIL libsnapper(253871) Snapper.cc(getConfigs):300 - libsnapper version 0.10.4
2024-06-19 14:14:42 MIL libsnapper(253871) AsciiFile.cc(reload):922 - loading file /etc/default/snapper
2024-06-19 14:14:42 MIL libsnapper(253871) AsciiFile.cc(get_value):1078 - key:SNAPPER_CONFIGS value:samba_daten
2024-06-19 14:14:42 MIL libsnapper(253871) AsciiFile.cc(reload):922 - loading file /etc/snapper/configs/samba_daten
2024-06-19 14:14:42 MIL libsnapper(253871) AsciiFile.cc(get_value):1078 - key:SUBVOLUME value:/mnt/pool1/samba/daten
2024-06-19 14:14:42 MIL libsnapper(253871) snapperd.cc(main):311 - Listening for method calls and signals
2024-06-19 14:14:42 MIL libsnapper(253871) Snapper.cc(Snapper):95 - Snapper constructor
2024-06-19 14:14:42 MIL libsnapper(253871) Snapper.cc(Snapper):96 - libsnapper version 0.10.4
2024-06-19 14:14:42 MIL libsnapper(253871) Snapper.cc(Snapper):97 - config_name:samba_daten disable_filters:false
2024-06-19 14:14:42 MIL libsnapper(253871) AsciiFile.cc(reload):922 - loading file /etc/snapper/configs/samba_daten
2024-06-19 14:14:42 MIL libsnapper(253871) AsciiFile.cc(get_value):1078 - key:SUBVOLUME value:/mnt/pool1/samba/daten
2024-06-19 14:14:42 MIL libsnapper(253871) AsciiFile.cc(get_value):1078 - key:FSTYPE value:btrfs
2024-06-19 14:14:42 MIL libsnapper(253871) AsciiFile.cc(get_value):1078 - key:QGROUP value:
2024-06-19 14:14:42 MIL libsnapper(253871) AsciiFile.cc(get_value):1078 - key:SYNC_ACL value:yes
2024-06-19 14:14:42 MIL libsnapper(253871) Snapper.cc(Snapper):130 - subvolume:/mnt/pool1/samba/daten filesystem:btrfs
2024-06-19 14:14:42 MIL libsnapper(253871) Snapper.cc(loadIgnorePatterns):204 - number of ignore patterns:8
2024-06-19 14:14:42 MIL libsnapper(253871) Snapshot.cc(read):288 - found 2 snapshots
2024-06-19 14:14:42 WAR libsnapper(253871) FileUtils.cc(SDir):91 - THROW: open failed path:/mnt/pool1/samba/daten/.snapshots/2 errno:2 (No such file or directory)
2024-06-19 14:14:42 WAR libsnapper(253871) Btrfs.cc(checkSnapshot):482 - CAUGHT: open failed path:/mnt/pool1/samba/daten/.snapshots/2 errno:2 (No such file or directory)
2024-06-19 14:14:46 WAR libsnapper(253871) FileUtils.cc(SDir):66 - THROW: open failed path:/usr/lib/snapper/plugins errno:2 (No such file or directory)
2024-06-19 14:14:46 WAR libsnapper(253871) Hooks.cc(run_scripts):64 - CAUGHT: open failed path:/usr/lib/snapper/plugins errno:2 (No such file or directory)

why does it warn?

  • to me it seems that no ACLs are applied:
# /mnt/pool1/samba/daten/.snapshots# ls -la
total 8
drwxr-x---+ 1 root   root           4 Jun 19 14:14 .
drwxrwx---  1 nobody domain users 478 Apr 15 08:01 ..
drwxr-xr-x  1 root   root          32 Jun 19 14:01 1
drwxr-xr-x  1 root   root          32 Jun 19 14:14 2

In windows there are no "previous versions" shown. I assume this is related to the ACLs/permissions ... so I would like to know why snapper doesn't apply them or what I can do to allow this.

I know this crosses multiple layers, I already asked on the samba-ML as well.
Thanks for any help ... thanks for your work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions