From Fedora Project Wiki
No edit summary
No edit summary
Line 53: Line 53:


== User Experience ==
== User Experience ==
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
Users not using gfs2, samba or ctdb should notice no change. Users will now have the ability to run a clustered samba setup exporting gfs2 shares.


== Dependencies ==
== Dependencies ==
Most of the kernel support (gfs2 filesystem) is already upstream. ctdb and samba packages have been included in Fedora.
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->


== Contingency Plan ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. -->
In it's current state, a basic clustered samba setup should work. Enhancements such as posix lock performance & conga interface and testing of different use-cases would be nice to get done with. If not done with these tasks, in it's current form, the feature is still acceptable.


== Documentation ==
== Documentation ==
* [http://ctdb.samba.org/] about ctdb
* [http://www.samba.org/] about samba
* [http://en.wikipedia.org/wiki/Red_Hat_Cluster_Suite Cluster Suite] on Wikipedia
* [http://en.wikipedia.org/wiki/Global_File_System GFS/GFS2] on Wikipedia
* [http://sources.redhat.com/cluster/wiki/ Cluster Wiki] page
* [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/gfs2.txt;h=593004b6bbabaeee282b1041835f580cf12baa2e;hb=HEAD GFS2 kernel documentation] (a very basic introduction)
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
*
*

Revision as of 05:31, 23 July 2009

Clustered Samba for GFS2

Summary

Support for active-active samba sharing over GFS2 using CTDB.

Owner

Current status

  • Targeted release: Fedora 12
  • Last updated: 7/20/2009
  • Percentage of completion: 70%

Detailed Description

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.

Scope

  • 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.


User Experience

Users not using gfs2, samba or ctdb should notice no change. Users will now have the ability to run a clustered samba setup exporting gfs2 shares.

Dependencies

Most of the kernel support (gfs2 filesystem) is already upstream. ctdb and samba packages have been included in Fedora.

Contingency Plan

In it's current state, a basic clustered samba setup should work. Enhancements such as posix lock performance & conga interface and testing of different use-cases would be nice to get done with. If not done with these tasks, in it's current form, the feature is still acceptable.

Documentation

Release Notes

Comments and Discussion