Selection of most fitting partition/backend upon account creation

Julien Coloos julien.coloos at atosorigin.com
Thu Dec 16 13:20:09 EST 2010


On Thu, Dec 16, 2010 at 9:43 AM, Michael Menge
<michael.menge at zdv.uni-tuebingen.de> wrote:
> Quoting Bron Gondwana <brong at fastmail.fm>:
>
>> On Wed, Dec 15, 2010 at 03:31:00PM +0100, Michael Menge wrote:
>>>
>>> I would like to see this included in the official cyrus.
>>>
>>> It would be nice if the space reserved by quota could be
>>> taken into account.
>>
>> Oooh... interesting.  Yes, that does make sense.  I don't
>> know about you, but we over-supply quota by heaps.
>
> Yes, i think this is common, so the "not reserved" disk
> space can get negative. And the code must be able to hanlde
> this, and the case where the "not reserved" disk space is 0.
>
>> We
>> have a "balancing task" that watches for servers filling
>> up and moves users automagically behind the scenes.
>>
>> We use sync_move, which I'm planning to write into Cyrus
>> for the future as well - where it uses the replication
>> engine rather than the evil XFER :)  Much saner, and it
>> means you can sync everything FIRST and then just
>> replicate the diff once you actually shut down the
>> mailbox, so the downtime is much shorter.
>>
>
> Very nice
>

You are talking about the quota associated to the mailboxes already
present on the partition/server, right ?

On our platforms we also give more quota to all users than what we
could physically store. Sometimes not all users have the same quota
limit: either because some subscribed to a specific service, or
because some backends are shared between clients.
To precisely determine how much space would be left if all users would
fill their mailbox, we would need to retrieve the quota usage of all
those mailboxes. Unfortunately we still have legacy quota db (that is:
one file per mailbox) on most platforms ... and migrating to other db
formats is not always possible since some clients are very picky about
the actions we do on 'their' platform ;)
Considering some backends do host hundreds of thousands of mailboxes,
determining the quota usage of all users would be quite time consuming
for us :)

Thus we currently still rely on many tools to watch backends usage and
perform account moving between backends.

For the time being we will focus on the code we currently have.
But there could be another selection mode that may make sense: if we
consider that backends tend to be homogeneous (as far as quota usage
is concerned), then comparing the average available space per mailbox
on each partition could also fit some needs. Though that would still
require to determine the number of mailboxes on the concerned
partition.


Regards


More information about the Cyrus-devel mailing list