

# 将 Amazon S3 存储桶挂载为本地文件系统
<a name="mountpoint"></a>

适用于 Amazon S3 的 Mountpoint 是一款高吞吐量的开源文件客户端，用于将 Amazon S3 存储桶作为本地文件系统进行挂载。借助 Mountpoint，您的应用程序可以通过文件系统操作（例如打开和读取）访问存储在 Amazon S3 中的对象。Mountpoint 会自动将这些操作转换为 S3 对象 API 调用，让您的应用程序能够通过文件接口访问 Amazon S3 的弹性存储和吞吐量。

适用于 Amazon S3 的 Mountpoint [可用于大规模读取密集型应用程序上的生产用途](https://aws.amazon.com/blogs/aws/mountpoint-for-amazon-s3-generally-available-and-ready-for-production-workloads/)：数据湖、机器学习训练、图像渲染、自动驾驶汽车模拟以及提取、转换、加载（ETL）等。

Mountpoint 支持基本的文件系统操作，并且可以读取最大 50 TB 的文件。它可以列出和读取现有文件，也可以创建新文件。它无法修改现有文件或删除目录，也不支持符号链接或文件锁定。Mountpoint 非常适合具有下列特征的应用程序：不需要共享文件系统的全部功能和 POSIX 风格的权限，但需要 Amazon S3 的弹性吞吐量来读写大型 S3 数据集。有关更多信息，请参阅 GitHub 上的 [Mountpoint file system behavior](https://github.com/awslabs/mountpoint-s3/blob/main/doc/SEMANTICS.md)。对于需要完整 POSIX 支持的工作负载，我们建议使用[适用于 Lustre 的 Amazon FSx](https://aws.amazon.com/fsx/lustre/) 及其 [support for linking Amazon S3 buckets](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html)。

适用于 Amazon S3 的 Mountpoint 仅适用于 Linux 操作系统。您可以使用 Mountpoint 访问所有存储类中的 S3 对象，但 S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive、S3 Intelligent-Tiering Archive Access Tier 和 S3 Intelligent-Tiering Deep Archive Access Tier 除外。

**Topics**
+ [安装 Mountpoint](mountpoint-installation.md)
+ [配置和使用 Mountpoint](mountpoint-usage.md)
+ [Mountpoint 故障排除](mountpoint-troubleshooting.md)

# 安装 Mountpoint
<a name="mountpoint-installation"></a>

您可以使用命令行下载和安装适用于 Amazon S3 的 Mountpoint 的预构建程序包。根据您正在使用哪个 Linux 操作系统，下载和安装 Mountpoint 的说明会有所不同。

**Topics**
+ [Amazon Linux 2023（AL2023）](#mountpoint-install-al2023)
+ [其他基于 RPM 的发行版（Amazon Linux 2、Fedora、CentOS、RHEL）](#mountpoint-install-rpm)
+ [基于 DEB 的发行版（Debian、Ubuntu）](#mountpoint.install.deb)
+ [其他 Linux 发行版](#mountpoint-install-other)
+ [验证适用于 Amazon S3 的 Mountpoint 程序包的签名](#mountpoint-install-verify)

## Amazon Linux 2023（AL2023）
<a name="mountpoint-install-al2023"></a>

自 AL2023 版本 2023.9.20251110 起，Mountpoint 直接在 Amazon Linux 2023 存储库中提供。

1. 可输入以下命令进行安装：

   ```
   sudo dnf install mount-s3
   ```

1. 验证适用于 Amazon S3 的 Mountpoint 是否已成功安装：

   ```
   mount-s3 --version
   ```

   您应该可以看到类似于如下所示的输出内容：

   ```
   mount-s3 1.21.0+1.amzn2023
   ```

## 其他基于 RPM 的发行版（Amazon Linux 2、Fedora、CentOS、RHEL）
<a name="mountpoint-install-rpm"></a>

1. 复制您的架构的以下下载网址。

   *x86\$164*:

   ```
   https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm
   ```

   *ARM64 (Graviton)*:

   ```
   https://s3.amazonaws.com/mountpoint-s3-release/latest/arm64/mount-s3.rpm
   ```

1. 下载适用于 Amazon S3 的 Mountpoint 程序包。将 `download-link` 替换为上一步中的相应下载 URL。

   ```
   wget download-link
   ```

1. （可选）验证已下载文件的真实性和完整性。首先，复制适用于您的架构的签名 URL。

   *x86\$164*:

   ```
   https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm.asc
   ```

   *ARM64 (Graviton)*:

   ```
   https://s3.amazonaws.com/mountpoint-s3-release/latest/arm64/mount-s3.rpm.asc
   ```

   接下来，请参阅[验证适用于 Amazon S3 的 Mountpoint 程序包的签名](#mountpoint-install-verify)。

1. 使用以下命令安装此程序包：

   ```
   sudo yum install ./mount-s3.rpm
   ```

1. 输入以下命令，验证 Mountpoint 是否已成功安装：

   ```
   mount-s3 --version
   ```

   您应该可以看到类似于如下所示的输出内容：

   ```
   mount-s3 1.21.0
   ```

## 基于 DEB 的发行版（Debian、Ubuntu）
<a name="mountpoint.install.deb"></a>

1. 复制您的架构的下载网址。

   *x86\$164*:

   ```
   https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.deb
   ```

   *ARM64 (Graviton)*:

   ```
   https://s3.amazonaws.com/mountpoint-s3-release/latest/arm64/mount-s3.deb
   ```

1. 下载适用于 Amazon S3 的 Mountpoint 程序包。将 `download-link` 替换为上一步中的相应下载 URL。

   ```
   wget download-link
   ```

1. （可选）验证已下载文件的真实性和完整性。首先，复制您的架构的签名 URL。

   *x86\$164*:

   ```
   https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.deb.asc
   ```

   *ARM64 (Graviton)*:

   ```
   https://s3.amazonaws.com/mountpoint-s3-release/latest/arm64/mount-s3.deb.asc
   ```

   接下来，请参阅[验证适用于 Amazon S3 的 Mountpoint 程序包的签名](#mountpoint-install-verify)。

1. 使用以下命令安装此程序包：

   ```
   sudo apt-get install ./mount-s3.deb
   ```

1. 运行以下命令，验证适用于 Amazon S3 的 Mountpoint 是否已成功安装：

   ```
   mount-s3 --version
   ```

   您应该可以看到类似于如下所示的输出内容：

   ```
   mount-s3 1.21.0
   ```

## 其他 Linux 发行版
<a name="mountpoint-install-other"></a>

1. 请查阅您的操作系统文档以安装必需的 `FUSE` 和 `libfuse2` 程序包。

1. 复制您的架构的下载网址。

   *x86\$164*:

   ```
   https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.tar.gz
   ```

   *ARM64 (Graviton)*:

   ```
   https://s3.amazonaws.com/mountpoint-s3-release/latest/arm64/mount-s3.tar.gz
   ```

1. 下载适用于 Amazon S3 的 Mountpoint 程序包。将 `download-link` 替换为上一步中的相应下载 URL。

   ```
   wget download-link
   ```

1. （可选）验证已下载文件的真实性和完整性。首先，复制您的架构的签名 URL。

   *x86\$164*:

   ```
   https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.tar.gz.asc
   ```

   *ARM64 (Graviton)*:

   ```
   https://s3.amazonaws.com/mountpoint-s3-release/latest/arm64/mount-s3.tar.gz.asc
   ```

   接下来，请参阅[验证适用于 Amazon S3 的 Mountpoint 程序包的签名](#mountpoint-install-verify)。

1. 使用以下命令安装此程序包：

   ```
   sudo mkdir -p /opt/aws/mountpoint-s3 && sudo tar -C /opt/aws/mountpoint-s3 -xzf ./mount-s3.tar.gz
   ```

1. 将 `mount-s3` 二进制文件添加到您的 `PATH` 环境变量。在您的 `$HOME/.profile` 文件中，附加下面一行：

   ```
   export PATH=$PATH:/opt/aws/mountpoint-s3/bin
   ```

   保存 `.profile` 文件，并运行以下命令：

   ```
   source $HOME/.profile
   ```

1. 运行以下命令，验证适用于 Amazon S3 的 Mountpoint 是否已成功安装：

   ```
   mount-s3 --version
   ```

   您应该可以看到类似于如下所示的输出内容：

   ```
   mount-s3 1.21.0
   ```

## 验证适用于 Amazon S3 的 Mountpoint 程序包的签名
<a name="mountpoint-install-verify"></a><a name="verify"></a>

1. 安装 GnuPG（`gpg` 命令）。需要验证所下载的适用于 Amazon S3 的 Mountpoint 程序包的真实性和完整性。默认情况下，GnuPG 安装在 Amazon Linux 亚马逊机器映像（AMI）上。安装 GnuPG 之后，继续执行步骤 2。

1. 通过运行以下命令下载 Mountpoint 公有密钥：

   ```
   wget https://s3.amazonaws.com/mountpoint-s3-release/public_keys/KEYS
   ```

1. 通过运行以下命令将 Mountpoint 公有密钥导入到您的密钥环中：

   ```
   gpg --import KEYS
   ```

1. 通过运行以下命令验证 Mountpoint 公有密钥的指纹：

   ```
   gpg --fingerprint mountpoint-s3@amazon.com
   ```

   确认显示的指纹字符串与以下内容相匹配：

   ```
   673F E406 1506 BB46 9A0E  F857 BE39 7A52 B086 DA5A
   ```

   如果指纹字符串不匹配，请不要完成安装 Mountpoint 并联系 [AWS 支持](https://aws.amazon.com/premiumsupport/)。

1. 下载软件包签名文件。将 `signature-link` 替换为前面各节中的相应签名链接。

   ```
   wget signature-link
   ```

1. 通过运行以下命令验证下载的程序包的签名。将 `signature-filename` 替换为上一步中的文件名。

   ```
   gpg --verify signature-filename
   ```

   例如，在基于 RPM 的发行版（包括 Amazon Linux）上，运行以下命令：

   ```
   gpg --verify mount-s3.rpm.asc
   ```

1. 输出应包含短语 `Good signature`。如果输出包含短语 `BAD signature`，请重新下载 Mountpoint 程序包文件并重复这些步骤。如果问题仍然存在，请不要完成 Mountpoint 的安装并联系 [AWS 支持](https://aws.amazon.com/premiumsupport/)。

   输出可能包括有关可信签名的警告。这并不表示存在问题。这仅表示您尚未独立验证 Mountpoint 公有密钥。

# 配置和使用 Mountpoint
<a name="mountpoint-usage"></a>

要使用适用于 Amazon S3 的 Mountpoint，您的主机需要有效的 AWS 凭证，有权访问您要挂载的一个或多个 Amazon S3 存储桶。有关不同的身份验证方式，请参阅 GitHub 上的 Mountpoint [AWS 凭证](https://github.com/awslabs/mountpoint-s3/blob/main/doc/CONFIGURATION.md#aws-credentials)。

例如，您可以创建一个新的 AWS Identity and Access Management（IAM）用户和角色用于此目的。请确保此角色有权访问您要挂载的一个或多个存储桶。您可以通过实例配置文件[将 IAM 角色传递](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)给您的 Amazon EC2 实例。

**Topics**
+ [使用适用于 Amazon S3 的 Mountpoint](#using-mountpoint)
+ [在 Mountpoint 中配置缓存](#mountpoint-caching)

## 使用适用于 Amazon S3 的 Mountpoint
<a name="using-mountpoint"></a>

使用适用于 Amazon S3 的 Mountpoint 执行以下操作：

1. 挂载 Amazon S3 存储桶。

   1. 您可以使用 `mount-s3` 命令手动挂载 Amazon S3 存储桶。

      在下面的示例中，将 `amzn-s3-demo-bucket` 替换为 S3 存储桶的名称，并将 `~/mnt` 替换为主机上您希望在其中挂载 S3 存储桶的目录。

      ```
      mkdir ~/mnt
      mount-s3 amzn-s3-demo-bucket ~/mnt
      ```

      由于 Mountpoint 客户端默认情况下在后台运行，因此 `~/mnt` 目录现在支持您访问 Amazon S3 存储桶中的对象。

   1. 或者，从 Mountpoint v1.18 起，您可以配置在实例启动或重启时自动挂载 Amazon S3 存储桶。

      对于现有或正在运行的 Amazon EC2 实例，请在 Linux 系统的 `/etc/fstab` 目录中找到 `fstab` 文件。然后，向 `fstab` 文件中添加一行。例如，要使用前缀 `example-prefix/` 将 *amzn-s3-demo-bucket* 挂载到系统路径 `/mnt/mountpoint`，请参阅以下内容。要使用以下示例，请将*用户输入占位符* 替换为您自己的信息。

      ```
      s3://amzn-s3-demo-bucket/example-prefix/ /mnt/mountpoint mount-s3 _netdev,nosuid,nodev,nofail,rw 0 0
      ```

      有关示例中使用的选项的解释，请参阅下表。    
<a name="auto-mount-commands"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/mountpoint-usage.html)

      对于新的 Amazon EC2 实例，您可以修改 Amazon EC2 模板上的用户数据，并按如下方式设置 `fstab` 文件。要使用以下示例，请将*用户输入占位符* 替换为您自己的信息。

      ```
      #!/bin/bash -e
      MP_RPM=$(mktemp --suffix=.rpm)
      curl https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm > $MP_RPM
      yum install -y $MP_RPM
      rm $MP_RPM
      
      MNT_PATH=/mnt/mountpoint
      echo "s3://amzn-s3-demo-bucket/ ${MNT_PATH} mount-s3 _netdev,nosuid,nodev,rw,allow-other,nofail" >> /etc/fstab
      mkdir $MNT_PATH
      
      systemctl daemon-reload
      mount -a
      ```

1. 通过 Mountpoint 访问 Amazon S3 存储桶中的对象。

   在本地挂载存储桶后，您可以使用常用的 Linux 命令（例如 `cat` 或 `ls`）来处理您的 S3 对象。适用于 Amazon S3 的 Mountpoint 通过以正斜杠 (`/`) 字符为界拆分 Amazon S3 存储桶中的密钥，将这些密钥解释为文件系统路径。例如，如果您的存储桶中有对象密钥 `Data/2023-01-01.csv`，那么您的 Mountpoint 文件系统中将有一个名为 `Data` 的目录，其中有一个名称为 `2023-01-01.csv` 的文件。

   适用于 Amazon S3 的 Mountpoint 特意不实现文件系统的完整 [POSIX](https://en.wikipedia.org/wiki/POSIX) 标准规范。Mountpoint 针对以下工作负载进行了优化：此类工作负载需要通过文件系统接口对存储在 Amazon S3 中的数据进行高吞吐量读写访问，但不依赖文件系统功能。有关更多信息，请参阅 GitHub 上的适用于 Amazon S3 的 Mountpoint 的[文件系统行为](https://github.com/awslabs/mountpoint-s3/blob/main/doc/SEMANTICS.md)。需要更丰富的文件系统语义的客户应该考虑其他 AWS 文件服务，例如 [Amazon Elastic File System（Amazon EFS）](https://aws.amazon.com/efs/)或 [Amazon FSx](https://aws.amazon.com/fsx/)。

   

1. 使用 `umount` 命令卸载 Amazon S3 存储桶。此命令卸载您的 S3 存储桶并退出 Mountpoint。

   要使用以下示例命令，请将 `~/mnt` 替换为主机上挂载 S3 存储桶的目录。

   ```
   umount ~/mnt
   ```
**注意**  
要获取此命令的选项列表，请运行 `umount --help`。

有关其它 Mountpoint 配置详细信息，请参阅 GitHub 上的 [Amazon S3 bucket configuration](https://github.com/awslabs/mountpoint-s3/blob/main/doc/CONFIGURATION.md#s3-bucket-configuration) 和 [file system configuration](https://github.com/awslabs/mountpoint-s3/blob/main/doc/CONFIGURATION.md#file-system-configuration)。

## 在 Mountpoint 中配置缓存
<a name="mountpoint-caching"></a>

适用于 Amazon S3 的 Mountpoint 支持不同类型的数据缓存。要加快重复读取请求的速度，您可以选择以下选项：
+ **本地缓存** – 您可以在 Amazon EC2 实例存储或 Amazon Elastic Block Store 卷中使用本地缓存。如果您重复从同一个计算实例读取相同的数据，并且本地实例存储中有未使用的空间用于存放重复读取的数据集，则应该选择使用本地缓存。
+ **共享缓存** – 您可以在 S3 Express One Zone 上使用共享缓存。如果您重复读取多个计算实例中的小对象，或者您不知道重复读取的数据集的大小并希望从弹性缓存大小中受益，则应选择使用共享缓存。选择该选项后，Mountpoint 会在使用 S3 Express One Zone 的目录存储桶中，保留大小不超过一兆字节的对象。
+ **合并本地缓存和共享缓存** – 如果您的本地缓存中有未使用的空间，但又想在多个实例之间共享缓存，则可以选择同时使用本地缓存和共享缓存。

在 Mountpoint 中缓存非常适合重复读取相同数据的使用场景，这些数据在多次读取期间不会发生更改。例如，可以将缓存用于需要多次读取训练数据集的机器学习训练作业，以提高模型精度。

有关如何在 Mountpoint 中配置缓存的更多信息，请参阅以下示例。

**Topics**
+ [本地缓存](#local-cache-example)
+ [共享缓存](#shared-cache-example)
+ [合并本地缓存和共享缓存](#shared-local-cache-example)

### 本地缓存
<a name="local-cache-example"></a>

您可以利用 `--cache CACHE_PATH` 标志选择使用本地缓存。在以下示例中，将 *`CACHE_PATH`* 替换为要在其中缓存数据的目录的文件路径。将 *`amzn-s3-demo-bucket`* 替换为 Amazon S3 存储桶的名称，并将 *`~/mnt`* 替换为主机上您希望在其中挂载 S3 存储桶的目录。

```
mkdir ~/mnt
mount-s3 --cache CACHE_PATH amzn-s3-demo-bucket ~/mnt
```

如果您在挂载 Amazon S3 存储桶时选择使用本地缓存，Mountpoint 会在所配置的缓存位置创建一个空的子目录（如果该子目录尚不存在）。首次挂载存储桶以及卸载存储桶时，Mountpoint 会删除本地缓存的内容。

**重要**  
如果启用本地缓存，Mountpoint 会将挂载的 Amazon S3 存储桶中的未加密对象内容，持久保存在挂载时提供的本地缓存位置。为了保护您的数据，您应使用文件系统访问控制机制，限制对数据缓存位置的访问。

### 共享缓存
<a name="shared-cache-example"></a>

如果您重复读取多个计算实例中的小对象（最大 1 MB），或者重复读取的数据集大小通常超过本地缓存的大小，则应在 [S3 Express One Zone](https://aws.amazon.com/s3/storage-classes/express-one-zone/) 中使用共享缓存。当您从多个实例重复读取相同的数据时，这样可以避免向挂载的 Amazon S3 存储桶发出冗余请求，从而缩短延迟。

选择使用共享缓存后，您需要为缓存在您的 S3 Express One Zone 目录存储桶中的数据付费。您还需要为针对您在 S3 Express One Zone 目录存储桶中存储的数据发出的请求付费。有关更多信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)。Mountpoint 从不删除目录存储桶中的缓存对象。要管理存储成本，您应该[在目录存储桶上设置生命周期策略](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-lifecycle.html)，以便在您指定的时间段后，Amazon S3 可使 S3 Express One Zone 中的缓存数据过期。有关更多信息，请参阅 GitHub 上的 [Mountpoint for Amazon S3 caching configuration](https://github.com/awslabs/mountpoint-s3/blob/main/doc/CONFIGURATION.md#caching-configuration)。

要在将 Amazon S3 存储桶挂载到计算实例时选择在 S3 Express One Zone 中进行缓存，请使用 `--cache-xz` 标志并将目录存储桶指定为缓存位置。在以下示例中，替换*用户输入占位符*。

```
mount-s3 amzn-s3-demo-bucket ~/mnt --cache-xz amzn-s3-demo-bucket--usw2-az1--x-s3
```

### 合并本地缓存和共享缓存
<a name="shared-local-cache-example"></a>

如果您的实例上有未使用的空间，但又想在多个实例之间使用共享缓存，则可以选择同时使用本地缓存和共享缓存。使用此缓存配置，当所需数据缓存在本地存储中时，您可以避免从同一实例向目录存储桶中的共享缓存发送冗余读取请求。这可以降低请求成本并提高性能。

 要在挂载 Amazon S3 存储桶时同时选择使用本地缓存和共享缓存，请使用 `--cache` 和 `--cache-xz` 标志来指定这两个缓存位置。要利用以下示例来选择同时使用本地缓存和共享缓存，请替换*用户输入占位符*。

```
mount -s3 amzn-s3-demo-bucket ~/mnt --cache /path/to/mountpoint/cache --cache -xz amzn-s3-demo-bucket--usw2-az1--x-s3
```

有关更多信息，请参阅 GitHub 上的 [Mountpoint for Amazon S3 caching configuration](https://github.com/awslabs/mountpoint-s3/blob/main/doc/CONFIGURATION.md#caching-configuration)。

**重要**  
如果您启用共享缓存，Mountpoint 会将对象内容从挂载的 Amazon S3 存储桶复制到您作为共享缓存位置提供的 S3 目录存储桶中，从而使任何有权访问 S3 目录存储桶的调用方都可以访问这些内容。要保护缓存的数据，您应遵循 [Amazon S3 的安全最佳实践](security-best-practices.md)以确保存储桶使用了正确的策略，并且不是公开可访问的。您应该使用专用于 Mountpoint 共享缓存的目录存储桶，并仅向 Mountpoint 客户端授予访问权限。

# Mountpoint 故障排除
<a name="mountpoint-troubleshooting"></a>

适用于 Amazon S3 的 Mountpoint 由 支持 提供支持。如果您需要帮助，请联系 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。

您也可以在 GitHub 上查看并提交 Mountpoint [问题](https://github.com/awslabs/mountpoint-s3/issues)。

如果您在该项目中发现潜在的安全问题，我们要求您通过我们的[漏洞报告页面](https://aws.amazon.com/security/vulnerability-reporting/)通知 AWS 安全部门。不要创建公开的 GitHub 问题。

如果您的应用程序在使用 Mountpoint 时出现异常行为，则可以检查日志信息以诊断问题。

**日志记录**

默认情况下，Mountpoint 会将高严重性日志信息发送到 [https://datatracker.ietf.org/doc/html/rfc5424](https://datatracker.ietf.org/doc/html/rfc5424)。

要查看最新的 Linux 发行版（包括 Amazon Linux）上的日志，请运行以下 `journald` 命令：

```
journalctl -e SYSLOG_IDENTIFIER=mount-s3
```

在其他 Linux 系统上，`syslog` 条目很可能写入到文件（例如 `/var/log/syslog`）中。

您可以使用这些日志对应用程序进行故障排除。例如，如果您的应用程序尝试覆盖现有文件，操作将失败，并且您将在日志中看到类似于以下内容的行：

```
[WARN] open{req=12 ino=2}: mountpoint_s3::fuse: open failed: inode error: inode 2 (full key "README.md") is not writable
```

有关更多信息，请参阅 GitHub 上的适用于 Amazon S3 的 Mountpoint 的[日志记录](https://github.com/awslabs/mountpoint-s3/blob/main/doc/LOGGING.md)。