object-replicator error with rsync

Asked by songbongsu

My swift consist 3-storage node. and each node allocated 5disk. (1-account, 1-container, 3-object)
almost operation is good. but i have some issue in object-replicator with rsync. (swift version 1.10.0 last released )
under the paste their log and rsyncd.conf

< object-replicator.log >
object-replicator @ERROR: Unknown module 'object'
object-replicator rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
object-replicator Bad rsync return code: 5 <- ['rsync', '--recursive', '--whole-file', '--human-readable', '--xattrs', '--itemize-changes', '--ignore-existing', '--timeout=30', '--contimeout=30', '--bwlimit=0', '/srv/3/node/sdb3/objects/140413/7b8', '211.43.212.149::object/sdb3/objects/140413']

< rsyncd.log >
connect from 211.43.212.149 (211.43.212.149)
unknown module 'object' tried from 211.43.212.149 (211.43.212.149)

< rsyncd.conf >
[object6010]
max connections = 25
path = /srv/2/node/
read only = false
lock file = /var/lock/object6010.lock

[object6020]
max connections = 25
path = /srv/3/node/
read only = false
lock file = /var/lock/object6020.lock

[object6030]
max connections = 25
path = /srv/4/node/
read only = false
lock file = /var/lock/object6030.lock

///////

i tried rsync manually
'211.43.212.149::object/sdb3/objects/140413' -> it is fail (unknown object)
'211.43.212.149::object6010/sdb3/objects/140413' -> it is good work (object6010 or object6020.. .. the same name in rsyncd.conf)

in my think, the point is that "unknown module object"
rsyncd.conf is distinguish between the different object path used different section like this [object6010], [object6020], [object6030]

but object-replicator try to replication just only 'object'
i wonder that how can i set up to replicator module name or about someting solution

note that, when i have only one object-node then everything showen good working.

thx. have a good day.

Question information

Language:
English Edit question
Status:
Solved
For:
OpenStack Object Storage (swift) Edit question
Assignee:
No assignee Edit question
Solved by:
songbongsu
Solved:
Last query:
Last reply:
Revision history for this message
Mehmet Hacısalihoğlu (esedmehmet) said :
#1

Hi,

Is rsync service running?
Are you start rsync service?

Revision history for this message
songbongsu (gura2013) said :
#2

yes. rsync is running normality

i refer to setting rsync configuration of the SAIO install manaul
( http://docs.openstack.org/developer/swift/development_saio.html )

if only one object-node consist in a server then all operat normally
but i don't know how can i set up muiltipul object-node in a server

how can object-replicator discriminate several rsync object module?

Revision history for this message
songbongsu (gura2013) said :
#3

solved problem myself

Revision history for this message
German Anders (ganders) said :
#4

hi songbongsu, i'm having the same issue, can you explain what you did in order to solved the problem? thanks a lot, best!

Revision history for this message
Pete Zaitcev (zaitcev) said :
#5

In traditional Swift (before Mitaka), the setting "vm_test_mode" in replicator sections added port representations. So, in normal use case, it was not set and default rsync module was "object" etc. In case several servers were co-located, such as in case of SAIO (Swift All-In-One), "object6200" had to be used.

From Mitaka onwards, rsync module is specified explicitly.

See:
https://github.com/openstack/swift/commit/71f6fd025ea013bc457450a5cc4f8e92c6df92cc

Revision history for this message
songbongsu (gura2013) said :
#6

hi. Pete Zaitcev is right
you can setting up. "vm_test_mode = yes" and then solve it.

see the object-replicator.py
-----------------------------------------------------------------------------------------------------
if self.vm_test_mode:
            rsync_module = '%s::object%s' % (node_ip, node['replication_port'])
        else:
            rsync_module = '%s::object' % node_ip

        node_ip = rsync_ip(node['replication_ip'])
-------------------------------------------------------------------------------------------------------