replication newbie: some beginner questions

Stefan G. Weichinger lists at xunil.at
Thu Apr 16 12:13:52 EEST 2020


Am 15.04.20 um 20:36 schrieb Ralph Seichter:
> * Stefan G. Weichinger:
> 
>> does it make sense in this case to set up replication and let the
>> servers replicate at first while still running on the old server?
> 
> If you use "dsync over TCP connections" [1], you can set up your new
> server without users noticing it (with the exception of extra server
> load for replication). It will take some time to sync all the data, but
> it takes no manual action once replication is fully set up.
> 
> [1] https://wiki.dovecot.org/Replication
> 
> The docs state one should be able to use a "noreplicate" field to limit
> the accounts, but I was not able to get it to work with a LDAP user DB.
> Regardless what value I provided in LDAP, replication would happen, and
> I could not find detailed documentation.
> 
>> do I have advantages over doing some rsync-jobs?
> 
> Oh, you know, some small stuff, like data integrity checks, retry on
> failures, event-driven replication. ;-)

Ah, sure, nice ;-)

I have the config ready on the "old" server, so we're waiting for the
new box to be delivered. As always with new sync tools I am cautious to
not lose data by doing something wrong (like syncing the empty server to
the productive one ;-) ). As far as I see that can't happen here ...

For sure I already read [1] ... and I have this block prepared now (as
far as I understand I need all of this):

## 2020-04 replication, @sgw
#
mail_plugins = $mail_plugins notify replication

service aggregator {
  fifo_listener replication-notify-fifo {
    user = vmail
    mode = 0666
  }
  unix_listener replication-notify {
    user = vmail
    mode = 0666
  }
}

service config {
  unix_listener config {
    user = vmail
  }
}

service replicator {
  unix_listener replicator-doveadm {
    mode = 0666
  }
}

service doveadm {
  inet_listener {
    port = 12345
  }
}

doveadm_port = 12345
doveadm_password = aadCdsfxxxx

plugin {
  mail_replica = tcp:anotherhost.example.com:12345 # use port 12345
explicitly
}

-- at least it didn't throw errors at a first test ;-) (dry run)


More information about the dovecot mailing list