Disabling quotas in cyrus
Tim Champ
champ at umbc.edu
Mon May 11 12:40:29 EDT 2009
Hello all. We are doing some substantial number of moves of users
between backends here, and have been running into problems with
quotas.db. We are currently running 2.3.8 as our version of cyrus.
The problem is that we seem to run into lock issues with quotas.db
(nothing else yet, thankfully!) where errors arise, and in some cases it
brings cyrus to a halt. We have to then grab a last known good
quotas.db file (either from a backup or a export that we import) and
then restart with that. Then we do a "quota -f" to update, and await
the users that aren't in the file (since they were moved after that last
known good copy) to "pop up" on the list so we can fix their quota (as
it gives them 0 by default).
The problems with this are those users start bouncing mail, it takes a
lot of manual intervention, downtime on the mail server, etc.
So, what we were thinking of is disabling quotas on the servers we're
moving to, so that this problem is mitigated and our moves can continue
at a good pace. Currently we've just been sticking to a single batch
script that only does one "xfer" at a time, as that seems to avoid any
major problems. (we still see it occasionally, but it seems to recover
on its own) We would like to run multiples, but it seems to really
start to have problems with locking on the multiple xfers. We haven't
noticed any problems on the "from" boxes with moves.
Also, once disabled, we'd then need to be able to re-enable and set
quotas for everyone at a future time. (Hopefully without a manual one at
a time process)
Is there any semi-easy solution to this? If not, we'll stick to what
we're doing, but wanted to ask. Also, this problem doesn't seem to
happen in normal functions of our servers (we hadn't before run into it
until these xfers) If anyone has further questions for me, I'll answer
as best I can. Sample log entries below for the curious. Sorry if
this is a "RTFM" question, I just haven't seen anything about it in my
searches.
Thanks!
Tim Champ
UMBC DoIT Unix Infrastructure Team
Logs:
$DATE MAILSERVER imap[14262]: [ID 335833 local6.error] DBERROR: error
fetching user.$USER.$FOLDER: cyrusdb error
$DATE MAILSERVER imap[14262]: [ID 602473 local6.error] IOERROR:
lock_shared /$SERVER/data/config/quotas.db: Bad file number
--- This sometimes resolves itself fine, but other times it causes cyrus
to quit functioning. If you attempt to restart cyrus, it flakes out
with quotas.db being invalid. This log blurb is during the move of $USER.
More information about the Info-cyrus
mailing list