Come posso copiare dati in parallelo da e verso Amazon EFS per massimizzare le prestazioni della mia istanza EC2?

3 minuti di lettura
0

Ho tanti file da copiare. Desidero copiare file in parallelo in un file system Amazon Elastic File System (Amazon EFS) per la mia istanza Amazon Elastic Compute Cloud (Amazon EC2).

Risoluzione

Per eseguire processi in parallelo in un file system Amazon EFS, utilizza uno dei seguenti strumenti:

GNU parallel

Completa i seguenti passaggi:

  1. Per installare GNU parallel, esegui i seguenti comandi a seconda del sistema operativo in uso. 
    Amazon Linux e RHEL 6:

    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
    sudo yum install parallel nload -y

    Red Hat Enterprise Linux (RHEL) 7:

    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    sudo yum install parallel nload -y

    Amazon Linux 2:

    sudo amazon-linux-extras install epel
    sudo yum install nload sysstat parallel -y

    Amazon Linux 2023 (AL2023):
    Non ci sono pacchetti aggiuntivi per Enterprise Linux (EPEL) o repository di tipo EPEL per AL2023. Installa invece i pacchetti dalle pagine del repository GitHub per i singoli strumenti. Consulta nload, sysstat egnu-parallel sul sito web di GitHub.
    Ubuntu:

    sudo apt-get install parallel
  2. Esegui uno dei seguenti comandi per copiare i file in Amazon EFS.
    Con rsync:

    sudo time find -L /src -type f | parallel rsync -avR {} /dst

    -oppure-
    Senza rsync:

    sudo time find /src -type f | parallel -j 32 cp {} /dst
  3. Esegui il seguente comando per monitorare il traffico di rete e la larghezza di banda sulla console dell'applicazione nload:

    sudo nload -u M

msrsync

Nota: msrsync è compatibile solo con Python. Per eseguire lo script msrsync, utilizza Python versione 2.7.14 o successiva.

Completa i seguenti passaggi:

  1. Esegui il seguente comando per installare msrsync:

    sudo curl -s https://raw.githubusercontent.com/jbd/msrsync/master/msrsync -o /usr/local/bin/msrsync && sudo chmod +x /usr/local/bin/msrsync
  2. Per specificare il numero di processi rsync da eseguire in parallelo, esegui il seguente comando. Includi l'opzione**-p** per mostrare lo stato di avanzamento di ogni processo:

    sudo time /usr/local/bin/msrsync -P -p X --stats --rsync "-artuv" /src/ /dst/

    Nota: sostituisci X con il numero di processi rsync.

fpsync

Completa i seguenti passaggi:

  1. Attiva il repository EPEL.

  2. Per installare il pacchetto fpart, esegui i seguenti comandi in base al sistema operativo in uso. 
    RHEL 6:

    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
    sudo yum install fpart -y

    RHEL 7:

    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    sudo yum install fpart -y

    Amazon Linux 2:

    sudo amazon-linux-extras install epel
    sudo yum install fpart -y

    Amazon Linux 2023:
    Non c'è un repository EPEL o di tipo EPEL per AL2023. Installa invece i pacchetti dalle pagine del repository per i singoli strumenti. Consulta nload, sysstat egnu-parallel sul sito web di GitHub.
    Ubuntu:

    sudo apt-get install fpart

    Nota: in Ubuntu, fpsync fa parte del pacchetto fpart.

  3. Esegui il seguente comando per sincronizzare le directory /dst e /src:

    sudo fpsync -n X /src /dsthttps://github.com/martinda/gnu-parallel

    Nota: sostituisci X con il numero di processi fpsync che desideri eseguire in parallelo.

AWS UFFICIALE
AWS UFFICIALEAggiornata 4 mesi fa