Hi,the Cyrus (HA and LB) Cluster question seems to popup very often the last months. With this post I try to summarize the info of the posts of the
following threads: - Cyrus IMAP and MySQL mailboxes (Building load-balancing cluster) - NFSv4, anyone? - Cyrus, clusters, GFS - HA yet again - High availability email server. - Cyrus & LustreI found some older threads which might be of intresst, but not upto date anymore:
- Cyrus 2.3 on shared filesystems - Playing with replicated murder - Using a SAN/GPFS with cyrus - high-availability again - Two Cyrus servers - Cyrus, NFS and mail spools - multiple cyruses via SAN - Cyrus/NFS/SMB - No NFS? Ok, how about GFS/GPFS If some points are incorrect please feel free to correct them. These are the setups for Cyrus in a HA and/or LB Cluster - DNS / Perdition load balancing The users are split on several Cyrus server and DNS or Perdition is used todirect the user to the correct server. This setup is only a static LB cluster and it is not possible to share mailboxes between users on different servers.
But this setup is very easy and there are no problems because there are no shared filesystems. In case one server crashes the some of the users will have no access to the mails. Mails may be lost depending on the kind of crash, the storage and the backup. - Murder setup In this setup the users are split on several backends that are connected via frontendservers. This setup allows shared folders between users on differentbackends. This is like the DNS / Perdition setup only a LB cluster, but users
can be moved easy from one backendserver to another. In case of crash this setup does not differ from the setup above. - Replication Replication can be add to the two setups above. But you need either additional servers or you have to take care to set up replication server and client on one Cyrus server/backend. Replication is only in Cyrus 2.3.x and this setup needs manual intervention i case of failure. In this case the MUPDATE master / DNS / Perdition has to be set to point to the new server. With scripts it should be possible to do this automatical. The replication is asynchron so you might lose some mails. - Shared filesystem Active/Passive This setup can add HA to a normal Cyrus server by storing the Mails and databases on a shared filesystem and monitoring the server with heartbeat. This setup should work with every shared filesystem and there should be no problems with bdb - Shared filesystem Active/Active In this setup all users are on all server. The mailboxes and databases are on a shared filesystem so that changes on one server are visible on all other servers. Cyrus depends on the file-locking of the filesystem. NFSv4, GFS, Lustre, and some other shared filesystem affirm that they have file-locking across cluster nodes. The sockets, lock- and pid-files have to stay on a local filesystem or have to be made unique across cluster nodes. BDB seems to have problems in this setup, because the changes of the lock in the mmaped files are not instantly on all clients/nodes and the use of shared memory. You have to compile Cyrus without bdb-support to get rid of the errors. This setup needs no extra servers, and all use the sameconfiguration. In case of server crash the user use one of the other servers.
The server can be replaced with an clone of one of the other servers. The storage should be too on a HA cluster to make the whole mailsystem ha. The Active/Active Shared filesystem setup is discussed controvers. This setup is not widely used and therefor not tested that mutch. But Dave McMurtrie and Scott Adkins have reported of sucsessfull installations The following shared Filesystems seem support the file-locking GFS http://sources.redhat.com/cluster/gfs/ Lustre http://www.lustre.org/ NFSv4 http://www.nfsv4.org/ Polyserve CFS http://www.polyserve.comVeritas CFS http://www.symantec.com/enterprise/products/overview.jsp?pcid=1020&pvid=209_1
-------------------------------------------------------------------------------- M.Menge Tel.: (49) 7071/29-70316 Universitaet Tuebingen Fax.: (49) 7071/29-5912Zentrum fuer Datenverarbeitung mail: michael.menge@xxxxxxxxxxxxxxxxxxxx
Waechterstrasse 76 72074 Tuebingen
Attachment:
smime.p7s
Description: S/MIME krytographische Unterschrift
---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html