We tough the point of have a clustered file system would be to be able to write with many >serves at same time, inscreassing high availibialyti, cause any node would be able to >crash or anything like it.
Yes, and also high performance since you can have many nodes doing paralell tasks, in this case email processing
Migh thing about let one node just to write emails when it comes and other just to use >imap and pop.. might do some help.
Not exactly, this will not fix your issue with the cluster filesystem, since in this case node writer and node pop imaps will share the same cluster filesystem, so it might ocurr that the smtp node writes to the same directory-file(or same file at your filesystem level) that is accessing the pop imap servers and this is what you must avoid in clustered filesystems.
to explain better you can keep using your cluster deployment you just must add after the LVS the Dovecot Director:
Cient <--> Linux IPVS <--> Dovecot Directors Servers <--> Dovecot writing in OCFS2
This not means that you will loose high availability, since you can use a script to check the health of your ocfs2 backend, and if one fails you just removed from director pool, in my case I'm testing this
Piranha LVS for load balancing connections in rhel
Directors(two nodes) Running Dovecot lmtp, pop,imap, managesieve
GFS2 Cluster Backend- Running Dovecot( three nodes)
- tcp lmtp for mail delivery
- imap,pop, sieve etc
All our incoming emails after leaving our filter gateways goes to our postix deliveries servers wich talks to a lmtp service configured in the lvs, wich selects the best director to serve the lmtp request, the director makes a persistency of the user mailbox with one node our use an existing one and do the delivery of lmtp in the backend server, if one backend fails a script removes from director pools and the director use another node as final destination, similar ocurr with imap pop etc. You can also do some tunning of your filesystem, use noatime, nodiratime etc at mount, check first for supported options in your filesystem.
best regards
2010/11/13 Henrique Fernandes sf.rique@gmail.com
We are using
Cient <--> Linux IPVS <--> Dovecot writing in OCFS2
When we were testing the OCFS2 with did much beter job than it is doins right now. We not sure yet if it is the OCFS2 or other thing, still trying to figure out, that is why i asked if Robert is having any issues.
We tough the point of have a clustered file system would be to be able to write with many serves at same time, inscreassing high availibialyti, cause any node would be able to crash or anything like it.
Migh thing about let one node just to write emails when it comes and other just to use imap and pop.. might do some help.
Thanks!
Any problem configuring dovecot besides diretor i would be glad to help
[]'sf.rique
On Sat, Nov 13, 2010 at 9:50 PM, Aliet Santiesteban Sifontes < alietsantiesteban@gmail.com> wrote:
Aliet, have you thought about is is better to use ipvs or dovecot diretord to do de job ? I >mean does anyone know ? if it is let me know so i can configure also here.
The problem with clustered filesystems is locking and cache, I have not worked with OCFS2 I believe they use DLM as GFS, but in the case of GFS1 and GFS2 you must try to keep user persistency with one node, that's why you need dovecot director, linux lvs can do persistency but with connections and client ip source not with user mailboxes, that's the job of dovecot director I guess, so you must:
Cient <--> Linux IPVS <--> Dovecot directors Servers <--> Backend Email Cluster
IPVS for ip persistency and load balance and Dovecot Director for mailbox node persistency and also load balance, this should in theory improve your cluster filesystem performance, since one node will access always the same area of your cluster filesystem, if you have many different nodes accessingthe same directory in a cluster filesystem, I mean doing
read, write, delete etc operations of many small files this will terrible decrease your io performance because of dlm, imagine a mail server where this happens in ratios of thousands maybe millions of times with many small files, then you cluster filesystem will eventually halt...
best regards
2010/11/13 Henrique Fernandes sf.rique@gmail.com
Robert, does't you have problens with performance ? What mail storage do you use, maildir mbox or other one? do you use any particular config to seeting up your OCFS2 cluster?
I am using in prodution ldiretord and heartbeat with balancing 2 servers with dovecot 2.07 and have another server in the cluster for maillist.
But i am having lots of problens with IO wait. I am in really troubel trying to figure out how to manage that. I am not sure if is ocfs2 or my swicth or the storage it self. We still trying to figure out this. Are you with any problem with IO in your cluster ?? thanks
Aliet, have you thought about is is better to use ipvs or dovecot diretord to do de job ? I mean does anyone know ? if it is let me know so i can configure also here.
Thanks
And i am sorry not help!
[]'sf.rique
On Sat, Nov 13, 2010 at 8:50 PM, Aliet Santiesteban Sifontes < alietsantiesteban@gmail.com> wrote:
Ok, I answer to my self what I did:
In /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp sieve
In /etc/dovecot/conf.d/10-auth.con
disable_plaintext_auth = no
Removed comment to !include auth-static.conf.ext
In /etc/dovecot/conf.d/auth-static.conf.ext
passdb { driver = static args = proxy=y nopassword=y }
In /etc/dovecot/conf.d/10-master.conf to fix perms
service auth { ... mode = 0600 user = dovecot
...
In /etc/dovecot/conf.d/20-lmtp.conf
lmtp_proxy = yes
In /etc/dovecot/conf.d/10-director.conf
director_servers = 172.29.9.25 172.29.9.26
director_mail_servers = 172.29.9.10 172.29.9.11
director_user_expire = 15 min
service director { unix_listener login/director { mode = 0666 } fifo_listener login/proxy-notify { mode = 0666 } unix_listener director-userdb { mode = 0600 } inet_listener { port = 4000 } }
service imap-login { executable = imap-login director } service pop3-login { executable = pop3-login director }
# Enable director for LMTP proxying: protocol lmtp { auth_socket_path = director-userdb passdb { driver = static args = proxy=y nopassword=y port=24 } }
Both backend configured and working using ldap, with this director config is working but I still have a problem... if I run command
doveadm director map I get
user mail server ip expire time <unknown> 172.29.9.11 2010-11-13 17:43:31
lmtp, imap and pop director working but in the list the user appears as unknown, how tofix this?? any ideas??
2010/11/13 Aliet Santiesteban Sifontes alietsantiesteban@gmail.com
Today I will try Dovecot Director for a setup using a Cluster Backend with GFS2 on rhel5, my question is if is Director stable for use in production for large sites, I know is mainly designed for NFS but I believe it will do the job also for a cluster filesystem like GFS2 and should solve the mail persistence problem with a node and locking issues. I plan to add a layer behind a load balancer to do the stuff, I will appreciate if you guys can point me to best practices in configuring the director, or how the thing works since is new for me, I have seen the example conf but I don't have clarity in some of the concepts and the wiki is empty. I use 2.0.6, thank's for a great job with dovecot. best regards, Aliet