EC2 인스턴스에서 성능을 극대화하기 위해 Amazon EFS에서 또는 Amazon EFS에 병렬로 데이터를 복사하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 5월 31일

복사하거나 삭제할 파일이 많이 있습니다. Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 Amazon Elastic File System(Amazon EFS) 파일 시스템에서 이러한 작업을 병렬로 실행하려면 어떻게 해야 합니까?

간략한 설명

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

해결 방법

GNU parallel

1.    GNU parallel을 설치합니다.

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

RHEL 7 및 Amazon Linux 2의 경우:

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

Ubuntu의 경우:

$ sudo apt-get install parallel

2.    rsync를 사용하여 Amazon EFS에 파일을 복사합니다.

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

3.    nload 콘솔 애플리케이션을 사용하여 네트워크 트래픽 및 대역폭을 모니터링합니다.

$ nload -u M

Msrsync

Msrsync는 다중 rsync 프로세스를 병렬로 실행하는 rsync의 Python 래퍼입니다.

참고: Msrsync는 Python 2에서만 호환됩니다. Python 버전 2.7.14 이상을 사용하여 msrsync 스크립트를 실행해야 합니다.

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.    경로를 현재 PATH 변수에 추가합니다.

$ export PATH=$PATH:~/usr/local/bin/msrsync

3.    -p 옵션을 사용하여 병렬로 실행할 rsync 프로세스 수를 지정합니다. X를 rsync 프로세스 수로 대체합니다. –P 옵션은 각 작업의 진행 상황을 표시합니다.

$ time python msrsync -P -p X --stats --rsync "-artuv" /source/ /mnt/efs/test/

Fpsync

fpsync 도구는 fpart 및 rsync를 사용하여 디렉터리를 병렬로 동기화합니다. SSH를 통해 여러 노드(작업자)에서 rsync 전송을 시작하거나 로컬로 여러 rsync 프로세스를 실행할 수 있습니다.

1.    EPEL 리포지토리를 활성화하고 fpart 패키지를 설치합니다.

Amazon Linux 및 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 및 Amazon Linux 2의 경우:

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

Ubuntu의 경우:

$ sudo apt-get install fpart

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

2.    fpsync를 사용하여 /dst /src 디렉터리를 동기화합니다. X를 병렬로 실행할 rsync 프로세스 수로 대체합니다.

$ fpsync -n X /src /dst

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?