LINBIT / csync2

file synchronization tool using librsync and current state databases
GNU General Public License v2.0
145 stars 39 forks source link

Offline host management #19

Closed ghost closed 4 years ago

ghost commented 4 years ago

Hi, I was thinking, in case of 5 node setup, when 2 nodes become unavailable what happens?

Do they sync with the changes after they are connected? Do we keep history for this?

Thank you.

lge commented 4 years ago

On Fri, Nov 22, 2019 at 01:35:31AM -0800, Amirhossein Matini wrote:

Hi, I was thinking, in case of 5 node setup, when 2 nodes become unavailable what happens?

Do they sync with the changes after they are connected? Do we keep history for this?

csync2 is NOT live replication.

It "simply" keeps a database of stat() [and related] informations, so it knows how things looks in the file system at some point in time in the past (the "init" phase, or the last "check" phase) and can later compare that with how it looks "now" (the "check" phase).

If it looks different "now", it is flagged in that database as "needs to be pushed over".

If you never tell csync2 to even look, it won't notice, and not flag anything. (that's the "check" phase)

If you never tell csync2 to push things over, it won't, and will not clear those flags. (that's the "update" phase)

If you tell it to push things over, but it cannot, for some reason, maybe because the target is unavailable at the time, the flag will not be cleared either.

Does that help?

Lars