How to dimension hardware when using replication?

2021-03-25 Thread Michael Westerburg

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

2021-03-25 Thread Gonzalo Palacios Goicolea

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

2021-03-25 Thread Aki Tuomi


> 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]