Hi Guys, I'm in a loss here... I folowed the perfect multiserver setup guide to setup my servers... well almost because I did not need the DNS part. All server are running on Debian 12 ISPConfig 3.2.11p2 It work fine except for the mail servers namely mx1 & mx2. The issue I have is they did not syncronize at all. When I create a new mailbox on the webpanel the mailbox is successfully created on both mx1 & mx2 server and the welcom mail is received but only for mx1 (I assume is the normal process since mx1 is the master mail server) Then nothing... if I target mx1 directly on Roundcube I can see the email. However if I target mx2 nothing, no mails. Sending and receiving mail does work, but you can see mails only on mx1. As for sending mail are sent but does not appear on the other server. Sent from Roundcube mx1 => nothing on mx2 Sent from Rc mx2 => not on mx1 And yes Roundcube as is own server "webmail". It seems that both server do not sync properly. .. So some datas : Since I suspected the sync issue I checked by creating a new email domain then a new mailbox. Here the replicator status on both server Code: @mx1:~# doveadm replicator status * username priority fast sync full sync success sync failed [email protected] none 00:01:21 00:06:21 - y mx2:~# doveadm mailbox status -u testdoveadm replicator status * username priority fast sync full sync success sync failed [email protected] none 00:00:32 00:05:32 - - So the sync failed. then i tried to force it manually Code: mx1:~/t# doveadm -D sync -u [email protected] -d Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: acl_user_module (this is usually intentional, so just ignore this message) Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: undefined symbol: quota_user_module (this is usually intentional, so just ignore this message) Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_sieve_plugin.so Debug: Skipping module doveadm_fts_lucene_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_lucene_plugin.so: undefined symbol: lucene_index_iter_deinit (this is usually intentional, so just ignore this message) Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_user_get_language_list (this is usually intentional, so just ignore this message) Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/libdoveadm_mail_crypt_plugin.so: undefined symbol: mail_crypt_box_get_pvt_digests (this is usually intentional, so just ignore this message) 2024-05-04 00:19:52 Debug: Loading modules from directory: /usr/lib/dovecot/modules 2024-05-04 00:19:52 Debug: Module loaded: /usr/lib/dovecot/modules/lib10_quota_plugin.so 2024-05-04 00:19:52 Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm 2024-05-04 00:19:52 Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: acl_user_module (this is usually intentional, so just ignore this message) 2024-05-04 00:19:52 Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so 2024-05-04 00:19:52 Debug: Skipping module doveadm_fts_lucene_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_lucene_plugin.so: undefined symbol: lucene_index_iter_deinit (this is usually intentional, so just ignore this message) 2024-05-04 00:19:52 Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_user_get_language_list (this is usually intentional, so just ignore this message) 2024-05-04 00:19:52 Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/libdoveadm_mail_crypt_plugin.so: undefined symbol: mail_crypt_box_get_pvt_digests (this is usually intentional, so just ignore this message) 2024-05-04 00:19:52 doveadm([email protected]): Debug: auth-master: passdb lookup([email protected]): Started passdb lookup 2024-05-04 00:19:52 doveadm([email protected]): Debug: auth-master: conn unix:/run/dovecot/auth-userdb: Connecting 2024-05-04 00:19:52 doveadm([email protected]): Debug: auth-master: conn unix:/run/dovecot/auth-userdb (pid=188474,uid=0): Client connected (fd=9) 2024-05-04 00:19:52 doveadm([email protected]): Debug: auth-master: passdb lookup([email protected]): auth PASS input: [email protected] 2024-05-04 00:19:52 doveadm([email protected]): Debug: auth-master: passdb lookup([email protected]): Finished passdb lookup ([email protected] ) 2024-05-04 00:19:52 doveadm([email protected])<339096><>: Debug: auth-master: userdb lookup([email protected]): Started userdb lookup 2024-05-04 00:19:52 doveadm([email protected])<339096><>: Debug: auth-master: userdb lookup([email protected]): auth USER input: [email protected] home=/var/vmail/exemple.com/test mail=maildir:/var/vmail/exemple.com/test/Maildir uid=5000 gid=5000 quota_rule=*:storage=0B sieve=/var/vmail/exemple.com/test/.sieve 2024-05-04 00:19:52 doveadm([email protected])<339096><>: Debug: auth-master: userdb lookup([email protected]): Finished userdb lookup ([email protected] home=/var/vmail/exemple.com/test mail=maildir:/var/vmail/exemple.com/test/Maildir uid=5000 gid=5000 quota_rule=*:storage=0B sieve=/var/vmail/exemple.com/test/.sieve) 2024-05-04 00:19:52 doveadm([email protected])<339096><>: Debug: Added userdb setting: mail=maildir:/var/vmail/exemple.com/test/Maildir 2024-05-04 00:19:52 doveadm([email protected])<339096><>: Debug: Added userdb setting: plugin/quota_rule=*:storage=0B 2024-05-04 00:19:52 doveadm([email protected])<339096><>: Debug: Added userdb setting: plugin/sieve=/var/vmail/exemple.com/test/.sieve 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Effective uid=5000, gid=5000, home=/var/vmail/exemple.com/test 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Quota root: name=user backend=dict args=:file:/var/vmail/exemple.com/test/.quotausage 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Quota rule: root=user mailbox=* bytes=0 messages=0 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Quota grace: root=user bytes=0 (10%) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: quota-dict: [email protected], uri=file:/var/vmail/exemple.com/test/.quotausage, noenforcing=0 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): dict created (uri=file:/var/vmail/exemple.com/test/.quotausage, base_dir=/run/dovecot) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: open(/proc/self/io) failed: Permission denied 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Namespace inbox: type=private, prefix=, sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/var/vmail/exemple.com/test/Maildir 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: maildir++: root=/var/vmail/exemple.com/test/Maildir, index=, indexpvt=, control=, inbox=/var/vmail/exemple.com/test/Maildir, alt= 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: quota: quota_over_flag check: quota_over_script unset - skipping 2024-05-04 00:19:52 doveadm([email protected]): Debug: brain M: Namespace has location maildir:/var/vmail/exemple.com/test/Maildir 2024-05-04 00:19:52 doveadm([email protected]): Debug: Mailbox INBOX: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected]): Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected]): Debug: Namespace : Using permissions from /var/vmail/exemple.com/test/Maildir: mode=0700 gid=default 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Local mailbox tree: Sent guid=1b46ce287d603566772905006ef8f80c uid_validity=1714774144 uid_next=1 subs=yes last_change=0 last_subs=0 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Local mailbox tree: Drafts guid=1846ce287d603566772905006ef8f80c uid_validity=1714774141 uid_next=1 subs=yes last_change=0 last_subs=0 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Local mailbox tree: Trash guid=1946ce287d603566772905006ef8f80c uid_validity=1714774142 uid_next=1 subs=yes last_change=0 last_subs=0 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Local mailbox tree: Junk guid=1a46ce287d603566772905006ef8f80c uid_validity=1714774143 uid_next=1 subs=yes last_change=0 last_subs=0 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Local mailbox tree: INBOX guid=1c46ce287d603566772905006ef8f80c uid_validity=1714774145 uid_next=2 subs=no last_change=0 last_subs=0 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Remote mailbox tree: Drafts guid=a2d7e3217d603566d12a0500a2693ea0 uid_validity=1714774143 uid_next=1 subs=yes last_change=0 last_subs=0 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Remote mailbox tree: Trash guid=a3d7e3217d603566d12a0500a2693ea0 uid_validity=1714774144 uid_next=1 subs=yes last_change=0 last_subs=0 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Remote mailbox tree: Junk guid=a4d7e3217d603566d12a0500a2693ea0 uid_validity=1714774145 uid_next=1 subs=yes last_change=0 last_subs=0 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Remote mailbox tree: Sent guid=a1d7e3217d603566d12a0500a2693ea0 uid_validity=1714774142 uid_next=1 subs=yes last_change=0 last_subs=0 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Remote mailbox tree: INBOX guid=a0d7e3217d603566d12a0500a2693ea0 uid_validity=1714774141 uid_next=1 subs=no last_change=0 last_subs=0 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Mailbox Drafts: local=1846ce287d603566772905006ef8f80c/0/1, remote=a2d7e3217d603566d12a0500a2693ea0/0/1: GUIDs conflict - will be merged later 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Mailbox INBOX: local=1c46ce287d603566772905006ef8f80c/0/1, remote=a0d7e3217d603566d12a0500a2693ea0/0/1: GUIDs conflict - will be merged later 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Mailbox Junk: local=1a46ce287d603566772905006ef8f80c/0/1, remote=a4d7e3217d603566d12a0500a2693ea0/0/1: GUIDs conflict - will be merged later 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Mailbox Sent: local=1b46ce287d603566772905006ef8f80c/0/1, remote=a1d7e3217d603566d12a0500a2693ea0/0/1: GUIDs conflict - will be merged later 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Mailbox Trash: local=1946ce287d603566772905006ef8f80c/0/1, remote=a3d7e3217d603566d12a0500a2693ea0/0/1: GUIDs conflict - will be merged later 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Drafts: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Drafts: Rotated transaction log /var/vmail/exemple.com/test/Maildir/.Drafts/dovecot.index.log (seq=6, reset=yes) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Drafts: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox INBOX: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox INBOX: Rotated transaction log /var/vmail/exemple.com/test/Maildir/dovecot.index.log (seq=6, reset=yes) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox INBOX: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Junk: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Junk: Rotated transaction log /var/vmail/exemple.com/test/Maildir/.Junk/dovecot.index.log (seq=6, reset=yes) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Junk: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Sent: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Sent: Rotated transaction log /var/vmail/exemple.com/test/Maildir/.Sent/dovecot.index.log (seq=6, reset=yes) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Sent: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Trash: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Trash: Rotated transaction log /var/vmail/exemple.com/test/Maildir/.Trash/dovecot.index.log (seq=6, reset=yes) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Trash: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Drafts: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Change during sync: Remote lost mailbox GUID a2d7e3217d603566d12a0500a2693ea0 (maybe it was just deleted?) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox INBOX: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Change during sync: Remote lost mailbox GUID a0d7e3217d603566d12a0500a2693ea0 (maybe it was just deleted?) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Junk: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Change during sync: Remote lost mailbox GUID a4d7e3217d603566d12a0500a2693ea0 (maybe it was just deleted?) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Sent: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Change during sync: Remote lost mailbox GUID a1d7e3217d603566d12a0500a2693ea0 (maybe it was just deleted?) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Trash: Mailbox opened 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Change during sync: Remote lost mailbox GUID a3d7e3217d603566d12a0500a2693ea0 (maybe it was just deleted?) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Warning: Mailbox changes caused a desync. You may want to run dsync again: Remote lost mailbox GUID a2d7e3217d603566d12a0500a2693ea0 (maybe it was just deleted?) 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: User session is finished 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations 2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): dict destroyed 2024-05-04 00:19:52 doveadm(339096): Debug: auth-master: conn unix:/run/dovecot/auth-userdb (pid=188474,uid=0): Disconnected: Connection closed (fd=9) It looked like the guid are not identical for some reason... So I also checked that Code: mx1:~# doveadm mailbox status -u [email protected] guid '*' Junk guid=a4d7e3217d603566d12a0500a2693ea0 Trash guid=a3d7e3217d603566d12a0500a2693ea0 Drafts guid=a2d7e3217d603566d12a0500a2693ea0 Sent guid=a1d7e3217d603566d12a0500a2693ea0 INBOX guid=a0d7e3217d603566d12a0500a2693ea0 mx2:~# doveadm mailbox status -u [email protected] guid '*' Sent guid=1b46ce287d603566772905006ef8f80c Junk guid=1a46ce287d603566772905006ef8f80c Trash guid=1946ce287d603566772905006ef8f80c Drafts guid=1846ce287d603566772905006ef8f80c INBOX guid=1c46ce287d603566772905006ef8f80c Indeed they are diferent ... So now what ? I honestly can't pinpoint why it doesn't work as expected and I am two step away to forget about the second server and go to only one at this point. So if you have any idea some help would be greatly apreciated Tell me if you need any datas / log / command Thanks
Try to force-sync the mailbox: Code: doveadm sync -u [email protected] -f '*' and if this does not help, try: Code: doveadm force-resync -u [email protected]
Thanks for the quick answer. sadly it doesn't worked Here are the results : Code: mx1:~# doveadm sync -u [email protected] -f '*' ssh: Could not resolve hostname *: Bad value for ai_flags doveadm([email protected])<371935><R1Q8Nlr4NWbfrAUAomk+oA>: Error: read(remote) failed: EOF (version not received) doveadm([email protected])<371935><R1Q8Nlr4NWbfrAUAomk+oA>: Error: Remote command returned error 255: ssh * doveadm dsync-server [email protected] -U I have absolutely no idea why this error pops up But as a side note, SSH is only available for local machine, root connexion is locked, so you have to "su -" on a non sudoer user. Code: mx1:~# doveadm force-resync -u [email protected] -f '*' doveadm([email protected]): Warning: fscking index file /var/vmail/exemple.com/test/Maildir/.Junk/dovecot.index doveadm([email protected]): Warning: fscking index file /var/vmail/exemple.com/test/Maildir/.Trash/dovecot.index doveadm([email protected]): Warning: fscking index file /var/vmail/exemple.com/test/Maildir/.Drafts/dovecot.index doveadm([email protected]): Warning: fscking index file /var/vmail/exemple.com/test/Maildir/.Sent/dovecot.index doveadm([email protected]): Warning: fscking index file /var/vmail/exemple.com/test/Maildir/dovecot.index Looked like it worked so i did a status check Code: mx1:~# doveadm replicator status * username priority fast sync full sync success sync failed [email protected] none 00:03:06 10:48:13 - y mx2:~# doveadm replicator status * username priority fast sync full sync success sync failed [email protected] none 00:04:33 10:59:41 - - Also the command Code: doveadm -D sync -u [email protected] -d Produce basically the same result as before
So I reinstalled mx1, mx2 & the webserver today. And I still have the same GUID Conflict issue I have no idea what can be the cause
I tested some more things and surprise surprise what I did work withour any issue. So basically I did it maunaly. Adding a mail_user in DB then : Code: root@mx1:~# doveadm mailbox create -u [email protected] INBOX root@mx1:~# doveadm mailbox create -u [email protected] Sent root@mx1:~# doveadm mailbox create -u [email protected] Trash root@mx1:~# doveadm mailbox create -u [email protected] Junk root@mx1:~# doveadm mailbox create -u [email protected] Drafts root@mx1:~# doveadm mailbox subscribe -u [email protected] INBOX root@mx1:~# doveadm mailbox subscribe -u [email protected] Sent root@mx1:~# doveadm mailbox subscribe -u [email protected] Trash root@mx1:~# doveadm mailbox subscribe -u [email protected] Junk root@mx1:~# doveadm mailbox subscribe -u [email protected] Drafts root@mx1:~# doveadm sync -u [email protected] -d and the result : Code: root@mx1:~# doveadm mailbox status -u [email protected] guid '*' Drafts guid=20d5121b55a636666ad00200a2693ea0 Junk guid=83610e1e4ca6366669d00200a2693ea0 Trash guid=72e76c0e44a6366654d00200a2693ea0 Sent guid=be2371033da6366651d00200a2693ea0 INBOX guid=5d8de73a74a4366652cf0200a2693ea0 root@mx2:~# doveadm mailbox status -u [email protected] guid '*' Trash guid=72e76c0e44a6366654d00200a2693ea0 Sent guid=be2371033da6366651d00200a2693ea0 Junk guid=83610e1e4ca6366669d00200a2693ea0 Drafts guid=20d5121b55a636666ad00200a2693ea0 INBOX guid=5d8de73a74a4366652cf0200a2693ea0 I haven't try to force a guid yet but I think it will be way more complex than this since you have to keep track of each Guid for each mailbox to report on the other server. So I assume that when creating an email in ISPConfig panel, the create is done on each of the two (or possibly more) servers and since they are created without explicit guid it create this issue
There have not been any issues with the way ISPConfig creates replicated mailboxes yet, but maybe Dovecot changed its behavior in recent versions, and we have to change the way ISPConfig works for that.
Yes exactly my thought Why did something break if you don't change the way it is endeled. Just a preliminary check as I can't do a complete analysis and test ATM So debian 12 as of today come with this version : Code: mx1:~# dovecot --version 2.3.19.1 (9b53102964) However afer a quick check on github for dovecot relesenote : Code: v2.3.20 2022-12-22 Aki Tuomi <[email protected]> [..] - dsync: Couldn't always fix folder GUID conflicts automatically with Maildir format. This resulted in replication repeatedly failing with "Remote lost mailbox GUID". - dsync: Failed to migrate INBOX when using namespace prefix=INBOX/, resulting in "Remote lost mailbox GUID" errors. - dsync: INBOX was created too early with namespace prefix=INBOX/, resulting a GUID conflict. This may have been resolved automatically, but not always. [...] Would you look at that ... It seems somewhat related So next step, update dovecot to a newer version to see if it solve this issue.
I think I have to point out an unpleasant issue here: The replication feature will be removed in newer Dovecot versions! Dovecot 2.3 will be the last version that supports it. Instead it is recommended to use shared filesystems with a Lua-based Director, if one doesn't want to purchase Dovecot Pro licenses.
Hmm, that's sad, indeed. It's not an issue for ISPConfig directly as a shared filesystem setup was what we originally used in the past. But using Dovecot sync was just a nicer option to achieve replication.
Yeah, it is actually a shame. I have a Dovecot replication setup with mdbox storage format but based on Dovecot 2.2 which runs rock-solid, but now I need to find a new solution too. Also nobody knows how long Dovecot 2.3 will get support. Dovecot 2.4 should have been released already a year ago but was delayed due to configuration changes for Dovecot 2.4/3.0, according to a message from Aki Tuomi on the Dovecot mailinglist on 05/04/2024.
Speaking of Dovecot 2.3 it is generally a good idea to use a recent version of Dovecot. But I would always let some time pass before updating/upgrading. See it as some sort of prevention, in case a new minor release introduces bugs that mess up dsync replication.
The biggest impacts are likely the removal of replication and the director in Dovecot 2.4. Here is an overview about the changes: https://doc.dovecot.org/3.0/installation_guide/upgrading/from-2.3-to-3.0/
Sorry for the long delay... As far as I can see only "dsync" will be removed and "sync" will stay at least for 2.4/3.0 No idea how you will have to replace "dict quota" with "count" + plugin but there doesn't seem to have any easy way out :/ Since I did my testing and It was a succes I will edit my first post with a solution... not pretty but it work.
No, not just the command dsync will be removed. Replicator, the actual important part for dsync replication will be removed as well, but I'm glad to hear you could get the replication working. Let's pray that they don't immediately drop the support on Dovecot 2.3 when Dovecot 2.4 is released.
Haven't see that one sorry. Well it is basically changing to a version that work but I also tested a whole lot of things to make sure and hopefully help somone else.
Here the "Solution" : I will say it since there is no way around it : It is Debian & Dovecot fault .... Dovecot 2.3.18 to 2.3.19.1 have both an issue on "sync"/"dsync" and are unable to merge multiple mailbox. Debian 12 come with 2.3.19.1 in stable with in that case is Not. So you currently have multiple solutions : Code: [*]Revert to Debian 11. [*]Stay on debian 12 and update dovecot package and dependencies to testing making some sorte of frankendebian... [*]Stay on debian 12 and downgrade dovecot to 2.3.17.1. [*]Wait for debian 13 or dovecot 2.3.21 to hit stable ? (as of right now, I am not to sure how long you will be wainting...). [*]Go to Ubuntu 22.04 (dovecot 2.3.17.1). [*]Go to Ubuntu 24.04 [once supported by ISPConfig (It was release ~ a month ago at the time I am writing this)] (dovecot 2.3.21). [*]Use Dovecot source. Code: Important note for those who haven't checked the thread ! Dovecot 2.4 and upper will not support sync So depending on wich stable version will be available it may or may not be an option tu upgrade dovecot. At least if ISPConfig team continue to support this feature, else it will be up to you to configure it to fit your need.
We are waiting for Rspamd to be released for Ubuntu 24.04 as we use the Rspamd package from Rspamd directly and not Ubuntu. But it seems there is some movement in Rspamd GIT in this regard, so we hopefully have all requirements for ISPConfig ready to support Ubuntu 24.04.
Good to know ! I am not willing to switch in the short time but maybe at some point. Edited the thread title as solved to let other know ther is a solution in the meantime.