Filesystems
Overview
Teaching: 30 min
Exercises: 5 minQuestions
Where can I store my programs, simulation results, large files?
Objectives
Understand the purpose of different filesystems on Blue Waters.
Know what files contribute to quota on each filesystem
Know how to control access of other users to your data
Online storage
All Blue Waters users are given access to three directories located on different filesystems called Home, Projects, and Scratch. These filesystems are accessible from anywhere on Blue Waters and, therefore, together form the called online storage system.
Home directory
When you log in to Blue Waters, you arrive at your home directory. Execute:
$ pwd
You should see either
/u/sciteam/username
for standard Blue Waters accounts or
/u/training/traXXX
for training accounts.
This is a path to your home directory. You should use it for things like storing your source code, compiling programs, etc. It has a relatively modest quota of 1 TB and 5 M (million) files. You can exceed this quota for the duration of 7 days, at which point you will be required to remove files to continue using Blue Waters. There is, however a hard limit of 1.5 TB and 10 M files that you will not be allowed to exceed. Note, that this directory is backed up by Blue Waters on a daily basis and if you accidentally delete a file or a directory - email us at help+bw@ncsa.illinois.edu.
Projects’ space
Another directory that you have been given access to is the so-called projects directory. The purpose of this directory is to share large files between members of the group. The actual path to this directory depends on the Project Short Name, or PSN, of your project. To find out PSN of your project, execute:
$ projects
Username: username
Primary Project
-------------
xyz | Project description
-------------
Available Projects
-------------
xyz | Project description
Here, we can see that our PSN is: xyz
. Therefore, our project directory is located at:
/projects/sciteam/xyz
for standard projects and at /projects/training/xyz
for training ones.
Projects directory has a quota of 5 TB and 25 M files,
a hard limit of 5.5 TB, no hard limit on the number of files, and, as before
a 7-day grace period.
Unlike home directories, the quota and a hard limit that apply to this directory
are shared by all members of the project.
Just like home directories, your project folder is backed up on a daily basis.
Scratch space
Finally, you can also access the so-called scratch directory.
It is located under /scratch/sciteam/username
for standard accounts and under
/scratch/training/traXXX
for training accounts, has a quota of 500 TB and 50 M files,
a hard limit of 550 TB, no hard limit on the number of files, and a 7-day grace period.
Like your home directory, only you have access to it.
Like the scratch directory, the quota and a hard limit are shared by all group members.
Scratch space is not backed up!
Because of the much higher limits, scratch directory is usually the place from where users submit jobs and store the immediate results of their simulations or analyses. There is, however, a 30-day purging policy: all files not modified within the last 30 days are purged automatically. Therefore, make sure to move important data from your scratch directory as soon as possible.
quota
command
To check how much space you are using in all three filesystems, use the quota
command:
$ quota
Lustre Quota Information
================================================================================================
[ username ].....................................................................................
Filesystem bytes quota limit grace files quota limit grace
/projects 3.2MiB - - - 0K - - -
/scratch 996.0KiB - - - 0K - - -
/u 3.9GiB 1.0TiB 1.5TiB - 121K 5M 10M -
______________________________________Project_group_quotas______________________________________
[ /scratch ]....................................................................................
Group bytes quota limit grace files quota limit grace
TRAIN_barx 4.0KiB 500.0TiB 550.0TiB - 0K 50M - -
[ /projects ]...................................................................................
Group bytes quota limit grace files quota limit grace
TRAIN_barx 4.0KiB 5.0TiB 5.5TiB - 0K 25M - -
Nearline Quota Information for user
================================================================================================
username Used: 4.2TiB of 5.0TiB Assessed on: Mon Jan 14 17:11:01 2018
Nearline Quota Information for groups
================================================================================================
TRAIN_barx Used: 0 of 50.0TiB Assessed on: Mon Jan 14 17:11:01 2018
Fine-grained access control
Blue Waters supports fine-grained access control to users’ files and directories via
Access Control Lists, or ACL.
This means that in addition to the usual chmod
command, you can use setfacl
and getfacl
set of commands to grant or revoke access to your data for any specific user on the system.
For example, to grant read access to your home directory to user daniel
, execute:
$ setfacl -m u:daniel:r-x $HOME
To revoke access to your scratch directory from user ben
, execute:
$ setfacl -m u:ben:--- /scratch/sciteam/username
To check current ACL, use the getfacl
command:
$ getfacl /scratch/sciteam/username
To remove all ACL, use setfacl
with the -b
flag:
$ setfacl -b /scratch/sciteam/username
Using
setfact
As an exercise, create a new directory in your scratch directory and use
setfacl
command to grant access to it to the instructor of this course. The instructor should tell you his or her username on the system. In the end, remove the test directory and remove the ACL from your scratch directory.Solution
Assuming that the instructor’s username is
INSTRUCTOR
, execute:$ mkdir $HOME/testdir $ setfacl -m u:INSTRUCTOR:rx $HOME $HOME/testdir # Let instructor verify your solution $ rm -r $HOME/testdir $ setfacl -b $HOME
Nearline
In the output of the quota
command, you might have noticed the lines that start with Nearline.
Nearline is a tape storage system that provides space for data that you don’t plan to access
frequently but still would like to share it with your collegues.
You can not access it as easily as other directories we mentioned above, but we will discuss
how to use it in the next episode.
Key Points
Blue Waters has 3 online filesystems and one tape storage system
projects
command lists user’s science projects on Blue Waters
quota
command lists user’s usage on all 4 filesystemsBlue Waters supports ACL for for fine-grained access control to files
setfacl
andgetfacl