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

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

自动从 S3 存储桶导入更新

默认情况下,当您创建新文件系统时,Amazon FSX 会在创建文件系统时自动导入链接 S3 存储桶中对象的文件元数据(名称、所有权、时间戳和权限)。您可以将 Amazon FSx of Lustre 文件系统配置为在创建文件系统后自动导入添加到 S3 存储桶中或在 S3 存储桶中更改的对象的元数据。Amazon FSx for Lustre 会在创建文件系统时导入文件元数据的方式相同,更新已更新对象的文件和目录列表。当 Amazon FSX 更新已更改数据元的文件和目录列表时,如果 S3 存储桶中更改的数据元不再包含其元数据,Amazon FSX 会保留文件的当前元数据值,而不是使用默认权限。

注意

导入设置仅适用于 2020 年 7 月 23 日美国东部时间下午 3 点之后创建的 Lustre 文件系统。

您可以在创建新文件系统时设置导入首选项,也可以使用 FSX 管理控制台(Amazon CLI,以及AmazonAPI。创建文件系统时,现有 S3 对象将显示为文件和目录列表。创建文件系统后,如何更新 S3 存储桶的内容? 文件系统可能具有以下导入首选项之一:

注意

Amazon FSx for Lustre 文件系统及其链接 S3 存储桶必须位于同一Amazon自动导入更新的区域。

  • 更新我的文件和目录列表,因为对象添加到我的 S3 存储桶—(使用控制台创建文件系统时的默认设置)Amazon FSx 会自动更新添加到链接 S3 存储桶中但当前不存在于 FSx 文件系统中的任何新对象的文件和目录列表。Amazon FSX 不会导入 S3 存储桶中已更改的对象的更新列表。Amazon FSX 不会删除 S3 存储桶中删除的对象的列表。

  • 在我的 S3 存储桶中添加或更改对象时更新我的文件和目录列表— Amazon FSx 会在您选择此选项后自动更新添加到 S3 存储桶的任何新对象的文件和目录列表,以及在 S3 存储桶中更改的任何现有对象。Amazon FSX 不会删除 S3 存储桶中删除的对象的列表。

  • 不要更新我的文件,并直接列出何时在我的 S3 存储桶中添加或更改对象—(使用 CLI 或 API 创建文件系统时的默认设置)创建文件系统时,Amazon FSx 仅更新链接的 S3 存储桶中的文件和目录列表。选择此选项后,FSx 不会更新任何新对象或更改对象的文件和目录列表。

注意

使用 CLI 和 API 从链接 S3 存储桶导入数据的默认导入首选项设置为NONE. 使用控制台时的默认导入首选项设置是在将新对象添加到 S3 存储桶时更新 lustre。

当您设置导入首选项以根据链接 S3 存储桶中的更改更新文件系统文件和目录列表时,Amazon FSX 会在链接 S3 存储桶上创建一个名为FSx. 请勿修改或删除FSx事件通知配置 — 这样做将防止将新的或更改的文件和目录列表自动导入到您的文件系统。

当 Amazon FSX 更新链接 S3 存储桶上已更改的文件列表时,即使文件处于写锁定状态,也会使用更新版本覆盖本地文件。

Amazon FSX 会尽最大努力更新您的文件系统。在以下情况下,Amazon FSX 无法通过更改更新文件系统:

  • 如果 Amazon FSX 没有打开更改或新 S3 对象的权限。

  • 如果FSx已删除或更改链接 S3 存储桶上的事件通知配置。

这些条件中的任何一个都会导致数据存储库生命周期状态变为配置错误. 有关更多信息,请参阅 数据存储库周期状态

最佳做法是定期扫描链接的 S3 存储桶并将更改与文件系统上的文件列表进行比较,尤其是当您的应用程序需要保证导入更改时。

Prerequisites

Amazon FSX 从链接的 S3 存储桶中自动导入新文件或更改的文件需要满足以下条件:

  • 文件系统及其链接的 S3 存储桶位于同一Amazon区域。

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

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

支持的文件更改类型

Amazon FSX 支持将以下更改导入链接 S3 存储桶中发生的文件和文件夹:

  • 对文件内容的更改

  • 对文件或文件夹元数据的更改

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

更新导入首选项

您可以在创建新文件系统时设置文件系统的导入首选项。有关更多信息,请参阅 将文件系统链接到 S3 存储桶

在创建文件系统后,您也可以使用Amazon Web Services Management Console,Amazon CLI和 Amazon FSx API,如以下过程中所示。

  1. 从打开 Amazon FSx 控制台https://console.aws.amazon.com/fsx/.

  2. 在控制面板中,选择文件系统.

  3. 选择要管理的文件系统以显示文件系统详细信息。

  4. 选择数据存储库以查看数据存储库设置。如果生命周期状态为AVAILABLE或者配置错误. 有关更多信息,请参阅 数据存储库周期状态

  5. 选择操作,然后选择更新导入首选项以显示更新导入首选项对话框中。

  6. 选择新设置,然后选择更新以进行更改。

  • 要更新导入首选项,请使用update-file-systemCLI 命令。相应的 API 操作是 UpdateFileSystem.

    $ aws fsx update-file-system \ --file-system-id fs-0123456789abcdef0 \ --lustre-configuration AutoImportPolicy=NEW_CHANGED

成功更新文件系统的AutoImportPolicy,Amazon FSx 以 JSON 形式返回更新文件系统的描述,如以下示例所示。

{ "FileSystems": [ { "OwnerId": "111122223333", "CreationTime": 1549310341.483, "FileSystemId": "fs-0123456789abcdef0", "FileSystemType": "LUSTRE", "Lifecycle": "UPDATING", "StorageCapacity": 3600, "VpcId": "vpc-123456", "SubnetIds": [ "subnet-123456" ], "NetworkInterfaceIds": [ "eni-039fcf55123456789" ], "DNSName": "fs-0123456789abcdef0.fsx.us-east-2.amazonaws.com", "ResourceARN": "arn:aws:fsx:us-east-2:123456:file-system/fs-0123456789abcdef0", "Tags": [ { "Key": "Name", "Value": "Lustre-TEST-1" } ], "LustreConfiguration": { "WeeklyMaintenanceStartTime": "2:04:30", "DeploymentType": "PERSISTENT_1", "DataRepositoryConfiguration": { "AutoImportPolicy": "NEW_CHANGED", "Lifecycle": "UPDATING", "ImportPath": "s3://lustre-export-test-bucket/", "ExportPath": "s3://lustre-export-test-bucket/export", "ImportedFileChunkSize": 1024 } } } ] }