/
Data Migration HowTo

Data Migration HowTo

You need to migrate your data before January 22.

 

We expect best performance for the data transfers on the genoa system. You need to migrate relevant data from your user, project, and share folders in the old WORK file system:

  • /old-scratch/usr/username

  • /old-scratch/projects/projectname

  • /old-scratch/share/sharename

  • (/old-scratch/tmp/username)

We recommend migrating your data by

  • running a rsync on genoa-login node

  • use tmux to keep your transfer running without being logged in to the system

  • example rsync call:

    ssh username@genoa-login.nhr.zib.de $ rsync -av /old-scratch/usr/username/folder_i_want_to_keep /scratch/usr/username/

 

Moving large directories with parallel rsyncs

For directories with a lot of data and many files in different subdirectories, the transfer might be sped up by running several rsync processes in parallel. For this we first need a list of files/folders up to a certain depth.

We can generate a directory and file list e.g. with find with the -maxdepth flag:

blogin9:~ $ find /old-scratch/usr/myusername/testfolder -maxdepth 1 /old-scratch/usr/myusername/testfolder /old-scratch/usr/myusername/testfolder/debian-10.2.0-amd64-netinst.iso /old-scratch/usr/myusername/testfolder/firmware-10.2.0-amd64-netinst.iso /old-scratch/usr/myusername/testfolder/folder1 blogin9:~ $ find /old-scratch/usr/myusername/testfolder -maxdepth 2 /old-scratch/usr/myusername/testfolder /old-scratch/usr/myusername/testfolder/debian-10.2.0-amd64-netinst.iso /old-scratch/usr/myusername/testfolder/firmware-10.2.0-amd64-netinst.iso /old-scratch/usr/myusername/testfolder/folder1 /old-scratch/usr/myusername/testfolder/folder1/file2 /old-scratch/usr/myusername/testfolder/folder1/folder11

An then run one rsync for every line in that output with the following script (adjust TARGET and DIRFILE):

#!/bin/bash set -e PARALLEL=10 RSYNC_OPTS="-aH --itemize-changes --stats --delete --numeric-ids --one-file-system --no-v" TARGET="/scratch/myusername/old_files" DIRFILE="/home/myusername/list_of_files_and_folders.log" #dirfile with full paths - take care of trailing slashes restart_rsync() { RC=30 count=0 while [ "$RC" = "30" ]; do let count=$count+1 /usr/bin/rsync $RSYNC_OPTS --timeout=120 $1 $TARGET RC=$? if [ "$count" -gt "5" ]; then break fi done } export -f restart_rsync export RSYNC_OPTS export TARGET echo "Using up to $PARALLEL processes for transfer..." echo "Using directories from file $DIRFILE ..." cat $DIRFILE | parallel -q -j $PARALLEL -t restart_rsync {}

 

Related content

File system replacement
File system replacement
Read with this
CPU Genoa partition
CPU Genoa partition
More like this
Known Issues
Known Issues
Read with this
Data Transfer
Data Transfer
More like this
OpenMPI on CPU CLX
OpenMPI on CPU CLX
Read with this
File Systems
File Systems
More like this