glusterfs/geo-replication/syncdaemon
Kotresh HR 4a4710b810 geo-rep: Fix entries and metadata counters in geo-rep status
Entries counter was incremented twice and decremented only
once. And entries count was being used in place of metadata
entries. This patch fixes both of them.

Backport of:
 > Patch: https://review.gluster.org/22603
 > BUG: 1512093
 > Change-Id: I5601a5fe8d25c9d65b72eb529171e7117ebbb67f
 > Signed-off-by: Kotresh HR <khiremat@redhat.com>
  (cherry picked from commit e0a6941af6ed352911698012ada895d1296b549e)

fixes: bz#1709685
Change-Id: I5601a5fe8d25c9d65b72eb529171e7117ebbb67f
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2019-05-17 07:47:53 +00:00
..
__codecheck.py core/various: python3 compat, prepare for python2 -> python3 2018-05-02 11:28:46 +00:00
__init__.py geo-rep: code pep8/flake8 fixes 2014-04-07 21:56:55 -07:00
argsupgrade.py geo-rep: IPv6 support 2019-04-17 13:58:46 +00:00
changelogagent.py core: python3 2018-09-03 09:14:44 +00:00
conf.py.in python: remove shebangs of non-main scripts and make others executable 2018-10-02 11:19:28 +00:00
gsyncd.py geo-rep: IPv6 support 2019-04-17 13:58:46 +00:00
gsyncdconfig.py geo-rep: fix integer config validation 2019-04-17 13:58:52 +00:00
gsyncdstatus.py core: python3 2018-09-03 09:14:44 +00:00
libcxattr.py geo-rep: Fix syncing of files with non-ascii filenames 2018-12-04 09:15:44 +00:00
libgfchangelog.py geo-rep: Fix syncing of files with non-ascii filenames 2018-12-04 09:15:44 +00:00
logutils.py core/various: python3 compat, prepare for python2 -> python3 2018-06-04 19:55:35 +00:00
Makefile.am georep: python2 to python3 compat - syscalls 2018-10-08 16:36:04 +00:00
master.py geo-rep: Fix entries and metadata counters in geo-rep status 2019-05-17 07:47:53 +00:00
monitor.py georep: python2 to python3 compat - syscalls 2018-10-08 16:36:04 +00:00
py2py3.py geo-rep: Fix syncing of files with non-ascii filenames 2018-12-04 09:15:44 +00:00
rconf.py geo-rep: Cleanup unwanted code 2018-08-20 03:22:01 +00:00
README.md geo-rep: Fixing the typo errors 2015-02-03 10:03:41 -08:00
repce.py georep: python2 to python3 compat - pickle 2018-10-02 05:49:24 +00:00
resource.py geo-rep: Fix syncing multiple rename of symlink 2019-04-03 04:31:06 +00:00
subcmds.py geo-rep: IPv6 support 2019-04-17 13:58:46 +00:00
syncdutils.py eventsapi: Fix Python3 compatibility issues 2019-02-26 14:11:41 +00:00

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 auxiliary 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 continuous 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.)