Daniel Quinlan writes:
Exceeded quotas are also logged to /etc/messages.
This is *damned* annoying. With 2500 students all hammering one of my filers (a F330 in this case), we generally get /etc/messages.? ranging in size from 10 MB to 150 MB (yes, 150 *megabytes* in a week!) (My local NetApp tech asked to get off my autosupport because the mail was too large ;-) This causes the filer to choke (i.e, 100% load) whilst sending the `autosupport' email, and my mail program gets a bit unhappy with it. I wrote a procmail rule to trim the mail down to a more manageble 30KB: something like: :0 w: root/netapp/$LOCK * ^TOnetapp-admin@cs.rmit.edu.au | egrep -v '(last message repeated [0-9]+ times$|(disk|tree) quota exceeded)' | $RCVSTORE +root/netapp
I submitted a Request for Enhancment on how to solve this. Basically, I asked for something along the lines of:
* Add a flag to the per-quota-entry data structure which the filer uses to maintain current state. If this flag is set, it indicates if a message has already been logged about that quota being exceeded.
* Every time the quota entry is checked (during a disk write, or whatever), do the following: if (quota not exceeded) { flag = 0 } else { /* quota exceeded */ if (flag == 0) { syslog("quota exceeded ...") flag = 1 } } I.e, don't bother logging a message if that user has already had a message logged about them. However, if they go under quota, clear the flag, so we get a message when they exceed it again.
The only response I've received (second hand) is along the lines of ``we've fixed it, but a different way''.
[Hmm; I should put support@netapp.com (or whatever) on autosupport; maybe then they'll listen after getting a 30MB email message every week ;-]
I'd recommend using a userland program (on login) to regularly tell users how close they are to exceeding their quota, in addition to monitoring quotas for your own information.
I wrote a perl script which can do all sorts of funky reporting based on the output of `quota report', including playing ``what if'' games based on the quota report and the `/etc/quotas' file you're about to apply. It currently works for OnTAP 5.2.1, although I could probably hack support back in for 4.x if people wanted it. Checkout: http://www.cs.rmit.edu.au/~lukem/src/quotarep
An aside; on our main student filer (an F330), we have nearly 6000 users, and 2500 separate quota entries; we generate an individual quota entry per student based on subject enrolment. Works quite well, although the `quota resize' takes over two minutes to complete, and I'm a bit sick of the huge messages file :/
We've had our share of quota bugs (especially the ``quota -v doesn't display anything'' problem), but in general, the NetApp quota system works well. It's definately easier to manage than standard UFS quotas (as well as the ability to recalculate on the fly; UFS quotacheck requires a quiscient filesystem to work).