如何将数据并行复制到 Amazon EFS 或从 Amazon EFS 复制数据,以最大限度地提高我的 EC2 实例的性能?

2 分钟阅读
0

我有大量文件要复制。我想在我的 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

    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 网站上的 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 官方
AWS 官方已更新 4 个月前