[Kolab-devel] (fwd) how to deal with quotas / suggested feature "monthly quota increase"

Gunnar Wrobel wrobel at kolabsys.com
Wed Sep 1 19:33:00 CEST 2010

Zitat von Gavin McCullagh <gavin.mccullagh at gcd.ie>:

> Hi,
> I've been mulling over how we deal with quotas for a while now.  We haven't
> really been too rigorous with them up to now, but I'd like to change that.
> At the same time, I'd like to reduce the workload associated with
> maintaining them.
> I've graphed our imap spool disk usage vs time in the past and found that
> it is a moreorless linear increase (perhaps slightly super-linear due
> perhaps to new staff hiring, more/larger email usage etc).  This makes
> sense, even the most frugal users accumulate new mail each month.  Their
> own behaviour in deleting mail may change the slope of the line, but it
> will still increase fairly linearly.
> If that is the case, having a static quota is futile.  Every user will some
> day exceed their quota and there's no shame in it.  Our staff who take the
> call can't easily tell if that user has been careful or not so everyone has
> the same discussion which ultimately results in an increased quota.  The
> magnitude of the existing quota is all they have to go on, but that takes
> no account of how long the staff member has been accumulating mail.
> I propose to introduce a simple linear quota increase scheme in our
> organisation.  A new user starts with a standard quota of C.  Then, each
> fixed period (probably month), we increase the quota by a standard amount
> M.
> 	Q(t) = M*t + C
> Now people have a budget each month which they should try and stick to.  If
> they exceed their quota, it's because they're not sticking to their budget
> and we can have a discussion about that.  If we set a reasonable value for
> the global M, we should hopefully get far less people exceeding their
> quota.  For some heavy users, we can agree a larger value for M.  It might
> be necessary every year or two to increase the M for all users.
> I can script this up myself but it would be fantastic if it could be
> implemented in Kolab (something I'm happy to help with).  As far as I can
> see, you'd just need a single extra user entry in the LDAP database to
> describe the M, "Quota Increase Per Month" and a default value for that (so
> if left blank, th global default M value applies).  Then a monthly cron job
> could look after the increase.
> There might be an argument for further tuning M (eg if in a given month, a
> user's disk usage is not within M of their quota, we don't increase it that
> month).  This would avoid idle accounts from ending up with massive quotas.
> This also gives an administrator a means to plan for future disk usage.
> You can sum M for every user and you have the projected monthly increase in
> disk usage per month.
> Kolab users who don't want this feature, simply leave M=0, which would be
> the default.
> Does this sounds useful, ridiculous, pointless, flawed, something else?

Useful. You detailed how that would help you in your server  
maintenance and I'm certain other admins do have the same or similar  
use cases.

I don't see a problem with including this into the server code. Based  
on what you detailed so far I would however have the desire to make  
this feature as much optional and orthogonal to the rest of the server  
as possible.

The script managing the quota probably would not be the problem. What  
I'm not certain about is adding the "M" value as a new LDAP attribute.  
Changes to the LDAP schema usually don't make me too happy. They are  
easy to add but usually also need to be maintained. The are many  
configuration variables one could set for a user but whether keeping  
these in LDAP in really a sensible approach is another matter.

Of course the kolabInetOrgPerson already offers the quota setting  
"cyrus-userquota". So it seems natural adding such a new setting close  
to it.

Jeroen, you have been looking at improving the LDAP schema lately. Can  
I get your opinion here?



> Gavin
> _______________________________________________
> Kolab-devel mailing list
> Kolab-devel at kolab.org
> https://kolab.org/mailman/listinfo/kolab-devel

Gunnar Wrobel
Developer, Kolab Systems AG

e: wrobel at kolabsys.com
t: +49 700 6245 0000
w: http://www.kolabsys.com

pgp: 9703 43BE

This message was sent using IMP, the Internet Messaging Program.

More information about the devel mailing list