

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 自动将更新导出到 S3 桶
<a name="autoexport-data-repo-dra"></a>

您可以配置 FSx for Lustre，以便当您在文件系统中添加、更改或删除对象时，自动更新链接的 S3 桶的内容。FSx for Lustre 会创建、更新或删除与文件系统中的更改对应的 S3 对象。

**注意**  
自动导出在 FSx for Lustre 2.10 文件系统或 `Scratch 1` 文件系统上不可用。

您可以导出到与文件系统 AWS 区域 相同或位于不同文件系统中的数据存储库 AWS 区域。

您可以在创建数据存储库关联时配置自动导出，并可以随时使用 FSx 管理控制台 AWS CLI、和 API 更新自动导出设置。 AWS 

**重要**  
如果您在文件系统中修改某个文件，同时启用所有自动导出策略并禁用自动导入，则该文件的内容将始终导出到 S3 中的相应对象。如果目标位置已存在对象，则该对象将被覆盖。
如果同时在文件系统和 S3 中修改文件，并且启用所有自动导入和自动导出策略，则文件系统中的文件或 S3 中的对象可能被其他文件或对象覆盖。无法保证某个位置更晚的编辑会覆盖其他位置更早的编辑。如果您在文件系统和 S3 桶中修改同一个文件，您应该确保应用程序级协调以防止此类冲突。FSx for Lustre 无法防止在多个位置发生写入冲突。

导入策略指定了在文件系统内容发生变化时，您希望 FSx for Lustre 如何更新链接的 S3 桶。数据存储库关联可能具有下面其中一种自动导出策略：
+ **新** – 仅当文件系统上创建了新的文件、目录或符号链接时，FSx for Lustre 才会自动更新 S3 数据存储库。
+ **已更改** – 仅当文件系统中的现有文件已更改时，FSx for Lustre 才会自动更新 S3 数据存储库。对于文件内容的更改，必须先关闭该文件，然后才能将其传播到 S3 存储库。操作完成后，元数据更改（重命名、所有权、权限和时间戳）会传播。对于所有更改（包括内容和元数据更改），将删除现有的相应的 S3 对象，并使用新的内容 and/or 元数据创建一个新的 S3 对象。
+ **已删除** – 仅当文件系统中删除了文件、目录或符号链接时，FSx for Lustre 才会自动更新 S3 数据存储库。
+ **“新”、“已更改”和“已删除”的任意组合** – 当文件系统中发生任何指定操作时，FSx for Lustre 会自动更新 S3 数据存储库。例如，您可以指定在文件系统中添加文件（**新**）或从文件系统中删除文件（**已删除**）时更新 S3 存储库，但在更改文件时不更新 S3 存储库。
+ **未配置策略** – 在文件系统中添加、更改文件或从中删除文件时，FSx for Lustre 不会自动更新 S3 数据存储库。如果您未配置导出策略，则自动导出会禁用。您仍然可以使用导出数据存储库任务来手动导出更改，如[使用数据存储库任务导出更改](export-data-repo-task-dra.md)中所述。

对于大多数使用案例，我们建议您将导出策略配置为**新**、**已更改**和**已删除**。该策略确保文件系统上的所有更新都自动导出到链接的 S3 数据存储库。

**注意**  
通过自动导出创建的所有 S3 对象都是使用 S3 标准存储类写入的。

我们建议您[开启 CloudWatch 日志记录功能](cw-event-logging.md#manage-logging)，以记录任何无法自动导出的文件或目录的信息。日志中的警告和错误包含有关失败原因的信息。有关更多信息，请参阅 [数据存储库事件日志](data-repo-event-logs.md)。

**注意**  
虽然访问时间（`atime`）和修改时间（`mtime`）在导出操作期间与 S3 同步，但只更改这些时间戳不会触发自动导出。只有对文件内容或其他元数据（例如所有权或权限）进行更改才会触发自动导出到 S3。

## 更新导出设置
<a name="manage-autoexport-dra"></a>

在创建数据存储库关联时，您可以为链接的 S3 桶设置文件系统的导出设置。有关更多信息，请参阅 [创建指向 S3 桶的链接](create-linked-dra.md)。

您也可以随时更新导出设置，包括导出策略。有关更多信息，请参阅 [更新数据存储库关联设置](update-dra-settings.md)。

## 监控自动导出
<a name="monitoring-autoexport"></a>

您可以使用发布到 Amazon 的一组指标来监控启用自动导出的数据存储库关联 CloudWatch。`AgeOfOldestQueuedMessage` 指标表示尚未导出到 S3 的较早文件系统更新的期限。如果 `AgeOfOldestQueuedMessage` 在很长一段时间内大于零，我们建议暂时减少正在进行的文件系统更改（特别是目录重命名）的数量，直到消息队列减少为止。有关更多信息，请参阅 [FSx for Lustre S3 存储库指标](fs-metrics.md#auto-import-export-metrics)。

**重要**  
删除已启用自动导出的数据存储库关联或文件系统时，您应首先确保 `AgeOfOldestQueuedMessage` 为零，这意味着没有尚未导出的更改。如果在您删除数据存储库关联或文件系统时 `AgeOfOldestQueuedMessage` 大于零，则尚未导出的更改将无法到达链接的 S3 存储桶。为避免这种情况，请等待 `AgeOfOldestQueuedMessage` 达到零后再删除您的数据存储库关联或文件系统。