Avra Sengupta 5757ed2727 glusterd/cli changes for distributed geo-rep
Commands:
gluster system:: execute gsec_create
gluster volume geo-rep <master> <slave-url> create [push-pem] [force]
gluster volume geo-rep <master> <slave-url> start [force]
gluster volume geo-rep <master> <slave-url> stop [force]
gluster volume geo-rep <master> <slave-url> delete
gluster volume geo-rep <master> <slave-url> config
gluster volume geo-rep <master> <slave-url> status

The geo-replication is distributed. The session will be created, and
gsyncd will be spawned on all relevant nodes, instead of only one
node.

geo-rep: Collecting status detail related data

Added persistent store for saving information about
TotalFilesSynced, TotalSyncTime, TotalBytesSynced

Changes in the status information in socket:
Existing(Ex):
FilesSynced=2;BytesSynced=2507;Uptime=00:26:01;

New(Ex):
FilesSynced=2;BytesSynced=2507;Uptime=00:26:01;SyncTime=0.69978;
TotalSyncTime=2.890044;TotalFilesSynced=6;TotalBytesSynced=143640;

Persistent details stored in
/var/lib/glusterd/geo-replication/${mastervol}/${eSlave}-detail.status

Change-Id: I1db7fc13ffca2e415c05200b0109b1254067f111
BUG: 847839
Original Author: Avra Sengupta <asengupt@redhat.com>
Original Author: Venky Shankar <vshankar@redhat.com>
Original Author: Aravinda VK <avishwan@redhat.com>
Original Author: Amar Tumballi <amarts@redhat.com>
Original Author: Csaba Henk <csaba@redhat.com>
Signed-off-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-on: http://review.gluster.org/5132
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Vijay Bellur <vbellur@redhat.com>
2013-07-26 13:19:18 -07:00

2.1 KiB

gsycnd, the Gluster Syncdaemon

REQUIREMENTS

gsyncd is a program which can operate either in master or in slave mode. Requirements are categorized according to this.

  • supported OS is GNU/Linux
  • Python >= 2.5, or 2.4 with Ctypes (see below) (both)
  • OpenSSH >= 4.0 (master) / SSH2 compliant sshd (eg. openssh) (slave)
  • rsync (both)
  • glusterfs: with marker and changelog support (master & slave);
  • FUSE: glusterfs fuse module with auxilary gfid based access support

INSTALLATION

As of now, the supported way of operation is running from the source directory or using the RPMs given.

If you use Python 2.4.x, you need to install the Ctypes module.

CONFIGURATION

gsyncd tunables are a subset of the long command-line options; for listing them, type

gsyncd.py --help

and see the long options up to "--config-file". (The leading double dash should be omitted; interim underscores and dashes are interchangeable.) The set of options bear some resemblance to those of glusterfs and rsync.

The config file format matches the following syntax:

  <option1>: <value1>
  <option2>: <value2>
  # comment

By default (unless specified by the option -c), gsyncd looks for config file at conf/gsyncd_template.conf in the source tree.

USAGE

gsyncd is a utilitly for continous mirroring, ie. it mirrors master to slave incrementally. Assume we have a gluster volume pop at localhost. We try to set up the mirroring for volume pop using gsyncd for gluster volume moz on remote machine/cluster @ example.com. The respective gsyncd invocations are (demoing some syntax sugaring):

gsyncd.py :pop example.com::moz

gsyncd has to be available on both sides; it's location on the remote side has to be specified via the "--remote-gsyncd" option (or "remote-gsyncd" config file parameter). (This option can also be used for setting options on the remote side, although the suggested mode of operation is to set parameters like log file / pid file in the configuration file.)