Jean Zay: Disk quotas and commands for the visualisation of occupation rates

Introduction

Quotas guarantee equitable access to disk resources. They prevent the situation where one group of users consumes all the space and prevents other groups from working. At IDRIS, quotas limit both the quantity of disk space and the number of files (inodes). These limits are applied per user for the HOME (one HOME per user even if your login is attached to more than one project) and per project for the WORK and the STORE (as many WORK and STORE spaces as there are projects for the same user).

You can consult the disk quotas of your project by using the two commands presented in this document:

You also still have access to the idrquota command. This is the first quota visualisation command which was deployed on Jean Zay. The idr_quota_user and idr_quota_project commands are an evolution of this.

Exceeding the quotas

When a group has exceeded a quota, no warning e-mail is sent. Nevertheless, you are informed by error messages such as « Disk quota exceeded » when you manipulate files in the concerned disk space.

When one of the quotas is reached, you can no longer create files in the concerned disk space. Doing this could disturb other jobs being executed at that time if they were launched from this space.

Warning: Editing a file after you have reached your disk quota limit can cause the file size to return to zero, thereby deleting its contents.

When you are blocked or in the process of being blocked:

  • Try cleaning out the concerned disk space by deleting files which are no longer useful.
  • Archive the directories which you no longer, or rarely, access.
  • Move your files into another space in function of their usages (see the page on disk spaces).
  • The project manager or his/her deputy may request a quota increase for the STORE space via the Extranet interface.

Comments:

  1. Remember to verify the common disk spaces, $ALL_CCFRWORK and $ALL_CCFRSTORE.
  2. A recurrent cause of exceeding quotas is the use of personal Anaconda environments. Please refer to the Python personal environment page to understand the best practices on Jean Zay.

The idr_quota_user command

By default, the idr_quota_user command returns your personal occupation as a user for all of the disk spaces of your active project. For example, if your active project is abc, you will see an output similar to the following:

$ idr_quota_user
 HOME
INODE:   |██-------------------------------| U: 9419/150000  6.28%                                     
STORAGE: |████████████████████████████████-| U: 2.98 GiB/3.00 GiB  99.31%                              
 
ABC STORE
INODE:   |---------------------------------| U: 1/100000  0.00%           G: 12/100000  0.01%          
STORAGE: |---------------------------------| U: 4.00 KiB/50.00 TiB  0.00% G: 48.00 KiB/50.00 TiB  0.00%
 
ABC WORK
INODE:   |███▒▒▒---------------------------| U: 50000/500000 10.00%       G: 100000/500000  20.00%        
STORAGE: |██████████▒▒▒▒▒▒▒▒▒▒-------------| U: 1.25 TiB/5.00 TiB  25.00% G: 2.5 TiB/5.00 TiB 50.00%
 
The quotas are refreshed daily. All the information is not in real time and may not reflect your real
storage occupation.

In this output example, your personal occupation is represented by the black bar and quantified on the right after the letter U (for User). Your personal occupation is also compared to the global occupation of the project which is represented by the grey bar (in this output example) and quantified after the letter G (for Group).

Note that the colours can be different depending on the parameters and/or type of your terminal.

You can refine the information returned by the idr_quota_user command by adding one or more of the following arguments:

  • --project def to display the occupation of a different project than your active project ( def in this example)
  • --all-projects to display the occupation of all the projects to which you are attached
  • --space home work to display the occupation of one or more particular disk spaces (the HOME and the WORK in this example)

Complete help for the idr_quota_user command is accessible by launching:

$ idr_quota_user -h

The idr_quota_project command

By default, the idr_quota_project command returns the disk occupation of each member of your active project for all of the disk spaces associated with the project. For example, if your active project is abc, you will see an output similar to the following:

$ idr_quota_project
PROJECT: abc SPACE: WORK
PROJECT USED INODE: 34373/500000 6.87%
PROJECT USED STORAGE: 1.42 GiB/5.00 TiB 0.03%
┌─────────────────┬─────────────────┬─────────────────┬─────────────────┬──────────────────────┐
│      LOGIN      │     INODE ▽     │     INODE %     │     STORAGE     │      STORAGE %       │
├─────────────────┼─────────────────┼─────────────────┼─────────────────┼──────────────────────┤
│      abc001     │            29852│            5.97%│       698.45 MiB│                 0.01%│
│      abc002     │             4508│            0.90%│       747.03 MiB│                 0.01%│
│      abc003     │                8│            0.00%│         6.19 MiB│                 0.00%│
│      abc004     │                1│            0.00%│           0.00 B│                 0.00%│
│      abc005     │                1│            0.00%│           0.00 B│                 0.00%│
└─────────────────┴─────────────────┴─────────────────┴─────────────────┴──────────────────────┘
PROJECT: abc SPACE: STORE
PROJECT USED INODE: 13/100000 0.01%
PROJECT USED STORAGE: 52.00 KiB/50.00 TiB 0.00%
┌─────────────────┬─────────────────┬─────────────────┬─────────────────┬──────────────────────┐
│      LOGIN      │     INODE ▽     │     INODE %     │     STORAGE     │      STORAGE %       │
├─────────────────┼─────────────────┼─────────────────┼─────────────────┼──────────────────────┤
│      abc001     │                2│            0.00%│         8.00 KiB│                 0.00%│
│      abc002     │                2│            0.00%│         8.00 KiB│                 0.00%│
│      abc003     │                2│            0.00%│         8.00 KiB│                 0.00%│
│      abc004     │                2│            0.00%│         8.00 KiB│                 0.00%│
│      abc005     │                1│            0.00%│         4.00 KiB│                 0.00%│
└─────────────────┴─────────────────┴─────────────────┴─────────────────┴──────────────────────┘
The quotas are refreshed daily. All the information is not in real time and may not reflect your real
storage occupation.

A summary of the global occupation is displayed for each disk space, followed by a table with the occupation details of each member of the project.

You can refine the information returned by the idr_quota_project command by adding one or more of the following arguments:

  • --project def to display the occupation of a different project than your active project (def in this example)
  • --space work to display the occupation of one (or more) particular disk space(s) (the WORK in this example)
  • --order storage to display the values of a given column in decreasing order (the STORAGE column in this example)

Complete help for the idr_quota_project command is accessible by launching:

$ idr_quota_project -h

The idrquota command

The idrquota command provides an overall view of the occupation rates of the different disk spaces.

  • The -m option enables recovering information for the HOME (quotas per user).
  • The -s option enables recovering information for the STORE (quotas per project).
  • The -w option enables recovering information for the WORK (quotas per project).
  • The -p <PROJET> option allows specifying the desired project if your login is attached to multiple projects. It must be combined with the -w or -s option but not with the -m option.
  • The -h option enables obtaining the command help.

The following are two examples using idrquota for visualisation of the HOME and WORK quotas for the active project (choice by default):

$ idrquota -m
HOME: 2 / 3 Gio (58.24%)
HOME: 23981 / 150000 inodes (15.99%)
$ idrquota -w
WORK: 1293 / 5120 Gio (25.26%)
WORK: 431228 / 500000 inodes (86.25%)

The following are two examples using idrquota for visualisation of the STORE and WORK quotas for the abc project:

$ idrquota -p abc -s
STORE: 7976 / 58368 Gio (13.67%)
STORE: 21900 / 110000 inodes (19.91%)
$ idrquota -p abc -w
WORK: 2530 / 5000 Gio (50.60%)
WORK: 454248 / 550000 inodes (82.59%)

General comments

  • The projects to which you are attached correspond to the UNIX groups listed by the idrproj command.
  • The quotas are not monitored in real time and may not represent the actual occupation of your disk spaces. The idrquota command is updated every 30 minutes while the idr_quota_user and idr_quota_project commands are updated each morning.
  • To know the volumetry in octets and inodes of a given directory (example: my_directory), you can execute the commands: du -hd0 my_directory and du -hd0 --inodes my_directory, respectively. Contrary to the “idr_quota” commands, the du commands can have a long execution time which is related to the directory size.
  • For the WORK and the STORE, the displayed occupation rates include both the personal space ($WORK or $STORE) and the occupation of the common space ($ALL_CCFRWORK or $ALL_CCFRSTORE).