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

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

自动从 S3 存储桶导入更新

您可以将 FsX for Lustre 配置为在 S3 存储桶中添加、更改或删除对象时自动更新文件系统中的元数据。FsX for Lustre 创建、更新或删除与 S3 中的更改相对应的文件和目录列表。如果 S3 存储桶中已更改的对象不再包含其元数据,则 FsX for Lustre 将保留文件的当前元数据值,包括当前权限。

注意

FsX for Lustre 文件系统和链接的 S3 存储段必须位于同一存储段Amazon Web Services 区域才能自动导入更新。

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

注意

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

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

  • 如果文件系统和 S3 中都修改了文件,启用了所有自动导入和自动导出策略,则文件系统中的文件或 S3 中的对象都可能被另一个系统覆盖。不能保证稍后在一个位置的编辑会覆盖先前在另一个位置进行的编辑。如果您在文件系统和 S3 存储桶中修改相同的文件,则应确保应用程序级别的协调以防止此类冲突。FsX for Lustre 无法防止在多个位置发生写入冲突。

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

  • 增 — 只有将新对象添加到链接的 S3 数据存储库时,FsX for Lustre 才会自动更新文件和目录元数据。

  • 已更改 — 仅当数据存储库中的现有对象发生更改时,FsX for Lustre 才会自动更新文件和目录元数据。

  • 已删除 — 只有在删除数据存储库中的对象时,FsX for Lustre 才会自动更新文件和目录元数据。

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

  • 未配置策略 — 在 S3 数据存储库中添加、更改或删除对象时,FsX for Lustre 不会更新文件系统上的文件和目录元数据。如果您未配置导入策略,则禁用数据存储库关联的自动导入。您仍然可以使用导入数据存储库任务手动导入元数据更改,如中所述使用数据存储库任务导入更改

对于大多数用例,我们建议您将导入策略配置为 “新建”、“已更改” 和 “已删除”。此策略可确保在链接的 S3 数据存储库中进行的所有更新都自动导入到您的文件系统。

当您设置导入策略以根据链接的 S3 数据存储库中的更改更新文件系统文件和目录元数据时,FsX for Lustre 会在链接的 S3 存储桶上创建事件通知配置。事件通知配置命名为FSx。请勿修改或删除 S3 存储桶上的FSx事件通知配置,这样做会阻止将更新的文件和目录元数据自动导入您的文件系统。

当 FsX for Lustre 更新链接的 S3 数据存储库上已更改的文件列表时,即使文件处于写锁定状态,它也会使用更新的版本覆盖本地文件。

FSx for Lustre 会尽最大努力更新您的文件系统。在以下情况下,FsX for Lustre 无法更新文件系统:

  • 如果 FsX for Lustre 无权打开已更改的或新的 S3 对象。在这种情况下,FsX for Lustre 会跳过该对象并继续操作。DRA 生命周期状态不受影响。

  • 如果 FsX for Lustre 没有存储桶级权限,例如 forGetBucketAcl。这将导致数据存储库生命周期状态变为配置错误。有关更多信息,请参阅数据存储库关联生命周期状态

  • 如果关联的 S3 存储桶上的FSx事件通知配置被删除或更改。这将导致数据存储库生命周期状态变为配置错误。有关更多信息,请参阅数据存储库关联生命周期状态

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

先决条件

FsX for Lustre 需要满足以下条件才能自动从链接的 S3 存储桶中导入新的、已更改或删除的文件:

  • 文件系统及其关联的 S3 存储段位于同一存储段中Amazon Web Services 区域。

  • S3 存储桶没有配置错误的生命周期状态。有关更多信息,请参阅数据存储库关联生命周期状态

  • 您的账户拥有在关联的 S3 存储桶上配置和接收事件通知所需的权限。

支持的文件更改类型

FsX for Lustre 支持导入对链接的 S3 存储桶中发生的文件和目录的以下更改:

  • 文件内容的更改。

  • 文件或目录元数据的更改。

  • 对符号链接目标或元数据的更改。

  • 删除文件和目录。如果您删除链接的 S3 存储桶中与文件系统中的目录相对应的对象(即键名以斜杠结尾的对象),则 FsX for Lustre 仅在文件系统上的相应目录为空时才会删除该目录。

更新导入设置

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

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