We are currently migrating the home directories of 1200 users to our 740 (dot 5.2.1) All of our clients are either NT 4.0 (85%) or Win 95 (15%) and the filesystem on the netfiler is NT only. The quota file is configured as such:
* user@/vol/uservol/users 100M #default Users
Which should give everyone a 100Mb limit by default. Immediately after moving a user (with BackupExec-thus preserving the acl's) i run a program from TrustedSystems called reacle.exe that will allow me to force ownership of the files to the proper owner.
All this said and done, the quotas are working correctly (no error messages) and are showing the users and thier limits. However, the actual file space accredited to the users is incorrect. It seems that only the files that they, themselves touch are assigned to them. I have users who i know are owners of more than 100Mb of files who, when the quota report is running, only appear to have 40K credited to them. Here is an example report for users who have more than 80Mb in their home directories.
Type ID Volume Tree Used Limit Used Limit Quota Specifier ----- -------- -------- -------- ------- ------- -------- -------- ----------------- user * uservol users 0 102400 0 * user exral uservol users 2260 102400 29 user exjjr uservol users 90876 102400 188 user extyd uservol users 20 102400 3 user exjaw uservol users 1212 102400 4 user exaau uservol users 1692 102400 36 user exusl uservol users 960 102400 10 user extxf uservol users 168 102400 8 user exjec uservol users 4332 102400 15 user mitji uservol users 1336 102400 2
Is there anything i need to do that doesn't require user interaction? Any input would be appreciated.
--Patrick Day System Admin. Bayer Corporation.
On Wed, Apr 07, 1999 at 03:53:00PM -0400, Patrick.Day.B@bayer.com wrote:
- user@/vol/uservol/users 100M #default Users
I wasn't aware that you could do default per-user quotas, so I decided to give this a try. After fixing up a couple important folks like root and www so that they would have no quota, I have the following:
# Quota Target type disk files # ------------- ----- ---- ----- * user@/vol/vol0 999M 50K 0 user 999G 999K 15 user 999G 999K 25 user 999G 999K /www tree 22G /ftp tree 7G /mail tree 6G /moss tree 2G
I have a few troubles:
The filer seems a bit slower than usual. There are about 13000 users, is managing quotas in the NetApp unfeasible? Perhaps this is just my perception, CPU utilization is still at 50%, which seems pretty normal.
For some users, I'm getting reports of 700+ megs of usage, but I can only find 40 megs worth of files owned by them. Any clues on this?
We have YP - can I map usernames to UIDs using YP, or will this be a large amount of overhead?
What sort of message will the user get if they run out of space? Will it just say filesystem full, or will it actually mention quota? Any ideas how sendmail will handle it when they get email?
Dane Jasper dane@sonic.net writes:
I wasn't aware that you could do default per-user quotas, so I decided to give this a try. After fixing up a couple important folks like root and www so that they would have no quota, I have the following:
User and group quotas don't apply to root. (Tree quotas do, of course.)
The filer seems a bit slower than usual. There are about 13000 users, is managing quotas in the NetApp unfeasible? Perhaps this is just my perception, CPU utilization is still at 50%, which seems pretty normal.
Quotas will slow some operations down. Default quotas are only a convenience. Every time the default quota is used for a user, a new entry in the quota table (or whatever) is created. So, the performance impact of 13000 users is the same whether or not you are using default user quotas.
For some users, I'm getting reports of 700+ megs of usage, but I can only find 40 megs worth of files owned by them. Any clues on this?
They may own data in other directories in the tree. For example, if /home is the tree, /home/bob may only contain 50MB. But, bob's usage will be 100MB if /home/sue has another 50MB of data owned by bob.
We have YP - can I map usernames to UIDs using YP, or will this be a large amount of overhead?
Yes, you can. UID to username mapping is typically only used for infrequent operations: CIFS authentication, reading in the quota table, etc. The overhead shouldn't be too bad.
Could someone from NetApp let us know when the overhead is bad? (I'm not using a PDC yet, so ACLs aren't a factor for me. Actually, our CIFS load is so low (< 0.5%), it doesn't matter much at all.
What sort of message will the user get if they run out of space? Will it just say filesystem full, or will it actually mention quota? Any ideas how sendmail will handle it when they get email?
Most Unix systems' write() calls will fail, returning EDQUOT. Some badly-written userland programs (especially ones written by your average user) don't check the return value of write(), and can loop forever. Once or twice, this has sent the load on a NetApp here into the stratosphere (basically: write, fail, write, fail, ... very rapidly).
Exceeded quotas are also logged to /etc/messages.
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.
- Dan
On Wed, 7 Apr 1999, Daniel Quinlan wrote:
Quotas will slow some operations down. Default quotas are only a convenience. Every time the default quota is used for a user, a new entry in the quota table (or whatever) is created.
Hmmm, I think you're partially right, but we can get a definite answer only from NAC. I think all the entries are created on quota on, which brings me to a point; what happens when a user is added to the password table? I guess that entry is added at the point he first accesses the filesystem.
Tom
On Wed, 7 Apr 1999, Dane Jasper wrote:
I wasn't aware that you could do default per-user quotas, so I decided to give this a try. After fixing up a couple important folks like root and www so that they would have no quota, I have the following:
# Quota Target type disk files # ------------- ----- ---- -----
user@/vol/vol0 999M 50K
0 user 999G 999K 15 user 999G 999K 25 user 999G 999K /www tree 22G /ftp tree 7G /mail tree 6G /moss tree 2G
Maybe, I'm reading this wrong but I see all the users having quotas. The default setting takes precedence over any lines following it. Am I wrong?
We have YP - can I map usernames to UIDs using YP, or will this be a large amount of overhead?
You can, but YP support in NACs is shakey. If you're using 5.2x you should be using a patch release like 5.2.1P1 or 5.2.1P2. I hope they roled in these patches into 5.3. I haven't looked into the list of fixed bugs for 5.3 yet.
Any ideas how sendmail will handle it when they get email?
It won't deliver, hence, unfortunately, we don't have quotas on mail. Fortunately, we moved mail from a local filesystem to IMAP/POP servers which use databases.
Tom
On Wed, 7 Apr 1999, Dane Jasper wrote:
I wasn't aware that you could do default per-user quotas, so I decided to give this a try. After fixing up a couple important folks like root and www so that they would have no quota, I have the following:
# Quota Target type disk files # ------------- ----- ---- -----
user@/vol/vol0 999M 50K
0 user 999G 999K 15 user 999G 999K 25 user 999G 999K
Maybe, I'm reading this wrong but I see all the users having quotas. The default setting takes precedence over any lines following it. Am I wrong?
Sorry. :-)
Here's how quotas work:
First the quota command reads the entire quota file, creating an in-memory data structure associated with each entry in the quota file.
After this, the quota command triggers a background process to scan all inodes, updating the quota entries appropriately.
If there is a default quota, then whenever the scanner finds an inode with a UID (or GID) that has no existing quota, then it creates a new quota based on the default quota.
So you can see, it doesn't matter where the default quota is in the quota file, because the entry based on the default won't be created until the scanning process, which occurs after the entire quota file has been read. If there's a specific user quota anywhere in the quota file, then when the scanning occurs, there won't be any need to create a new quota based on the default, because there will already be one.
Dave
On Thu, 8 Apr 1999, Dave Hitz wrote:
Maybe, I'm reading this wrong but I see all the users having quotas. The default setting takes precedence over any lines following it. Am I wrong?
Sorry. :-)
You are so right. I looked in the manual and it appears that all the *'s are placed towards the end of the table and in one case the page breaks conveniently separating some *'s from the end of the table. I guess remembering this layout I automatically assumed that *'s match everything unmatched so far. Sorry for misleading people, and possibly sending them into a panic.
Tom
Patrick.Day.B@bayer.com writes:
All this said and done, the quotas are working correctly (no error messages) and are showing the users and thier limits. However, the actual file space accredited to the users is incorrect. It seems that only the files that they, themselves touch are assigned to them. I have users who i know are owners of more than 100Mb of files who, when the quota report is running, only appear to have 40K credited to them. Here is an example report for users who have more than 80Mb in their home directories.
The data files are probably owned by a UID other than that user. User quotas have nothing to do with the name of subdirectories under the tree. If I have 1GB of files under /home/quinlan (/home being the quota tree), but 800MB of the files are owned by root or someone else, only 200MB will show up in the quota report as being owned by me.
This can really be a problem if some users have root privileges.
- Dan
On Wed, 7 Apr 1999 Patrick.Day.B@bayer.com wrote:
Is there anything i need to do that doesn't require user interaction? Any input would be appreciated.
Have you tried tunning quota off and then quota on after you change the ACLs. That should cause the filer to recompute the quotas. I think that the fact that you change the ownership causes the NetApp to malfunction. OTOH, I wonder if it handles taking ownership correctly, i.e. if a user does it to a file which becomes his.
Tom