Where to store files in CSC’s computing environment?
In this tutorial you
- Familiarize yourself with personal and project-specific disk areas and their quotas on CSC supercomputers.
- Learn how to share your files, such as software installations and data, to other project members on CSC supercomputers.
💬 Each user of CSC supercomputers (Roihu and LUMI) have access to different disk areas (or directories) for managing their data. Each disk area has its own specific purpose.
💬 Active data files needed for computational simulations and analyses should be stored and shared in directories under /scratch while any software installations and binaries should be shared under the /projappl directory.
‼️ None of the disk areas on Roihu and LUMI are automatically backed up by CSC. Data that is accidentally deleted by the user or otherwise lost cannot be recovered. It is the user’s own responsibility to keep backup copies of any data they want to preserve.
‼️ The /scratch disk area on Roihu is periodically cleaned of files that have not been accessed in 180 (default) or 90 (>5 TiB quota) days. See the Docs CSC for details.
Identify your personal and project-specific directories on Roihu supercomputer
-
First login to Roihu using SSH (or by opening a login node shell in the Roihu web interface):
ssh <username>@roihu-cpu.csc.fi # replace <username> with your CSC username, e.g. myname@roihu-cpu.csc.fi -
Get an overview of your projects and directories by running the following commands on the login node:
csc-projects csc-workspaces - Inspect the output information summarizing your directories, their current quotas and cleanup cycles.
-
Visit your project’s
/scratchdirectory and list its contents:cd /scratch/<project>/ # replace <project> with your CSC project, e.g. project_2001234 ls -
Visit your project’s
/projappldirectory and list its contents:cd /projappl/<project>/ # replace <project> with your CSC project, e.g. project_2001234 ls
💬 These directories can be briefly summarized as follows:
- User-specific directory (i.e. your personal home folder)
- Your home directory (path stored in environment variable
$HOME) - The default directory when you login to Roihu/LUMI
- You can store configuration files and other minor data for personal use
- Your home directory (path stored in environment variable
- Project-specific directories:
- The project’s
/scratchand/projappldirectories - Each project has its own
/scratchdisk space where most computational tasks are performed. The/scratcharea is a temporary space not intended for long-term data storage! Please move inactive data to e.g. Allas. /projappldirectory on the other hand is mainly for storing and sharing compiled applications and libraries etc. with other members of the project.
- The project’s
Sharing binaries and data files
💬 Data transfer between two supercomputers can be done e.g. with rsync.
Download the example files
☝🏻 In this example you will download data from Allas object storage.
-
Move to your home folder:
cd💡 If you know the files are large, you should consider downloading them directly to
/scratch. -
Download an example program package (
ggplot2_3.3.3_Rprogramme.tar.gz) and a data file (Merged.fasta) from the Allas object storagewget https://a3s.fi/CSC_training/shared_files.tar.gz tar -xavf shared_files.tar.gz cd shared_files
Let’s assume that
Merged.fastais a data file intended for computational useggplot2_3.3.3_Rprogramme.tar.gzis a software tool needed for the analysis.
Move the files to Roihu /scratch and /projappl
-
Create folders with your username (using environment variable
$USER) in your project directories under/scratchand/projapplon Roihu.mkdir -p /projappl/<project>/$USER # replace <project> with your CSC project, e.g. project_2001234 mkdir -p /scratch/<project>/$USER # replace <project> with your CSC project, e.g. project_2001234 -
Copy your
ggplot2_3.3.3_Rprogramme.tar.gzfile to the/projappldirectorycp ggplot2_3.3.3_Rprogramme.tar.gz /projappl/<project>/$USER/ # replace <project> with your CSC project, e.g. project_2001234 -
Copy the
Merged.fastafile to the/scratchdirectorycp Merged.fasta /scratch/<project>/$USER/ # replace <project> with your CSC project, e.g. project_2001234- Note that all new files and directories are also fully accessible to other members of the project (including read and write permissions).
-
Set read-only permissions for your project members for the file
Merged.fasta:cd /scratch/<project>/$USER/ # replace <project> with your CSC project, e.g. project_2001234 chmod g-w Merged.fasta # g-w means that we "subtract" write permissions for users belong to our group (g), i.e. our project
Copying files from Roihu to LUMI (optional, requires a LUMI project)
☝🏻 For this part you must ensure you have forwarded your SSH agent to Roihu, otherwise you will not be able to connect to LUMI.
- Check if your SSH keys are available on Roihu using command
ssh-add -L. - If true, it will print your public key. Proceed to step 4.
- If not:
- Linux/macOS: Log out and log back in using
ssh -Aoption. - Windows: Log out. Toggle option Allow agent forwarding found under “Session” -> “SSH” -> “Advanced SSH settings” -> “Expert SSH settings” (MobaXterm) or under “Connection” -> “SSH” -> “Auth” (PuTTY) before connecting again.
- Linux/macOS: Log out and log back in using
- Change to the folder where you have the example files
-
Copy
Merged.fastafile from Roihu to the/scratchdrive of LUMI:rsync -P Merged.fasta <username>@lumi.csc.fi:/scratch/<project>/$USER/ # replace <username> with your CSC username and <project> with your CSC project, e.g. project_2001234 -
Copy the
ggplot2_3.3.3_Rprogramme.tar.gzfile from Roihu to the/projappldirectory on LUMI:rsync -P ggplot2_3.3.3_Rprogramme.tar.gz <username>@lumi.csc.fi:/projappl/<project>/$USER/ # replace <username> with your CSC username and <project> with your CSC project, e.g. project_2001234
More information
💡 Hint: You can use your folder under /scratch for the rest of the tutorials. You can save the path using an alias (with cd or echo) or somewhere in your notes.
💡 It is sometimes required to export the paths of the /scratch or /projappl directories in environmental variables (until logout). This can be done with the following commands:
export PROJAPPL=/projappl/<project>/ # replace <project> with your CSC project, e.g. project_2001234
export SCRATCH=/scratch/<project>/ # replace <project> with your CSC project, e.g. project_2001234