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).
On Thu, 8 Apr 1999, Luke Mewburn wrote:
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 :/
How long does it take you to do "quota" on after you add some student entries? I thought "quota resize" didn't handle new entries (it complains about them for tree based quotas).
Would you be interested in "network" quotas? I suggested to NAC that it would be nice if one could share quota information between filers. We'll have 4 filers serving our users. We don't want to prohibit them from writing into each others' directories because statistically it should come out even on all filers, but we don't want to give them 4 times the quota. Network wide quotas would be very nice. The user can get his 100MB and put it wherever he wants.
I'd also like to see the end of quota resize and quota off quota on in conjuction to modifying the quotas 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.
Our problem is that it displays too much. We automount each user's home directory. Since we want to permit them to write into each others directory we have quotas on the qtree housing users' directories. Unfortunately that file system is mounted once for every user :(((((((((. Running quota -v displays data related to every home directory mounted on the box. Unfortunately, it appears that Sun does not support the automounter ":" path option in Solaris 2.6 which would fix the problem.
We automount each users home directory because we want to have a data location independent pathing, i.e. /home/tkaczma instead of /home/filer2/tkaczma. This prevents a lot of headaches when users' directories are moved for some reason, like due to disaster recovery or some migration.
Tom
tkaczma@gryf.net writes:
How long does it take you to do "quota" on after you add some student entries? I thought "quota resize" didn't handle new entries (it complains about them for tree based quotas).
It now takes 2-3 seconds instead of 2 minutes, because I changed from using usernames to using UID's.
Would you be interested in "network" quotas? I suggested to NAC that it would be nice if one could share quota information between filers. We'll have 4 filers serving our users. We don't want to prohibit them from writing into each others' directories because statistically it should come out even on all filers, but we don't want to give them 4 times the quota. Network wide quotas would be very nice. The user can get his 100MB and put it wherever he wants.
That's a great idea. I have 3 filers across two campuses, and having a unified quota would be cool.
On Thu, 15 Apr 1999, Luke Mewburn wrote:
It now takes 2-3 seconds instead of 2 minutes, because I changed from using usernames to using UID's.
Interesting. You just plunked in the UIDs instead of usernames with no other modifications, right?
I only have a default quota and it still takes a while to do a quota on. I wonder how the mechanism for default quotas looks in contrast to a "named" quota. The box doesn't even have a password table so the quota on should be just time spent to scan the filesystem.
Now that I think about it, what would be cool is to use the functionalty of WAFL to speed up quota updates. All that would have to be done is update quotas with metadata that changed from the last snapshot when the quota was on. Of course one would have to write the quota database to disk, at least on shutdown. This could be very fast, unless one needs to traverse the filesystem in search of the hierarchical placement of those inodes.
This brings an interesting point, how are quotas counted for hard links? What about hard links across qtrees. This should be possible. Are they counted in each qtree? That would be a sensible thing to do, but it is certainly misleading.
Tom
tkaczma@gryf.net writes:
On Thu, 15 Apr 1999, Luke Mewburn wrote:
It now takes 2-3 seconds instead of 2 minutes, because I changed from using usernames to using UID's.
Interesting. You just plunked in the UIDs instead of usernames with no other modifications, right?
Yup. The actual `quota on' command now takes 2-3 seconds (actually, it panics the F330 at the moment, but that's another issue). Then, you still have to wait the few minutes whilst the filesystem is scanned (i.e, quota report won't work until it's 100% done rebuilding the quota stuff).
The quota file on the F330's have: 5 quota trees 38 group@qtreeA entries a default (`* user@home') entry about 2500 `uid user@home' entries
Even so, the F330 is running a bit out of steam, so we're probably about to put a 7x18G tray on the F740, and migrate all of the users off the F330 and leave it for (preferably bulk) stuff which we don't really need many quotas (if any) for...
This brings an interesting point, how are quotas counted for hard links? What about hard links across qtrees. This should be possible. Are they counted in each qtree? That would be a sensible thing to do, but it is certainly misleading.
You can't hard link across qtrees...
On Fri, 16 Apr 1999, Luke Mewburn wrote:
Yup. The actual `quota on' command now takes 2-3 seconds
Oh, I see. I've never had a problem you described with quota on taking 2 minutes to return. I was actually refering to the time it takes the filer to scan the filesystem.
You can't hard link across qtrees...
What a shame. I wouldn't mind doing that even if it does count it twice.
Tom