replikation .dovecot-box-sync.lock
Frank Kirschner
fk at celebrate.de
Do Okt 17 12:42:34 CEST 2024
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 = </etc/dehydrated/certs/tld.de/fullchain.pem
ssl_cipher_list = PROFILE=SYSTEM
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
args = username_format=%u /etc/dovecot/users
driver = passwd-file
}
protocol lmtp {
mail_plugins = " notify replication sieve"
}
protocol lda {
mail_plugins = " notify replication sieve"
}
protocol imap {
mail_max_userip_connections = 10
mail_plugins = " notify replication quota imap_quota"
}
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://listen.jpberlin.de/pipermail/dovecot/attachments/20241017/c2dbc583/attachment.htm>
Mehr Informationen über die Mailingliste Dovecot