Skip to content

Path based Geo-replication for GlusterFS and Kadalu Storage

Notifications You must be signed in to change notification settings

aravindavk/geosync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeoSync - Path based GlusterFS Geo-replication

Current GlusterFS Geo-replication is GFID based, that means the file in Secondary site will have same GFID of the file exists in Primary Volume. This approach introduces the following issues.

  • Two Step operations Entry operations and data sync operations are different, Entry operations are done using RPC and then data synced using rsync.

  • Rsync --inplace option Normally rsync creates a temporary file and then it renames to final file name to prevent corruption and also for data availability for reading. But creating new file means changing the GFID. So existing Geo-replication uses --inplace option to prevent the same.

  • Multiple Revisions If a file is created, deleted and then created again(Example: Log rotate), then same steps should be replayed on Secondary state to get the same GFID.

  • No support for non GlusterFS targets Because of the GFID dependency, Geo-replication can’t be setup for non GlusterFS volume targets.

Design

TODO

Usage

Create the config file as

# filename: config.yaml
source_dir: /mnt/gvol1
target: server1.kadalu:/mnt/gvol2
crawl_dir: /bricks/gvol1/brick1/brick
stime_xattr: 53d458aa-075c-4a3c-8d69-62ac4802d41b.stime

Where

  • source_dir is path of Primary Volume mount

  • target is the hostname and target directory details. <secondary-node>:<secondary-volume-mount> format

  • crawl_dir is the Brick root from where Crawl is done.

  • stime_xattr is the name of the xattr to be maintained to record the synced time. Ideally <secondary-vol-id>.stime

Now run the Geosync,

# mkdir -p /root/.ssh/controlmasters
# ssh-keygen
# # ssh-copy-id <secondary-hostname>, for example
# ssh-copy-id [email protected]
# ./geosync config.yaml

About

Path based Geo-replication for GlusterFS and Kadalu Storage

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published