Disk quotas on brain servers

Background

As a user of the brain servers you are entitled to write data under different directories:

  • Your ‘home’ directory (e.g. /home/paolo ): this is the directory you find yourself when you connect to the servers;
  • A directory created for you under /data (e.g. /data/paolo ): this is the space you use to store your data, either data sources or results of your computations;
  • A directory you create under /scratch (e.g. /scratch/my_temporary_dir ): this directories are normally used as temporary space.

/home and /data are shared among the two brain servers; /scratch is local to each of them.

The ‘quota’ concept

The space available under /home and /data is, obviously, limited. Also: by using a shared (by many users) system you are required to behave as a good citizen. For these reasons some limits (quotas) are set on the space available to you.

As of today (June 2023) this limits are:

  • 100 GB under /home
  • 60 GB under /data
  • no limits (aside the 6 TB of physical space) under /scratch.

PLEASE NOTE:

  1. Those of you who have (way) more data than the above defaults have been given more space: this situation is temporary (see n. 3);
  2. Old data you left in /scratch will be deleted without warning. It’s your responsibility to cleanup your stuff.
  3. The above limits are subject to change once some cleanup (performed by you!) will be performed.

When you are approaching one of these two limits two things happens:

  • Whenever you get very close to one of the limits an email is sent periodically to you warning that you must remove some data; Still, you can add some more data;
  • Whenever you try to overrun the quota limit no more data are written and you get an ‘Input/output error‘ or ‘No space left on device‘ or ‘Disk quota exceeded‘; In this case your programs will probably crash, or you cannot login anymore to the servers, or some other problems arise.

Checking the quota

To check your quota usage you can use the showquota command.

manuela@brain01:~$ showquota 

Disk quotas for user manuela (uid 1002): 

                |                     | available  |  hard      |
     Filesystem |     used space (MB) | quota (MB) | limit (MB) | grace
                |                     |            |            |      
          /data |  791321.52 (100.0%) |  791552.00 |  792576.00 |
          /home |       0.09 (  0.0%) |  102400.00 |  103424.00 |

The columns that are useful to you are Filesystem and the first three: used space, available quota and hard limit

  • The used space column indicates how many data you have allocated
  • The available quota column indicates the limit that will trigger the email
  • The hard limit column is the ultimate quantity of space you can allocate before hitting the, e.g., ‘Disk quota exceeded

Suppose now the user, who has already allocated 773 GB of data under /data, tries to allocate 4 more GB of data.

manuela@brain01:/data/manuela$ dd if=/dev/zero of=4GB bs=1M count=4096
dd: closing output file '4GB': Disk quota exceeded

And the showquota command will become:

manuela@pnclogin:/data/manuela$ showquota

Disk quotas for user manuela (uid 1002): 

                |                     | available  |  hard      |
     Filesystem |     used space (MB) | quota (MB) | limit (MB) | grace
                |                     |            |            |      
          /data |  792575.97 (100.1%) |  791552.00 |  792576.00 |
          /home |       0.09 (  0.0%) |  102400.00 |  103424.00 |

Your ‘used space’ indication will be blinking, meaning you have a problem!
The user will now start to receive some mail warnings. The only way to recover this is to move or delete some data.

Checking space

To check the amount of space occupied by, say, a directory you can use the du command:

manuela@brain01:/data/manuela$ du -sh DOH_results/
116G    DOH_results/

Also the ls -lh command gives a human readable representation of the physical sizes of your files:

manuela@brain01:/data/manuela/DOH_processed$ ls -lh
total 653G
-rw-rw-r-- 1 manuela manuela  37K lug  4  2019 81041954347
-rw-rw-r-- 1 manuela manuela  37K lug  4  2019 dir.txt
-rw-rw-r-- 1 manuela manuela 5,0G lug 22  2019 download
-rw-rw-r-- 1 manuela manuela  49M lug 29  2019 download.1
-rw-rw-r-- 1 manuela manuela 646G lug 31  2019 DR_OBJ_processed.tar.gz
-rw-rw-r-- 1 manuela manuela 4,2K lug 30  2019 list.txt

To get a better view of any directory content (including hidden files and directories) you can also use the space script. It can be used from within every directory and uses internally the du command (so it can take time to complete…) providing a sorted list of everything:

$ space

Calculating disk space usage: please wait ...

     MB    |      KB     | path
-----------+-------------+----------------------------------------
      0.00 |           0 | .python_history
      0.00 |           4 | .Xauthority
      0.00 |           4 | .bashrc
      0.00 |           4 | .lesshst
      0.00 |           4 | .mysql_history
      0.00 |           4 | .profile
      0.00 |           4 | .sqlite_history
      0.00 |           4 | .sqliterc
      0.00 |           4 | .wget-hsts
...
...
      0.02 |          20 | .java/
      0.03 |          28 | .config/
      0.03 |          28 | .local/
      0.03 |          28 | .viminfo
      0.03 |          32 | qemu-help.txt
      0.04 |          36 | snap/
      0.04 |          44 | .bash_history
      0.52 |         528 | wireguard/
      0.73 |         748 | .iLOrest/
     12.38 |       12680 | .mozilla/
     20.20 |       20688 | .cache/
   1481.31 |     1516864 | slurm/
   2618.38 |     2681220 | netapp-active-iq/
-----------+-------------+----------------------------------------
     MB    |      KB     | path

NOTE: Entries terminating with '/' are directories.

…But I need more space!

Well, actually the PNC storage system does 🙂

Anyway: if you really need more space you need to send an email to administration.pnc@unipd.it detailing:

  1. the purpose of your request;
  2. how much space you need and where;
  3. for how much longer you will need the space.