How to dimension hardware when using replication?
Hello Postmaster, for a decade we have been using Dovecot successfully as IMAP server at Augsburg University. Now we face the decision to switch from separated SAN storage to mirrored SAN storage by means of the usual combination of dovecot director and dovecot replicator (CentOS 7, Dovecot 2.2.36). Dovecot director runs on four virtual machines (4 cores, 4 GB memory). The replicated storage is handled by two HP servers with 2 Xeon(R) CPU E5-2620 (6 cores) and 32 GM memory. The network relies on 2 x 1 GBit Ethernet bond and two redundant 4 GBit SAN-fabrics. Our concerns, (1) is this equipment suitable? We are talking here about 25.000 mail accounts (LDAP) with 7 TB mail storage (mdbox) and in peak periods 10.000 parallel Dovecot processes and (2) what are adequate settings for director_user_expire, replication_max_conns and replication_full_sync_interval? Loosing mails is unacceptable as well as users stumbling upon mails with the recent flag set which were read and deleted yesterday. Who is using dovecot director and replicator and is willing to share settings and operational experience? Thanks in advance ++ Michael Westerburg -- Dr. Michael Westerburg Universität Augsburg Rechenzentrum 86135 Augsburg Telefon 0821/598-2004 Telefax 0821/598-2028 michael.westerb...@rz.uni-augsburg.de https://www.rz.uni-augsburg.de
Re: Quota - Invalid bytes limit
Hi, More info. At previous version (dovecot-2.2.10-1_14.el6.x86_64) we didn't installed dovecot-pigeonhole, but for this one (dovecot-2.2.36-8.el7.x86_64) it was mandatory or dovecot didn't start because of this error: "doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: protocols: Unknown protocol: sieve" May it be related? Thanks and best regards El 22/03/2021 a las 8:47, Gonzalo Palacios Goicolea escribió: Hi Has anyone experienced this issue? I'm not able to debug it. Config, users, permissions, etc are the same as in the previous version, where it worked without problems. If anyone can help it would be appreciated, I don't know what else look. Thanks and best regards El 16/03/2021 a las 11:40, Gonzalo Palacios Goicolea escribió: Hi All, Since upgrading to RHEL7 and we're not able to get quota warnings work. We get the error "User initialization failed: Failed to initialize quota: Invalid quota root quota: Invalid rule *:bytes=: Invalid bytes limit:" /mar 16 10:29:27 lda(user@domain): Quota: Executing warning: quota-warning 90 user@domain// //Mar 16 10:29:27 buzonn5 gonzalo: mar 16 10:29:27 lda(user@domain): Quota: Executing warning: quota-warning 90 user@domain// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Loading modules from directory: /usr/lib64/dovecot// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Module loaded: /usr/lib64/dovecot/lib10_quota_plugin.so// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Module loaded: /usr/lib64/dovecot/lib15_notify_plugin.so// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Module loaded: /usr/lib64/dovecot/lib20_mail_log_plugin.so// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Module loaded: /usr/lib64/dovecot/lib90_sieve_plugin.so// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: auth USER input: user@domain home=/buzones/externos/4/215283255776546 uid=508 gid=503 quota_rule=*:bytes=2147483648// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Ignoring overridden (-o) userdb setting: plugin/quota_rule// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Effective uid=508, gid=503, home=/buzones/externos/4/215283255776546// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Quota root: name=_backup backend=maildir args=ns=// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Quota rule: root=_backup mailbox=* bytes=0 messages=0// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Error: User initialization failed: Failed to initialize quota: Invalid quota root quota: Invalid rule *:bytes=: Invalid bytes limit:// //Mar 16 10:29:27 buzonn5 dovecot: lda: Fatal: Invalid user settings. Refer to server log for more information./ This is the quota-warning script: /#!/bin/sh// //#Variables// //PERCENT=$1// //USER=$2// //FECHA=`date '+%b %d %H:%M:%S'`// // //#Logueo del evento// //echo "$FECHA lda($USER): Quota: Executing warning: quota-warning $PERCENT $USER" >> /var/log/dovecot/dovecot.log// //logger -p local1.notice -f /var/log/dovecot/dovecot.log "$FECHA lda($USER): Quota: Executing warning: quota-warning $PERCENT $USER"// // //cat << EOF | /usr/libexec/dovecot/dovecot-lda -d $USER -o "plugin/quota_rule=*:bytes=%$"// //From: postmaster at domain// //Subject: Alerta de Capacidad// //Date: `date`// // //El espacio asignado para el almacenamiento de su correo ha superado el $PERCENT% de su capacidad total. Por ello, se recomienda que elimine correos y/o vacie la papelera para liberar espacio.// //Mensaje enviado desde `hostname`// // //Atentamente,// // //--// //Responsable correo // //postmaster at domain// // //EOF// / - This is 90-quota.conf /plugin {// // quota = maildir:_backup:ns=// //}// // //plugin {// // quota_exceeded_message = El espacio asignado para el almacenamiento del correo del destinatario ha superado su capacidad total. Por ello, el correo que usted intenta enviar no se puede entregar al destinatario.// // quota_warning = storage=70%% quota-warning 70 %u// // quota_warning1 = storage=90%% quota-warning 90 %u// // quota_warning2 = storage=95%% quota-warning 95 %u// // quota_warning3 = storage=99%% quota-warning 99 %u// //}// // //service quota-warning {// // executable = script /etc/dovecot/scripts_notification_quota/quota-warning.sh// // user = vmail// // unix_listener quota-warning {// // user = vmail// // }// //}/ Getting user attibutes and quota with doveadms works right: /# doveadm user user@domain// //field value// //uid 508// //gid 503// //home /buzones/externos/4/215283255776546// //mail maildir:/buzones/externos/4/215283255776546/Maildir// //quota_rule *:bytes=2147483648// //# doveadm quota get -u user@domain// //Quota name Type Value Limit %// //_backup STORAGE 1153093 2097152 54// //_backup MESSAGE 44347 - / It also works fine with ldapsearch /# ldapsearch -x
Re: Backtrace on UID SORT and UID SEARCH
> On 25/03/2021 05:30 Pedro Ribeiro wrote: > > > Hello, > > I'm seeing a few backtraces like this ones in our daily log file. > > It always seem to happen during UID SEARCH or UID SORT > > I've already increased some process memory limits in the past and I'm > currently using: > > default_vsz_limit = 512 M > > Is this some bug or I just need to increase this memory limit or some > specific of a process? > > Using Dovecot 2.3.13 on Gentoo Linux amd64 > > Build options: ioloop=epoll notify=inotify openssl io_block_size=8192 > SQL drivers: mysql > Passdb: checkpassword passwd passwd-file shadow sql > Userdb: checkpassword passwd prefetch passwd-file sql > > > Error: Raw backtrace: > > /usr/lib64/dovecot/libdovecot.so.0(backtrace_append+0x3d) [0x7efd24b8c04d] > > /usr/lib64/dovecot/libdovecot.so.0(backtrace_get+0x1e) [0x7efd24b8c15e] > > /usr/lib64/dovecot/libdovecot.so.0(+0xf4fcb) [0x7efd24b97fcb] > > /usr/lib64/dovecot/libdovecot.so.0(+0xf5061) [0x7efd24b98061] > > /usr/lib64/dovecot/libdovecot.so.0(+0x4e25b) [0x7efd24af125b] > > /usr/lib64/dovecot/libdovecot.so.0(+0x4fcf1) [0x7efd24af2cf1] > > /usr/lib64/dovecot/libdovecot.so.0(i_stream_read+0x2a) [0x7efd24ba3e3a] > > /usr/lib64/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) > > [0x7efd24ba477d] > > /usr/lib64/dovecot/libdovecot.so.0(message_parse_header_next+0x69) > > [0x7efd24b766b9] > > /usr/lib64/dovecot/libdovecot.so.0(+0xd613a) [0x7efd24b7913a] > > /usr/lib64/dovecot/libdovecot.so.0(+0xd62bf) [0x7efd24b792bf] > > /usr/lib64/dovecot/libdovecot.so.0(message_parser_parse_next_block+0x44) > > [0x7efd24b78894] > > /usr/lib64/dovecot/libdovecot.so.0(message_search_msg+0xa0) > > [0x7efd24b7acd0] > > /usr/lib64/dovecot/libdovecot-storage.so.0(+0xcec2e) [0x7efd24f2ec2e] > > /usr/lib64/dovecot/libdovecot-storage.so.0(+0x517c9) [0x7efd24eb17c9] > > /usr/lib64/dovecot/libdovecot-storage.so.0(mail_search_args_foreach+0x45) > > [0x7efd24eb27f5] > > /usr/lib64/dovecot/libdovecot-storage.so.0(+0xcf96b) [0x7efd24f2f96b] > > /usr/lib64/dovecot/libdovecot-storage.so.0(+0xd0d29) [0x7efd24f30d29] > > > > /usr/lib64/dovecot/libdovecot-storage.so.0(index_storage_search_next_nonblock+0x61) > > > > [0x7efd24f313b1] > > > > /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_search_next_nonblock+0x20) > > > > [0x7efd24ebc240] > > dovecot/imap [someuser2@ourdom 2001:1234::fb8 UID SORT](+0x26e97) > > > [0x564e1e21de97] > > dovecot/imap [someuser2@ourdom 2001:1234::fb8 UID > > SORT](imap_search_start+0xdc) [0x564e1e21e70c] > > dovecot/imap [someuser2@ourdom 2001:1234::fb8 UID > > SORT](cmd_sort+0x24b) [0x564e1e21058b] > > dovecot/imap [someuser2@ourdom 2001:1234::fb8 UID > > SORT](command_exec+0x64) [0x564e1e216d74] > > dovecot/imap [someuser2@ourdom 2001:1234::fb8 UID SORT](+0x1deaf) > > > [0x564e1e214eaf] > > dovecot/imap [someuser2@ourdom 2001:1234::fb8 UID SORT](+0x1df62) > > > [0x564e1e214f62] > > dovecot/imap [someuser2@ourdom 2001:1234::fb8 UID SORT](+0x1e133) > > > [0x564e1e215133] > > dovecot/imap [someuser2@ourdom 2001:1234::fb8 UID > > SORT](client_handle_input+0x1ad) [0x564e1e21532d] > > dovecot/imap [someuser2@ourdom 2001:1234::fb8 UID > > SORT](client_input+0x72) [0x564e1e2157e2] > > /usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x69) [0x7efd24bad989] > > > Error: Raw backtrace: > > /usr/lib64/dovecot/libdovecot.so.0(backtrace_append+0x3d) [0x7f3c6b7b104d] > > /usr/lib64/dovecot/libdovecot.so.0(backtrace_get+0x1e) [0x7f3c6b7b115e] > > /usr/lib64/dovecot/libdovecot.so.0(+0xf4fcb) [0x7f3c6b7bcfcb] > > /usr/lib64/dovecot/libdovecot.so.0(+0xf5061) [0x7f3c6b7bd061] > > /usr/lib64/dovecot/libdovecot.so.0(+0x4e25b) [0x7f3c6b71625b] > > /usr/lib64/dovecot/libdovecot.so.0(+0x4fcf1) [0x7f3c6b717cf1] > > /usr/lib64/dovecot/libdovecot.so.0(i_stream_read+0x2a) [0x7f3c6b7c8e3a] > > /usr/lib64/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) > > [0x7f3c6b7c977d] > > /usr/lib64/dovecot/libdovecot.so.0(message_parse_header_next+0x69) > > [0x7f3c6b79b6b9] > > /usr/lib64/dovecot/libdovecot.so.0(+0xd613a) [0x7f3c6b79e13a] > > /usr/lib64/dovecot/libdovecot.so.0(+0xd62bf) [0x7f3c6b79e2bf] > > /usr/lib64/dovecot/libdovecot.so.0(message_parser_parse_next_block+0x44) > > [0x7f3c6b79d894] > > /usr/lib64/dovecot/libdovecot.so.0(message_search_msg+0xa0) > > [0x7f3c6b79fcd0] > > /usr/lib64/dovecot/libdovecot-storage.so.0(+0xcec2e) [0x7f3c6bb53c2e] > > /usr/lib64/dovecot/libdovecot-storage.so.0(+0x517c9) [0x7f3c6bad67c9] > > /usr/lib64/dovecot/libdovecot-storage.so.0(mail_search_args_foreach+0x45) > > [0x7f3c6bad77f5] > > /usr/lib64/dovecot/libdovecot-storage.so.0(+0xcf96b) [0x7f3c6bb5496b] > > /usr/lib64/dovecot/libdovecot-storage.so.0(+0xd0d29) [0x7f3c6bb55d29] > > > > /usr/lib64/dovecot/libdovecot-storage.so.0(index_storage_search_next_nonblock+0x10d) > > > > [0x7f3c6bb5645d] > > > > /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_search_next_nonblock+0x20) > > > > [0x7f3c6bae1240]