跳至內容

如何在 Amazon EFS 來回平行複製資料,以最大化 EC2 執行個體的效能?

2 分的閱讀內容
0

我有大量檔案要複製。我想要在 Amazon Elastic File System (Amazon EFS) 檔案系統上為 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體平行複製檔案。

解決方法

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

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

    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 沒有 企業版 Linux 的附加套件 (EPEL) 或 EPEL 類型的儲存庫。請從 GitHub 儲存庫頁面安裝各個工具的套件。請參閱 GitHub 網站上的 nloadsysstatgnu-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 套件,請針對您使用的作業系統執行以下命令。 
    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 網站上的 nloadsysstatgnu-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 官方已更新 1 年前