NOTE: This page is under construction.
There are various Linux native commands that you can use to move your data within the HPC cluster, such as mv, cp, scp etc. One of the most powerful tools for data movement on Linux is rsync, which we'll be using in our examples below.
To find out more information such as flags, uasge etc. about any of the above mentioned tools, you can use man TOOL_NAME.
man rsync NAME rsync - a fast, versatile, remote (and local) file-copying tool SYNOPSIS Local: rsync [OPTION...] SRC... [DEST] Access via remote shell: Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST:DEST Access via rsync daemon: Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST] rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST::DEST rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST Usages with just one SRC arg and no DEST arg will list the source files instead of copying. DESCRIPTION . . .
If you are interested in finding out about various methods of moving data and various tools which can be used to achieve that aim, this page provides a very good description/guide : How to transfer large amounts of data via network..
If the data that you are moving is large, then you should always use either an interactive session or a job script for your data movement. This ensures that the process for your data movement isn't using and slowing login nodes for a long time, and instead is performing these operations on a compute node. General rule of thumb is that if your transfer takes more then a minute, then perform that task as a job.
- Start an interactive session using srun
srun --ntasks=4 --mem-per-cpu=4096 --time=08:00:00 --partition=medium --job-name=JOB_NAME --pty /bin/bash
- Start an rsync process to start the transfer, once you have moved from login001 to c00XX node:
[build@c0051 Salmon]$ rsync -aP SOURCE_PATH DESTINATION_PATH
#!/bin/bash # #SBATCH --job-name=test #SBATCH --output=res.txt #SBATCH --ntasks=1 #SBATCH --partition=express # # Time format = HH:MM:SS, DD-HH:MM:SS # #SBATCH --time=10:00 # # Mimimum memory required per allocated CPU in MegaBytes. # #SBATCH --mem-per-cpu=2048 #SBATCH --mail-type=FAIL #SBATCH --mail-user=YOUR_EMAIL_ADDRESS rsync -aP SOURCE_PATH DESTINATION_PATH
- Please change the time required and the corresponding partition according to your need.
- After modifications to the given job script, submit it using : sbatch JOB_SCRIPT
Moving data from Lustre to GPFS Storage
SGE and Lustre will be taken offline December 18 2016 and decommissioned. All data remaining on Lustre after this date will be deleted.
Instructions for migrating data to /data/scratch/$USER location:
- Login to the new hardware (hostname:cheaha.rc.uab.edu). Instructions to login can be found here.
- You will notice that your /scratch/user/$USER is also mounted on the new hardware. It’s a read-only mount, and there to help you in moving your data .
- Start a rsync process using : rsync -aP /scratch/user/$USER/ /data/scratch/$USER. If the data that you would be transferring is large, then either start an interactive session for this task or create a [job script.
Data in /home or /rstore isn’t affected and remains the same on both new and old hardware, hence you don’t need to move that data.
This sections provides various use cases where you would need to move your data.
Moving data from local storage to HPC
Moving data from rstore to /data/scratch