[Samba] Distributed Setup Suggestions
scott at scottgrizzard.com
Thu Jul 10 07:05:47 GMT 2008
What types of files are you trying to share?
If they are primarily small (under 100meg) files that you need
read/write access to (especially documents), you might want to adopt
some type of document management system like KnowledgeTree instead of
using Samba. I suggest this not only because you get document
management features, but KnowlegeTree works over http, and if you are
using webdav you already have an Apache infrastructure set up.
At my last job, we used Subversion for the same purpose: distributed
document management. However, using it for distributed document
management requires training the staff to use TortoiseSVN (and
disciplining them to use locks), and the Subversion experience is not
intuitive to the "non-developer". KnowlegeTree has a much more
intuitive flow for documents. However, Subversion can use WebDav as its
interface, so the transition may not be too rough.
Subversion is very traffic efficient (in my opinion). The latest
version of Subversion (1.5.x) allows you to mirror your repositories.
Since most of the traffic is of a "read nature", mirroring your
repositories will drastically reduce your WAN traffic. In fact, the
only traffic across your WAN (if I understand the technology correctly)
is the "diff" between the old document version and the new document
Because both of these solutions (Subversion and KnowlegeTree) work with
Apache, you can authenticate to them using your Windows user base
(either through mod_auth_kerb if you are using Active Directory or
another Kerberos), or through mod_authnz_ldap to your Samba PDC (if you
are using NT, there is also some way to authenticate to it, but I have
never used it). However, fine grained file permissions in Subversion
are a pain to set up and maintain, so if your ACL's run 40 lines each
and are different for every file, stick to something else.
If you do go with Subversion, I recommend using Insurrection as a
front-end to mod_dav_svn. Insurrection is very difficult to set up,
especially if you need SSL support for it. But the time is worth it,
since it gives a great user front-end for repo browsing. Throw in the
Firefox TortoiseSVN menu plug-in, and you are good to go.
If the files are large and primarily read-only, set up a master server
at one office, and mirror it to the other offices using rsync. Set up
the remote samba servers as read-only, and the problem is solved
efficiently. I don't know if rsync preserves ACL's, but I heard there
was a patch in the wild somewhere...
I was very pleased how the Subversion solution came out, but I never set
up remote mirrors for anything other than read-only backups. We added
Trac for project and issue management, and made the non-developer staff
use it. The working-copy thing was tough for them to get used to, but
the webdav access worked well for them.
I just think straight Samba servers may be the wrong tool for what you
are trying to do, though they may appear to be the simplest solution.
Bill Baird wrote:
> My company is approx 200 users. We have 10 offices each with 5-30 users
> each. A few offices work independently, but there has been a lot more
> inter-office work lately. I am looking for a way to provide fast local
> access to files stored in the same office as the user, but also acceptable
> performance for inter-office file transfers.
More information about the samba