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

3분 분량
0

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

간략한 설명

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

  • GNU 병렬: 자세한 내용은 GNU 운영 체제 웹 사이트의 GNU Parallel을 참고하세요.
  • msrsync: 자세한 내용은 GitHub 웹 사이트의 msrsync를 참고하세요.
  • fpsync: 자세한 내용은 Ubuntu 매뉴얼 웹 사이트의 fpsync를 참고하세요.

해결 방법

GNU 병렬

1.    GNU 병렬을 설치합니다.

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+

$ 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

Ubuntu:

$ sudo apt-get install parallel

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

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

또는

$ sudo time find /src -type f | parallel -j 32 cp {} /dst

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

$ sudo nload -u M

msrsync

msrsync는 여러 rsync 프로세스를 병렬로 실행하는 rsync용 Python 래퍼입니다.

참고: msrsync 호환은 Python에서만 작동합니다. 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.    -p 옵션을 사용하여 병렬로 실행할 rsync 프로세스 수를 지정합니다. X를 rsync 프로세스 수로 바꿉니다. **-**P 옵션은 각 작업의 진행 상태를 보여 줍니다.

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

fpsync

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

fpart에 대한 자세한 내용은 Ubuntu 매뉴얼 웹 사이트의 fpart를 참고하세요.

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+

$ 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

Ubuntu:

$ sudo apt-get install fpart

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

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

$ sudo fpsync -n X /src /dst
AWS 공식
AWS 공식업데이트됨 10달 전