Hi Timo,
I'm currently running Tests for concurrent delivery via dovecot-deliver to a mailbox on a nfs-share with postal. And so far, i did not notice any problems when incoming SMTP is directed via LVS to two Mailservers which in parallel drop messages with dovecot-deliver to the users mailbox and updates dovecots index.files (btw. dovecot 1.2.10 in use, mail_nfs_storage = yes, mail_nfs_index = yes).
How heavily were you stress testing it?
Well, I've initated the test with the double amount of email that's currently handeled by the current system. Tests have been initiated from external servers with postal:
srv1: postal -t 20 -r 100 -m 4192 -s 10 lvsmail.example.com user-list srv2: postal -t 20 -r 100 -m 4192 -s 10 lvsmail.example.com user-list
(20 parallel sessions, 100 messages per Minute, maximal size of one email 4MB, one Mailbox) After the Test I ran pflogsumm on the Mailserver-Nodes behind the LVS (before I've started the Benchmark, Logs have been cleared). Bandwith on the Storage-Side was quite heavy (83Mbit/s IN, 37MBit/s OUT) but LOAD (max 0.5) and CPU-USAGE (max 10%) of the Storage was really OK.
In summary, I've admitted about 19841 Messages over 2 Nodes to the users mailbox. Dovecot Deliver only had 5 times a problem (like mentioned) and deferred those messages. More Detailed Pflogsumm-Output for the two MX-Nodes is found under [1] and [2].
The only thing I've found so far:
Feb 16 17:33:46 cmx2 postfix/pipe[24221]: DD3F118A22A: to=<werner@example.com>, relay=dovecot, delay=3.4, delays=0.75/0/0/2.6, dsn=4.3.0, status=deferred (temporary failure. Command output: Internal error occurred. Refer to server log for more information. [2010-02-16 17:33:43])
That looks like exactly the kind of error I was talking about. Looking at Dovecot's log would show what the internal error was.
sadly, I did not find any more specific hints in the Maillog (mail_debug=yes) than this line :-( So, I assume it could work to have to servers for incoming SMTP active, even if dovecot-deliver is used as LDA?
kind regards, Werner
[1] Node1: (pflogsumm counts incoming mails twice because of smtpd_proxy_filter) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Grand Totals
messages
9656 received 4821 delivered 0 forwarded 4 deferred (4 deferrals) 9898m bytes received 9902m bytes delivered
Per-Hour Traffic Summary time received delivered deferred bounced rejected
1700-1800 2872 1434 2 0 64 1800-1900 3622 1809 1 0 42 1900-2000 3162 1578 1 0 37
message deferral detail
pipe (total: 4) 1 04:03] 1 33:43] 1 43:46] 1 49:00]
[2] Node2: (pflogsumm counts incoming mails twice because of smtpd_proxy_filter) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Grand Totals
messages
30052 received 15020 delivered 0 forwarded 1 deferred (1 deferrals) 30576m bytes received 30614m bytes delivered
Per-Hour Traffic Summary time received delivered deferred bounced rejected
1700-1800 9166 4573 0 0 46 1800-1900 11297 5651 0 0 98 1900-2000 9589 4796 1 0 79
message deferral detail
pipe (total: 1) 1 24:10]