Filesystem Quotas

 

 

In order to keep filesystems from filling up and disrupting work, we use filesystem quotas to limit usage in certain areas by user or group. This also helps us observe growth in disk usage over time so we can plan future expansion.

By default, the filesystem quotas are as follows:

filesystem

quota

(maximum total data size allowed)

file limit

(maximum number of files allowed)

filesystem

quota

(maximum total data size allowed)

file limit

(maximum number of files allowed)

/home

100 GiB per user

none

/n/groups

varies by lab/group

none

/n/data#

varies by lab/group

none

/n/scratch3

10 TiB per user

1,000,000 files or directories

/n/scratch_gpu

15 TiB per user*

none

scratch_gpu is only available for labs whose PI has a primary or secondary appointment in a pre-clinical HMS department.

Checking Usage

You can use the quota and du commands to check filesystem usage.

Usage by User and Group

The quota command on O2 will show your usage and usage by groups of which you are a member for directories (accessible on O2) that have quotas imposed.

Type quota at the command prompt on any O2 system. The output will look something like:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /home [i] usage warning limit ===== ----- ------- ----- user mfk8 (uid 5005) 75GiB 95GiB 100GiB * /n/groups [f] usage warning limit ========= ----- ------- ----- group smith (gid 3204) 142GiB user mfk8 (uid 5005) 17GiB /n/groups/smith [f] usage warning limit =================== ----- ------- ----- directory 142GiB 200GiB clusters ======== [ f - itisimdcp05 as of 2021-05-10 13:00:01 ] based on default quota -- * [ i - itisimdcp10 as of 2021-05-10 13:00:00 ] usage exceeds limit --- !

You will see a number representing your individual storage usage in your /home directory on the "user" line above the 100GiB quota on the "directory" line. Also, if you are a member of a group directory, you'll have a line for your usage above the "directory" line showing all group members' usage.

If you have reached a quota limit, you will see an exclamation mark or ! at the end of the line for the directory that has exceeded the quota.

The quota data is updated on an hourly basis. You can tell how recent the data you're viewing is from the timestamp at the bottom of the quota output. It is possible to hit a quota limit (e.g. in your home directory or your group directory) but not have the output from the quota command reflect this problem for about an hour due to the information being periodically updated.

scratch3 quotas

For data on /n/scratch3, you need to use the scratch3_quota.sh command:

1 2 3 4 $ /n/cluster/bin/scratch3_quota.sh Directory: /n/scratch3/users/m/mfk8 Space used: 0TiB used of 10TiB Files/directories: 1256 of 1000000

Note that "limit" is the total amount of space you are allowed to use. ("quota" is actually describing a "soft quota" where you get a warning but can still write. The /n/scratch3 filesystem doesn't use these.)

Note: It is against RC policy to artificially refresh last access time of any file located under /n/scratch3.

For more information on scratch3, please refer to the dedicated scratch3 wiki page.

scratch_gpu quotas

Quota utilization for /n/scratch_gpu is reported by the command quota if used from a node where the /n/scratch_gpu filesystem is available (login, transfer or compute-g nodes)

Usage by Directory

Another way to check usage is to total the size of files in a directory using the du command. For example, you might want to see how much space your sub-directory in your group's shared directory is consuming:

  • To check the size of a directory (e.g. /n/groups/smith/mydirectory ):

    • Run the command: du --apparent-size -hs /n/groups/smith/mydirectory

    • The output returned is the total size.

  • Note that du can take quite some time for directories containing large numbers (tens of thousands or more) of files, because it must check the size of every file to compute the total. In general, it is better to use quota to find usage information, when possible, or at least to run du on sub-directories instead of top-level directories.

  • The --apparent-size option is required to find files' actual sizes. Without this option, the reported size will include data protection overhead (redundant copies of data on the O2 file server, which protects against hard drive failures).

  • Please do not run du from a login node. Long running and computationally intensive processes will be killed on login nodes. To ensure that your command for checking directory usage is not interrupted, please run du from a compute node instead. You can use the srun --pty command to start an interactive job, and then run du once you have been allocated resources. More information on running SLURM jobs can be found on the Using Slurm Basic wiki page.

When you are over quota

How to tell you are over quota

If a shared group directory is over its quota, when you try to write a file to somewhere in that directory or a directory below it, you will get an error message. However, you will still be able to write to your home directory, or other group directories you may belong to.

Having a full home directory can lead to extra issues. In addition to not being able to write regular files, the computer may be unable to write invisible "housekeeping" files, which can lead to other problems. For example, on logging in, you may see an error like this:

1 /usr/bin/xauth: error in locking authority file /home/mfk8/.Xauthority

Also, when trying to edit files, you may get errors about an inability to write temporary files.

You can verify that you are over quota by running the quota command. If you see an ! at the end of a line of output, then it means you have hit or exceeded a limit.

What to do when you are over quota

Use the commands above to confirm that you are above your quota, and delete data as needed to let you write new files again.

Note that the quota command results are only updated hourly. If you were writing files very rapidly, the quota command might not show a completely full quota. Also, deleting files won't immediately change the results from that command. If you delete 5 GiB of files, you should be able to write 5 GiB of new files in that location immediately, even if quota hasn't caught up yet.

You can delete a whole directory with a command like rm -rf dir. Please be careful when using a command like this: you could delete all of your files!

If you delete files in a snapshotted system by accident, see the Restoring Backups section on the Filesystems page to get them back within sixty days. On a scratch or temporary filesystem, there is no way to get files back.

Requesting a Quota Increase

Home folders will not be expanded. However, we are happy to make reasonable quota increases for your group or website folders. Please navigate to our Storage website to find the storage request forms. Links to storage request forms are located in the expandable blocks for each type of storage. When you fill out the storage request forms, please let us know the amount of additional space you would like and a reason for your increased storage needs. If you have any questions, please reach out to us.

Other Resources

For additional information on HMS RC storage offerings, and where O2 cluster users can store data, please reference the following pages: