Clustering and replication
Hi! As a part of our clustering Cyrus system, we are considering using replication to prevent a catastrophe in case the volume used by the cluster gets corrupted. (We'll have n nodes each accessing the same GFS, and yes, it can be done, see previous threads on the subject.) Now the workings of the replication code aren't completely clear to me. It can do things like collapse multiple mailbox changes into one and so on. But is it in some way dependent on there being just one cyrus-master controlled group of imapd processes to ensure that all changes to the spool (and meta) get replicated? Or does the replication code infer the synchronization commands from changes it sees on the spool, independent of the ongoing imap connections? That is, do I have to have n replica nodes, one for each cluster node? Or don't I? Thanks for any answers. --Janne Peltonen Email admin Univ. of Helsinki 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
delete user from cyrus
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hello, please tell me how do i delete users from cyrus? -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.5 (MingW32) iD4DBQFFuSHVGaMWa0kHPPoRAkAAAJjn37pYslEAEJf1Srlmdx9ak/++AJ9/IMWN 9PZ2nI6fYUu8/qd1Jlgbng== =BuD7 -END PGP SIGNATURE- 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
Safely moving mailboxes on a live server
Is there any way to move a mailbox to another partition on a live cyrus server without interfering with the users' activities? I performed some testing where I connected to the imap port, issued a few commands, then as the cyrus admin user issued the command "rename --partition test2 user.test user.test" in cyradm. The next imap command I gave it gave the error "Message 1 no longer exists". After disconnecting and reconnecting to the imap port the message was again available. Is this just an unavoidable issue? This is cyrus 2.2.12 under RHEL4. a002 select INBOX * FLAGS (\Answered \Flagged \Draft \Deleted \Seen) * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)] * 1 EXISTS * 1 RECENT * OK [UNSEEN 1] * OK [UIDVALIDITY 1169753773] * OK [UIDNEXT 2] a002 OK [READ-WRITE] Completed a003 fetch 1:* flags * 1 FETCH (FLAGS (\Recent)) a003 OK Completed (0.000 sec) a004 fetch 1:* body * 1 FETCH (BODY ("TEXT" "PLAIN" ("CHARSET" "us-ascii") NIL NIL "7BIT" 6 1)) a004 OK Completed (0.000 sec) a005 fetch 1:* body[TEXT] * OK Message 1 no longer exists * 1 FETCH (FLAGS (\Recent \Seen) BODY[TEXT] "") a005 OK Completed (0.000 sec) Thanks, Brandon Poyner Network Engineer III CCAC - College Office 412-237-3086 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
Sendmail cyrusv2 mailer IGNOREQUOTA argument?
Hey all, Not sure if this is the right place (perhaps a sendmail list would be better?) and apologies if this is documented somewhere (I've looked and look, but have had no luck), but is there an argument or flag I can pass to the cyrusv2 mailer to have it use the IGNOREQUOTA extension of LMTP? As far as why I would want this, the current way email quota is handled is that all communications within the network are not subject to quota restrictions. We currently have a homegrown system that queries the appropriate mailbox store and produces entries in a sendmail access.db on our MX machines to reject users over quota. It works fine for our purposes and it will have to stick around for a variety of reasons, but I'd really like to put the quota information for Cyrus users in Cyrus. There's a number of IMAP clients that can use the QUOTA extension which could be very useful to our users, and well, it seems like a waste to not put this information in Cyrus. It might make my querying of Cyrus for mailbox size go a little bit smoother too, for all I know (now I look at some sort of ANNOTATEMORE flag that gives me the current size). However, in order to do this, I need a way to make sure that all internal mail will flow through to Cyrus users, even when they are over quota. My hope was to have it setup so that the mail server users use to send mail (quite separate from where incoming mail comes from) would just always send IGNOREQUOTA (since anyone using it has to be authenticated) to Cyrus which I'm assuming means that the mail could easily be delivered. Again, apologies if this is documented somewhere, I've dug around for it and I even tried to read the mailer itself, but Sendmail configuration syntax makes my poor newbish brain hurt something fierce. Seems like I could probably put something together using deliver, but I was hoping to avoid that if possible.. As far as our Cyrus setup, it's a cyrus 2.2.13 murder w/ two frontends, two backends, and the mupdate server on one of the frontends. lmtpd listens on the frontends for connections coming from other machines running sendmail. Matt Elson Unix Systems Admin Wesleyan University 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
Re: Migrating Cyrus 2 Cyrus new hardware
> Hya there! > > We are trying to make big upgrade for our Cyrus server. > Now we are running 2.1.9 on single server with 4 partitions > and about 200.000 users! > Each partition about 70G and 1.700.000 mail files. Seems you have quite a number of users but with small quota, I have only experience with the opposite, x000 users but multiple gigabytes of quota on single server configurations. > We thought to use 2.2.12 which is installed and checked > already on new boxes. Or should we go with 2.3 as we don't > use any shared folder/murder features? 99.9% users are using > webmail to connect to Cyrus without any advanced features. I strongly recommend 2.3. I know that there are some issues with murder on 2.3, but apart from that 2.3 has very nice features like delayed_expunge. Those new features have greatly reduced our server load and speed is much better for our usage style. At least for me, stability was very fine with 2.3.7. > New setup is 2 boxes each with 2 partitions each ~2T. > Idea was that partitions 1-2 go to server1, and 3-4 to > server2. Now we created rsync server exporting all old > partitons and tried rsync whole big bunch of files to new > servers, that takes a WHILE :D. Any faster way? rsync wiuld > be good, because then everything is tried 4 times it would > not be so much to rsync. Using rsync is even worse if you are using single instance store and therefore want to preserve hardlinks. However, I think rsync is still the best tool for the job. > I though I will copy mailfiles and then reconstruct > mailboxes.db on each server, but > reconstruct -m > reconstructing mailboxes.db currently not supported > :(( > > All auth is done in sql, so no problems migrating that. > > Should we dump mailboxes.db file, parse with some script to > split it in 2, and then reconstruct on each server? That's what I recommend. Dump it to text, split it and import. That way you get clean new mailboxes db files. > > And what would be best way for quotas? All quotas will be > lifted up afterwards, so I can recreate them and recound > with quota tool? I recommend to create them, AFTER the whole thing is synced and you did a full reconstruct. Simon 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
Migrating Cyrus 2 Cyrus new hardware
Hya there! We are trying to make big upgrade for our Cyrus server. Now we are running 2.1.9 on single server with 4 partitions and about 200.000 users! Each partition about 70G and 1.700.000 mail files. We thought to use 2.2.12 which is installed and checked already on new boxes. Or should we go with 2.3 as we don't use any shared folder/murder features? 99.9% users are using webmail to connect to Cyrus without any advanced features. New setup is 2 boxes each with 2 partitions each ~2T. Idea was that partitions 1-2 go to server1, and 3-4 to server2. Now we created rsync server exporting all old partitons and tried rsync whole big bunch of files to new servers, that takes a WHILE :D. Any faster way? rsync wiuld be good, because then everything is tried 4 times it would not be so much to rsync. I though I will copy mailfiles and then reconstruct mailboxes.db on each server, but reconstruct -m reconstructing mailboxes.db currently not supported :(( All auth is done in sql, so no problems migrating that. Should we dump mailboxes.db file, parse with some script to split it in 2, and then reconstruct on each server? And what would be best way for quotas? All quotas will be lifted up afterwards, so I can recreate them and recound with quota tool? Any advices will be greatly apreciated. Thx. -- kristaps 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