From fk at celebrate.de Thu Oct 17 12:42:34 2024 From: fk at celebrate.de (Frank Kirschner) Date: Thu, 17 Oct 2024 12:42:34 +0200 Subject: replikation .dovecot-box-sync.lock Message-ID: <52a3393f-6c6b-4290-bd41-ea9fb7838bef@celebrate.de> Hallo liebe Mitglieder der Liste, Ich habe eine Replikation zu einem Server aufgebaut. Der neue Server hat ein komplett leeres User Storage, welches per NFS angebunden ist. Die Replikation scheint augenscheinlich zu funktionieren, auf dem neuen Server erscheinen die entsprechenden Dateien im maildir Format. # doveadm replicator status '*' && doveadm replicator dsync-status username                               priority fast sync full sync success sync failed 1 at tld.de                                low      01:28:50 21:55:19  02:31:39     y 2 at tld.delow      01:21:42  21:55:28  -            y 3 at tld.denone     00:40:22  00:45:22  00:33:51     - 4 at tld.denone     00:12:24  00:48:34  00:30:40     - 5 at tld.denone     00:11:19  00:48:31  00:15:24     - 6 at tld.denone     00:03:31  04:28:43  -            y 7 at tld.denone     00:53:50  00:53:50  01:03:57     - 8 at tld.delow      01:28:50  21:56:15  -            y 9 at tld.denone     04:15:28  04:15:28  21:51:47     - 10 at tld.denone     00:17:31  00:22:13  00:41:16     - 11 at tld.denone     00:02:47  02:45:13  00:45:22     - 12 at tld.denone     00:03:31  21:55:19  02:50:30     y 13 at tld.denone     00:03:31  21:55:19  17:04:51     y username                                                type status 1 at tld.denormal Waiting for dsync to finish                                                         - Not connected 3 at tld.denormal Waiting for dsync to finish                                                         - Not connected                                                         - Not connected 7 at tld.denormal Waiting for dsync to finish                                                         - Not connected                                                         - Not connected                                                         - Not connected Der neue Server hat aktuell eine Load von ca. 7 Bei genauerer Suche nach dem Grund, fällt mir das auf: # ps aux | grep " D " vpostfix  275393  0.0  0.1  52036  9376 ?        D    10:44 0:05 dovecot/doveadm-server vpostfix  275395  0.0  0.1  51276  8668 ?        D    10:44 0:03 dovecot/doveadm-server vpostfix  275547  0.0  0.1  51924  9032 ?        D    10:45 0:04 dovecot/doveadm-server vpostfix  276809  0.0  0.1  58768 15512 ?        D    10:52 0:05 dovecot/doveadm-server Der Grund für den Status D scheint von dem Aufruf zu kommen: doveadm: Error: Failed to access mailbox dovecot-box-sync.lock: stat(/srv/mail/mail_storage2/tld.de/1/mail/.dovecot-box-sync.lock/tmp) failed: Not a directory Stellt man das von der Konsole aus nach: # stat /srv/mail/mail_storage2/celebrate.de/fk/mail/.dovecot-box-sync.lock/tmp stat: cannot statx '/srv/mail/mail_storage2/tld.de/1/mail/.dovecot-box-sync.lock/tmp': Permission denied Auf dem NFS-NAS sieht man: # ls -la /mnt/raid5array1/mail_storage2/tld.de/fk/mail/.dovecot* -rw-------  1 vpostfix  vpostfix  0 Oct 17 11:06 /mnt/raid5array1/mail_storage2/celebrate.de/1/mail/.dovecot-box-sync.lock ^- man sieht, dass .dovecot-box-sync.lock eine Datei und kein Verzeichnis ist, darum kann auch /tmp darin nicht existieren Was läuft hier schief? Nachfolgend die Konfiguration des Servers: # dovecot -n # 2.3.16 (7e2e900c1a): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.16 (09c29328) # OS: Linux 5.15.149-1-pve x86_64 AlmaLinux release 8.10 (Cerulean Leopard) # Hostname: tld.de disable_plaintext_auth = no doveadm_password = # hidden, use -P to show it first_valid_uid = 1000 imap_id_send = lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes lmtp_save_to_detail_mailbox = yes log_path = /var/log/dovecot.log login_greeting =  ready. mail_debug = yes mail_fsync = always mail_full_filesystem_access = yes mail_gid = 1000 mail_home = /srv/mail/mail_storage2/%d/%n mail_location = maildir:~/mail mail_plugins = " notify replication" mail_privileged_group = vpostfix mail_uid = 1000 managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext vacation-seconds mbox_write_locks = fcntl mmap_disable = yes namespace inbox {   inbox = yes   location =   mailbox Drafts {     special_use = \Drafts   }   mailbox Sent {     special_use = \Sent   }   mailbox "Sent Messages" {     special_use = \Sent   }   mailbox Spam {     auto = subscribe     special_use = \Junk   }   mailbox Trash {     special_use = \Trash   }   prefix = } passdb {   args = scheme=CRYPT username_format=%u /etc/dovecot/users   driver = passwd-file } plugin {   mail_replica = tcp:192.168.130.191:4711   recipient_delimiter = +   replication_full_sync_interval = 1 day   replication_sync_timeout = 10   sieve = file:~/sieve;active=~/.dovecot.sieve   sieve_before = /etc/dovecot/spam-global.sieve   sieve_extensions = +vacation-seconds   sieve_vacation_default_period = 1d   sieve_vacation_max_period = 30d   sieve_vacation_min_period = 0   sieve_vacation_use_original_recipient = yes } postmaster_address = xxx at tld.de protocols = imap pop3 lmtp sieve service aggregator {   fifo_listener replication-notify-fifo {     mode = 0666     user = vpostfix   }   unix_listener replication-notify {     mode = 0666     user = vpostfix   } } service auth {   inet_listener {     address = 192.168.130.192     port = 3659   }   unix_listener /var/spool/postfix/private/auth {     group = vpostfix     mode = 0666     user = vpostfix   }   unix_listener auth-userdb {     group = vpostfix     mode = 0600     user = vpostfix   } } service config {   unix_listener config {     user = vpostfix   } } service doveadm {   inet_listener {     port = 4711   }   user = vpostfix } service imap-login {   process_min_avail = 1   service_count = 1 } service lmtp {   inet_listener lmtp {     address = 192.168.130.192     port = 24   } } service managesieve-login {   inet_listener sieve {     port = 4190   } } service replicator {   process_min_avail = 1   unix_listener replicator-doveadm {     mode = 0666     user = vpostfix   } } ssl_cert =