Clustered Samba for GFS2
Support for active-active samba sharing over GFS2 using CTDB.
- Name: Abhijith Das
- email: firstname.lastname@example.org
- Targeted release: Fedora 12
- Last updated: 7/20/2009
- Percentage of completion: 70%
With the availability of a clustered database (CTDB) for Samba, multiple instances of smbd across different nodes of a cluster are able to share state. It is now possible to share the same directory in a clustered GFS2 filesystem via Samba+CTDB from all the nodes of a cluster to facilitate Active/Active Samba sharing.
Benefit to Fedora
Active/Active sharing of Samba services was not possible over GFS2 (or any other clustered filesystem) on Fedora before this feature was implemented. With this it's possible now.
- fcntl posix locks performance: Improve upon gfs2's posix lock performance (single-node & clustered) as smbd uses them extensively when posix locking is turned on.
- Get CTDB and CTDB-supported Samba packages into F-12.
- Get Conga interface ready for manipulating the various config files (/etc/cluster/cluster.conf, /etc/sysconfig/ctdb, /etc/samba/smb.conf) through web-based GUI. (Alternative to hand-editing configs)
- Verify working of clustered-samba use cases and document respective configuration parameters.
This feature will not affect the operation of non-clustered samba setups or other gfs2-based setups. This feature will provide the capability to do clustered-samba-over-gfs2 that was not available before.
How To Test
1. smbtorture tests like RAW_BENCH_LOCK (posix locking = on), RAW_BENCH_OPEN, BENCH_NBENCH and the ctdb ping_pong test are to be run on a samba+ctdb+gfs2 cluster.
- Basic Configuration:
- Setup a cluster with your machines: <link>
- mount a gfs2-formatted clustered volume at the same mountpoint on all nodes.
- export this mountpoint (or a directory within it) as a samba share. All smb.conf files in all nodes should be identical
- Set ctdb configuration <link>
- start the ctdb service and check 'ctdb status' to make sure the ctdb cluster is up.
- Now you should simultaneously be able to access the samba share through all the exporting nodes and run operations on them simultaneously.