Selection of most fitting partition/backend upon account creation
Michael Menge
michael.menge at zdv.uni-tuebingen.de
Wed Dec 15 09:31:00 EST 2010
Quoting Julien Coloos <julien.coloos at gmail.com>:
> Hi,
>
> In latest cyrus versions (beginning with 2.3.x branch), cyrus is
> capable of selecting the most fitting partition when creating a new
> account. To do so, the default partition has to be left unspecified,
> and in this case cyrus selects the partition with the most free space.
> Similarly, when creating an account from a murder proxy, it is
> possible to let cyrus select the backend with the most free space.
>
> Due to some of our clients needs, we had to rework those features to
> handle other modes of selection (see below). We currently have code
> for 2.3.16 version.
> If you are interested, we could create a patch out of it, adapted for
> 2.4.5 version, and add an entry for it on bugzilla.
>
>
> Here are some details on the changes we made:
>
> Partitions/backend are managed using a new structure which contains
> all valuable data. Those data are retrieved the first time it is
> needed, and then cached (configuration allows to refresh data).
>
> New configuration options manage partition/backend selection:
> - partition_mode: how most fitting partition is selected; value is one of
> - random: (pseudo-)random selection
> - freespace-most: partition with the most free space (KiB)
> -> same as current cyrus behaviour
> - freespace-percent-most: partition with the most free space (%)
> - freespace-percent-weighted: each partition is weighted
> according to its free space (%)
> -> the more free space the partition has, the more chances it
> has to be selected
> - freespace-percent-weighted-delta: each partition is weighted
> according to its difference of free space (%) compared to the most
> used partition
> -> the more the partition is lagging behind the most used
> partition, the more chances it has to be selected
> -> actually the code is made so that even the most used
> partition has a few chances to be selected, and those chances increase
> when other partitions get closer
> - partition_mode_exclude: list of partitions to exclude from
> selection mode
> - partition_mode_weighted_usage_limit: limit of partition usage (%)
> -> if a partition is over that limit, it is automatically
> excluded from selection mode
> -> if all partitions are over that limit, this feature is not
> used anymore
> - partition_mode_usage_reinit: for a given session, number of
> "operations" (e.g. partition selection) for which partitions usage
> data are cached
> -> useful for clients that massively create new mailboxes using
> the same session
>
> - serverlist_mode: same as partition_mode, but used on proxy for
> selecting most fitting backend
> - random: (pseudo-)random
> - freespace-most: backend with the most (total) free space (KiB)
> -> same as current cyrus behaviour
> - freespace-percent-most: backend whose partition has the most
> free space (%)
> -> and not the backend with the most (total) free space (%);
> the goal is to compare the most fitting partition of each backend
> - freespace-percent-weighted: same as for partition selection,
> comparing the free space (%) of the least used partition of each
> backend
> -> again the goal is to compare the most fitting partition of
> each backend
> - freespace-percent-weighted-delta: same as for partition
> selection, comparing the free space (%) of the least used partition of
> each backend
> -> again the goal is to compare the most fitting partition of
> each backend
> - serverlist_mode_weighted_usage_limit: same as
> partition_mode_weighted_usage_limit
> - serverlist_mode_usage_reinit: same as partition_mode_usage_reinit
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.
--------------------------------------------------------------------------------
M.Menge Tel.: (49) 7071/29-70316
Universität Tübingen Fax.: (49) 7071/29-5912
Zentrum für Datenverarbeitung mail:
michael.menge at zdv.uni-tuebingen.de
Wächterstraße 76
72074 Tübingen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5267 bytes
Desc: S/MIME Signatur
Url : http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20101215/45430259/attachment.bin
More information about the Cyrus-devel
mailing list