自动将更新导出到 S3 桶 - FSx for Lustre
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

自动将更新导出到 S3 桶

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

注意

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

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

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

注意

您可以在同一数据存储库关联上同时配置自动导出和自动导入。本主题仅介绍自动导出功能。

重要
  • 如果您在文件系统中修改某个文件,同时启用所有自动导出策略并禁用自动导入,则该文件的内容将始终导出到 S3 中的相应对象。如果目标位置已存在对象,则该对象将被覆盖。

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

导入策略指定了在文件系统内容发生变化时,您希望 FSx for Lustre 如何更新链接的 S3 桶。数据存储库关联可能具有下面其中一种自动导出策略:

  • – 仅当文件系统上创建了新的文件、目录或符号链接时,FSx for Lustre 才会自动更新 S3 数据存储库。

  • 已更改 – 仅当文件系统中的现有文件已更改时,FSx for Lustre 才会自动更新 S3 数据存储库。对于文件内容的更改,必须先关闭该文件,然后才能将其传播到 S3 存储库。操作完成后,元数据更改(重命名、所有权、权限和时间戳)会传播。对于重命名更改(包括移动),现有(预先重命名的)S3 对象会被删除,并使用新名称创建新的 S3 对象。

  • 已删除 – 仅当文件系统中删除了文件、目录或符号链接时,FSx for Lustre 才会自动更新 S3 数据存储库。

  • “新”、“已更改”和“已删除”的任意组合 – 当文件系统中发生任何指定操作时,FSx for Lustre 会自动更新 S3 数据存储库。例如,您可以指定在文件系统中添加文件()或从文件系统中删除文件(已删除)时更新 S3 存储库,但在更改文件时不更新 S3 存储库。

  • 未配置策略 – 在文件系统中添加、更改文件或从中删除文件时,FSx for Lustre 不会自动更新 S3 数据存储库。如果您未配置导出策略,则自动导出会禁用。您仍然可以使用导出数据存储库任务来手动导出更改,如使用数据存储库任务导出更改中所述。

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

我们建议您开启 CloudWatch 日志记录功能,以记录任何无法自动导出的文件或目录的信息。日志中的警告和错误包含有关失败原因的信息。有关更多信息,请参阅 数据存储库事件日志

更新导出设置

在创建数据存储库关联时,您可以为链接的 S3 桶设置文件系统的导出设置。有关更多信息,请参阅 创建指向 S3 桶的链接

您也可以随时更新导出设置,包括导出策略。有关更多信息,请参阅 更新数据存储库关联设置

监控自动导出

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

重要

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