自动将更新导出到 S3 桶 - FSx为了光泽

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

自动将更新导出到 S3 桶

您可以将 for Lustre 文件系统配置FSx为在文件系统上添加、更改或删除文件时自动更新链接的 S3 存储桶的内容。FSxfor Lustre 在 S3 中创建、更新或删除对象,对应于文件系统的更改。

注意

Lustre 2.10 文件系统或Scratch 1文件系统不支持自动导出。FSx

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

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

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

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

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

  • 新增 — FSx 只有在文件系统上创建新文件、目录或符号链接时,for Lustre 才会自动更新 S3 数据存储库。

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

  • 已删除 — FSx 只有在文件系统中删除文件、目录或符号链接时,For Lustre 才会自动更新 S3 数据存储库。

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

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

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

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

注意

虽然在导出操作期间,访问时间 (atimemtime) 和修改时间 () 与 S3 同步,但仅对这些时间戳的更改不会触发自动导出。只有对文件内容或其他元数据(例如所有权或权限)的更改才会触发自动导出到 S3。

更新导出设置

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

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

监控自动导出

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

重要

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