Unified quota wrapper

From ScientificComputing
Revision as of 08:32, 6 March 2019 by Sfux (talk | contribs) (Documentation)

Jump to: navigation, search


We have implemented a unified quota wrapper lquota that can be used to query the file systems space and inode (file or directory descriptor) quota on all file systems on all clusters that we have:

  • /cluster/home/$USER ($HOME, home directory)
  • /cluster/scratch/$USER ($SCRATCH, personal scratch directory)
  • /cluster/shadow (buffering stdout of running batch jobs)
  • /cluster/work (shareholder storage)
  • /cluster/project (shareholder storage)


You can display the documentation of the command by running it with the parameter -h:

[sfux@eu-login-20-ng ~]$ lquota -h
/cluster/apps/local/lquota: Command to check quotas on distruted filesystems
Default: values are diplayed in human readable format (base 10) 

Usage: quota [-h] [-b] [-k] [directory]

-h    display this help message and exit
-b    display all numbers in human readable format (base 2)
-k    display all numbers in Byte instead of the default human readable format
If "directory" is not specified user's home and scratch directory are used as argument
[sfux@eu-login-20-ng ~]$ 

There are space quotas and inode quotas. An inode is a data structure to organize data in a file system. Each file or directory has one inode. Therefore a quota for inodes actually means that you can only have a limited number of files and directories in a storage share. For the home directories, we use a quota of 100'000 inodes, which implies that you cannot have more than 100'000 files and directories in your home directory.


The quota wrapper can display the values either in Bytes, human readable format (base 10) or human readable format (base 2)

Base 10

Name Prefix Size
Kilobyte kB 10^3 bytes
Megabyte MB 10^6 bytes
Gigabyte GB 10^9 bytes
Terabyte TB 10^12 bytes
Petabyte PB 10^15 bytes

Base 2

Name Prefix Size
Kibibyte KiB 2^{10} bytes
Mebibyte MiB 2^{20} bytes
Gibibyte GiB 2^{30} bytes
Tebibyte TiB 2^{40} bytes
Pebibyte PiB 2^{50} bytes


If the command is run without specifying a particular path, then it displays the quota for the home directory, the personal scratch directory and the shadow file system. If a path is specified as argument to the script, then it will display the inode and space quota for this particular storage share:

[sfux@eu-login-10-ng ~]$ lquota
Disk quotas for user sfux (uid 40093): 
     Filesystem   space   quota   limit   grace   files   quota   limit   grace
                  7134M  16384M  20480M           19916   80000    100k        
                     4K   2048M   2048M               2   50000   50000        
Disk quotas for usr 40093 (uid 40093):
     Filesystem    used   quota   limit   grace   files   quota   limit   grace
                   232k  2.273T  2.455T       -      29  1000000 1500000       -
[sfux@eu-login-10-ng ~]$ lquota /cluster/work/sis
Disk quotas for prj 34 (pid 34):
     Filesystem    used   quota   limit   grace   files   quota   limit   grace
                 7.392T  9.095T     10T       - 1141042  10000000 11000000       -
[sfux@eu-login-10-ng ~]$ lquota /cluster/project/sis
Filesystem                   Size  Used Avail Use% Mounted on
eu-ne-project2:/project/sis  9.5T  5.7T  3.9T  60% /cluster/project/sis
Filesystem                  Inodes IUsed IFree IUse% Mounted on
eu-ne-project2:/project/sis    31M  1.1M   30M    4% /cluster/project/sis

For the moment, you might need to use the full path /cluster/apps/local/lquota to run the script. We will add it to the users path soon, such that you will not have to use the full path.