如何在 Amazon EFS 之間並行複製資料,以便在 EC2 執行個體上發揮最大效能?

2 分的閱讀內容
0

我有大量檔案要復制。我想要在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上的 Amazon Elastic File System (Amazon EFS) 檔案系統上並行執行這些任務。

簡短描述

使用下列其中一個工具在 Amazon EFS 檔案系統上並行執行任務:

  • GNU 並行: 如需詳細資訊,請參閱 GNU 作業系統網站上的 GNU 並行
  • 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.    I使用 nload 主控臺應用程式來監控網路流量和頻寬。

$ sudo nload -u M

msrsync

msrsync 是一個適用於 rsync 的 Python 包裝函式,可並行執行多個 Rsync 程式。

**注意:**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 目錄。將 e X 取代為您要並行執行的 rsync 程式數目。

$ sudo fpsync -n X /src /dst
AWS 官方
AWS 官方已更新 3 個月前