osync icon indicating copy to clipboard operation
osync copied to clipboard

One initiator and multiple targets issue

Open 40417256 opened this issue 2 years ago • 3 comments

I have one initiator replication one way to multiple targets. I use systemd services (one for each target)

Touch a file on the initiator, the sync tasks kicks in but I get the following error in the log:

There is already a local instance [13020@sysvolsync-traytnkca03] of osync running for this replica. Cannot start.#033[0m

So the second server is not synced, is there something I am missing ? I thought since this is a one way operation from the initiator to ALL targets this would work in parallel or at the worst sequentially.

Thanks,

Eric

40417256 avatar Nov 16 '23 15:11 40417256

osync cannot sync simultaneously multiple targets since initiator files will be modified while one sync operations is ongoing. Best thing to do is to launch a batch on modification, ie osync-batch so initiator mods will trigger a full sync to all targets.

deajan avatar Nov 17 '23 15:11 deajan

Thanks for the input, but since I require all targets to be updated fairly soon after a modification on the initiator the cron task is not what I need.

What do you think of setting up inotifywait in a systemd service that will run osync-batch.sh ?

Have a great weekend,

Eric

40417256 avatar Nov 18 '23 03:11 40417256

That's an ideal idea in your case. Would require osync modification to launch osync-batch.sh instead of osync itself.

The corresponding lines in osync will be

		if [ "$ConfigFile" != "" ]; then
			osyncSubcmd='bash '$osync_cmd' "'$ConfigFile'" '$opts
		else
			osyncSubcmd='bash '$osync_cmd' '$opts
		fi

where osyncSubcmd would be replaced with bash /path/to/osync_batch.sh

Care to check this manually before I'm implementing this ?

deajan avatar Nov 18 '23 12:11 deajan