Добрый день. Имеется сервер с дебианом
3.2.0-4-amd64 #1 SMP Debian 3.2.46-1+deb7u1 x86_64 GNU/Linux, Distributor ID: Debian
Description: Debian GNU/Linux 7.1 (wheezy)
Release: 7.1
Codename: wheezy
и самбой Version 3.6.6
aptitude show samba
Package: samba
State: installed
Automatically installed: no
Version: 2:3.6.6-6
Priority: optional
Section: net
Maintainer: Debian Samba Maintainers <pkg-samba-maint@lists.alioth.debian.org>
Architecture: amd64
Uncompressed Size: 23.9 M
Depends: samba-common (= 2:3.6.6-6), libwbclient0 (= 2:3.6.6-6), libacl1 (>= 2.2.51-8),
libattr1 (>= 1:2.4.46-8), libc6 (>= 2.10), libcap2 (>= 2.10), libcomerr2 (>= 1.01),
libcups2 (>= 1.4.0), libgssapi-krb5-2 (>= 1.10+dfsg~), libk5crypto3 (>= 1.6.dfsg.2),
libkrb5-3 (>= 1.10+dfsg~), libldap-2.4-2 (>= 2.4.7), libpam0g (>= 0.99.7.1), libpopt0
(>= 1.14), libtalloc2 (>= 2.0.4~git20101213), libtdb1 (>= 1.2.7+git20101214), zlib1g
(>= 1:1.1.4), debconf (>= 0.5) | debconf-2.0, libpam-runtime (>= 1.0.1-11),
libpam-modules, lsb-base (>= 3.2-13), procps, update-inetd, adduser
PreDepends: dpkg (>= 1.15.7.2)
Recommends: logrotate, tdb-tools
Suggests: openbsd-inetd | inet-superserver, smbldap-tools, ldb-tools, ctdb
Conflicts: samba4 (< 4.0.0~alpha6-2)
Replaces: samba-common (<= 2.0.5a-2)
.
Все это дело в домене AD (DC-Win2008R2). на самом файловом сервере диски для файлопомойки в 6м рейде(mdadm), сверху LVM2, дальше ext4 на логических томах. Короче, все стандартно. Возникла необходимость настроить Shadow Copy на самбе. Как я понял, это возможность поддерживается двумя модулями-shadow_copy, shadow_copy2. Первый вариант я сразу настроил, но проблема в том, что папку, куда монтируется снапшот надо держать на том же разделе, где и папка юзера лежит. Можно ее сделать скрытой(hide), но это не решение проблемы. А если в самбе настроить veto file на маску папки со снапшотом, то папка, конечно, не отображается, но и из менюшки на клиенте снапшот тоже пропадает.
А вот со вторым вариантом беда. Суть в том, что как бы я не старался lvm снапшот прикрутить, все равно клиент не видит его. И вроде опций в нем мало, а важных всего 2-папка со снапшотами и папка с которой снапшот делался.
Я сделал так:
ls -1 -d $(pwd)/*
/var/smb-share/Drawing-Trash
/var/smb-share/snap
/var/smb-share/Test
К Test примонтирован lvm том:
cat /proc/mounts
/dev/mapper/data-test /var/smb-share/Test ext4 rw,relatime,errors=remount-ro,user_xattr,barrier=1,stripe=256,data=ordered 0 0
В папке snap лежат папки с именем в стандартном формате ( @GMT-YYYY.MM.DD-hh.mm.ss ), к которым примонтированы lvm-снапшоты этого же тома:
ls -1 -d $(pwd)/*
/var/smb-share/snap/@GMT-2010.01.01-12.00.00
/dev/mapper/data-2010.01.01--12.00.00 /var/smb-share/snap/@GMT-2010.01.01-12.00.00 ext4 rw,relatime,user_xattr,barrier=1,stripe=256,data=ordered 0 0
В конфиге самбы сделал так:
....
path = /var/smb-share/Test
vfs object = recycle full_audit acl_xattr shadow_copy2
shadow:snapdir = /var/smb-share/snap
shadow:basedir = /var/smb-share/Test
shadow:sort = desc
....
Дальше я прочитал про баг самбы 3.6.9, в котором говорится, что путь к папке со снапшотом должен быть относительным, а не абсолютно(задан относительно basedir). День провел в подборе параметров basedir и snapdir. И basedir = /var/smb-share, и отоносильный и абсолютный пути для snapdir. Но не продвинулся не на шаг. В логах на эту тему тишина. Зато много историй успешного подключения shadow_copy2 для снапшотов с btrfs и с zfs. А для lvm2 даже в гугле не нашел. Но не нашел и опровержений. В случае с btrfs снапами, они также монтируются в папку. Но я не использовал никогда в продакшене btrfs и не знаю, чем их снапшот отличается после монтирования от lvm-снапшота.
В описании написано:
vfs_shadow_copy2 relies on a filesystem snapshot implementation. Many common filesystems have native support for this.
Filesystem snapshots must be mounted on specially named directories in order to be recognized by vfs_shadow_copy2. The snapshot mount points must be immediate children of a the directory being shared.
А для старой shadow_copy:
The shadow_copy VFS module requires some underlying file system setup with some sort of Logical Volume Manager (LVM) such as LVM1, LVM2, or EVMS. Setting up LVM is beyond the scope of this document; however, we will outline the steps we took to test this functionality for example purposes only. You need to make sure the LVM implementation you choose to deploy is ready for production. Make sure you do plenty of tests.
И вот мои вопросы:
1. Можно ли для shadow_copy сделать так, чтобы пользователь не видел папки со снапшотом у себя в директории?
2. Можно ли вообще приделать lvm2 снапшоты к shadow_copy2?
3. Если можно, то дайте пожалуйста конфиг или тыкните, где прочитать.
3. Если нельзя, то есть ли смысл в продакшене ставить специально для юзерских каталогов на lvm тома btrfs, чтобы получить требуемый функционал?В общем, нид хелп
