Amazon EFS와 데이터를 병렬로 복사하여 EC2 인스턴스의 성능을 극대화하려면 어떻게 해야 합니까?

3분 분량
0

복사할 파일이 많습니다. Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 Amazon Elastic File System(Amazon EFS) 파일 시스템에서 파일을 병렬로 복사하고 싶습니다.

해결 방법

Amazon EFS 파일 시스템에서 작업을 병렬로 실행하려면 다음 도구 중 하나를 사용합니다.

GNU 병렬

다음 단계를 완료하십시오.

  1. GNU 병렬을 설치하려면 사용하는 OS에 대해 다음 명령을 실행합니다. 
    Amazon Linux와 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):
    AL2023에는 Extra Packages for Enterprise Linux(EPEL) 또는 EPEL 유형 리포지토리가 없습니다. 대신 GitHub 리포지토리 페이지에서 개별 도구용 패키지를 설치하십시오. GitHub 웹 사이트에서 nload, sysstatgnu-parallel을 참조하십시오.
    Ubuntu:

    sudo apt-get install parallel
  2. 다음 명령 중 하나를 실행하여 파일을 Amazon EFS로 복사합니다.
    rsync를 사용하는 경우:

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

    또는
    rsync를 사용하지 않는 경우:

    sudo time find /src -type f | parallel -j 32 cp {} /dst
  3. 다음 명령을 실행하여 nload 애플리케이션 콘솔에서 네트워크 트래픽과 대역폭을 모니터링합니다.

    sudo nload -u M

msrsync

참고: msrsync 호환은 Python에서만 작동합니다. msrsync 스크립트를 실행하려면 Python 버전 2.7.14 이상을 사용하십시오.

다음 단계를 완료하십시오.

  1. 다음 명령을 실행하여 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. 병렬로 실행할 rsync 프로세스 수를 지정하려면 다음 명령을 실행합니다. 각 작업의 진행 상황을 표시하려면 -p 옵션을 포함하십시오.

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

    참고: X를 rsync 프로세스 수로 바꾸십시오.

fpsync

다음 단계를 완료하십시오.

  1. EPEL 리포지토리를 활성화합니다.

  2. fpart 패키지를 설치하려면 사용 중인 OS에 대해 다음 명령을 실행합니다. 
    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:
    AL2023에는 EPEL이나 EPEL 유형 리포지토리가 없습니다. 대신 리포지토리 페이지에서 개별 도구용 패키지를 설치하십시오. GitHub 웹 사이트에서 nload, sysstatgnu-parallel을 참조하십시오.
    Ubuntu:

    sudo apt-get install fpart

    참고: Ubuntu에서 fpsyncfpart 패키지의 일부입니다.

  3. 다음 명령을 실행하여 /dst/src 디렉터리를 동기화합니다.

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

    참고: X를 병렬로 실행하려는 Fpsync 프로세스 수로 바꾸십시오.

AWS 공식
AWS 공식업데이트됨 3달 전