クライアントでWindowsエクスプローラー機能の「以前のバージョン」を機能させるために、Fedora22で実行されているsamba4.2でvfs_shadow2モジュールを実装しようとしています。
共有された「フォルダー」は実際にはBtrfsサブボリュームであり、SELinuxが有効になっており、適切なコンテキストが設定されており、ユーザーは期待どおりに共有を閲覧、読み取り、書き込みできます。また、共有の直接の子として2つのスナップショットを作成し、@ GMT-YYYY.MM.DD-hh.mm.ssのように名前を付けました(vfs_shadow_copyドキュメント[1]に記載されています)。
そのシェアに関する私のsmb.confは
[btrfs]
comment = btrfs storagepool with subfolders, subvolumes and snapshots
path = /srv/btrfs/subvol01
vfs objects = shadow_copy2
browseable = yes
valid users = testuser
それでも、Windowsクライアント(Win 8.1 Professional x64)に接続してファイルを以前のバージョンに復元しようとすると、以前のバージョンが見つからなかったというヒントしか得られません。
何が足りないのですか?インストールする必要があるのは追加のRPMパッケージですか(名前にvfsのsambaを含むすべてのものをすでにインストールしていますが)?どんな助けでも大歓迎です。ありがとうございました。
敬具!
[1] https://www.samba.org/samba/docs/man/manpages/vfs_shadow_copy2.8.html
このアーティケルを使用して解決: [GUIDE] Windowsの以前のバージョンとSamba(Btrfs-Atomic COW-ボリュームシャドウコピー)
1)BTRFSサブボリュームを作成します
mount /dev/sda5 /mnt #your BTRFS partition
btrfs subvolume create /mnt/share
brtfs subvolume create /mnt/share/.snapshots
umount /mnt
2)fstabを編集します(またはそれに応じて手動でマウントします)
UUID={uuid_of_btrfs_partition} /share brtfs subvol=share 0 0
UUID={uuid_of_btrfs_partition} /share/.snapshots btrfs subvol=share/.snapshots 0 0
3)Samba共有を作成します
[btrfs]
path = /share
vfs objects = shadow_copy2
shadow:format = @GMT_%Y.%m.%d-%H.%M.%S
shadow:sort = desc
shadow:snapdir = .snapshots
4)読み取り専用スナップショットを作成します
brtfs subvolume snapshot -r /share /share/.snapshots/@GMT_`date +%Y.%m.%d-%H.%M.%S`
5)スナップショットを削除する方法
btrfs subvolume delete /share/.snapshots/@GMT_2015.07.31-14.01.20