Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln innehåller instruktioner för hur du skapar skriptet parallelcp och använder det för att flytta data till en Blob Storage-container för användning med Azure HPC Cache.
Mer information om hur du flyttar data till Blob Storage för Azure HPC Cache finns i Flytta data till Azure Blob Storage.
Skapa parallelcp-skriptet
Skriptet nedan kommer att lägga till den körbara filen parallelcp. (Det här skriptet är utformat för Ubuntu. Om du använder en annan distribution måste du installera parallel separat.)
sudo touch /usr/bin/parallelcp && sudo chmod 755 /usr/bin/parallelcp && sudo sh -c "/bin/cat >/usr/bin/parallelcp" <<EOM
#!/bin/bash
display_usage() {
    echo -e "\nUsage: \$0 SOURCE_DIR DEST_DIR\n"
}
if [  \$# -le 1 ] ; then
    display_usage
    exit 1
fi
if [[ ( \$# == "--help") ||  \$# == "-h" ]] ; then
    display_usage
    exit 0
fi
SOURCE_DIR="\$1"
DEST_DIR="\$2"
if [ ! -d "\$SOURCE_DIR" ] ; then
    echo "Source directory \$SOURCE_DIR does not exist, or is not a directory"
    display_usage
    exit 2
fi
if [ ! -d "\$DEST_DIR" ] && ! mkdir -p \$DEST_DIR ; then
    echo "Destination directory \$DEST_DIR does not exist, or is not a directory"
    display_usage
    exit 2
fi
if [ ! -w "\$DEST_DIR" ] ; then
    echo "Destination directory \$DEST_DIR is not writeable, or is not a directory"
    display_usage
    exit 3
fi
if ! which parallel > /dev/null ; then
    sudo apt-get update && sudo apt install -y parallel
fi
DIRJOBS=225
JOBS=225
find \$SOURCE_DIR -mindepth 1 -type d -print0 | sed -z "s/\$SOURCE_DIR\///" | parallel --will-cite -j\$DIRJOBS -0 "mkdir -p \$DEST_DIR/{}"
find \$SOURCE_DIR -mindepth 1 ! -type d -print0 | sed -z "s/\$SOURCE_DIR\///" | parallel --will-cite -j\$JOBS -0 "cp -P \$SOURCE_DIR/{} \$DEST_DIR/{}"
EOM
Exempel på parallellkopiering
I det här exemplet används det parallella kopieringsskriptet för att kompilera glibc med källfiler i Azure HPC Cache.
Källfilerna cachelagras i Monteringspunkten för Azure HPC Cache och objektfilerna lagras på den lokala hårddisken.
I det här exemplet används det parallella kopieringsskriptet med alternativet -j och make för att få parallellisering.
sudo apt-get update
sudo apt install -y gcc bison gcc binutils make parallel
cd
wget https://mirrors.kernel.org/gnu/libc/glibc-2.27.tar.bz2
tar jxf glibc-2.27.tar.bz2
ln -s /nfs/cache1 hpccache
time parallelcp glibc-2.27 avere/glibc-2.27
cd
mkdir obj
mkdir usr
cd obj
/home/azureuser/avere/glibc-2.27/configure --prefix=/home/azureuser/usr
time make -j