Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用较旧的部署类型
本节适用于部署类型为 Scratch 1 的文件系统,也适用于部署类型为 Scratch 2
或 Persistent 1
且不使用数据存储库关联的文件系统。
将文件系统链接到 Amazon S3 桶
在创建 Amazon FSx for Lustre 文件系统时,可以将其链接到 Amazon S3 中的持久性数据存储库。在创建文件系统之前,请确保您已经创建了要链接的 Amazon S3 桶。在创建文件系统向导中,您可以在可选的数据存储库 Import/Export 面板中设置以下数据存储库配置属性。
-
在创建文件系统后,在 S3 桶中添加或修改对象时,选择 Amazon FSx 更新文件和目录列表的方式。有关更多信息,请参阅自动从 S3 桶导入更新。。
-
导入桶:输入用于链接存储库的 S3 桶的名称。
-
导入前缀:如果您只想将 S3 桶中的部分文件和目录数据列表导入文件系统,请输入一个可选的导入前缀。导入前缀用于定义从 S3 桶中导入数据的位置。
-
导出前缀:定义 Amazon FSx 将文件系统内容导出到链接的 S3 桶的位置。
您可以使用 1:1 映射,即 Amazon FSx 将数据从 FSx for Lustre 文件系统导出,导回到 S3 桶上导入数据的同一目录。要实现 1:1 映射,请在创建文件系统时指定 S3 桶的导出路径,且不带任何前缀。
使用此方法,您可以在指定导入路径时添加导入前缀,这不会影响导出的 1:1 映射。
创建链接到 S3 桶的文件系统
按照以下流程操作,使用 Amazon 管理控制台和 Amazon 命令行界面(Amazon CLI)创建链接到 S3 桶的 Amazon FSx 文件系统。
- Console
-
-
通过以下网址打开 Amazon FSx 控制台:https://console.aws.amazon.com/fsx/。
-
在控制面板中,选择创建文件系统。
-
对于文件系统类型,选择 FSx for Lustre,然后选择下一步。
-
提供文件系统详细信息和网络和安全部分所需的信息。有关更多信息,请参阅第 1 步:为 Lustre 文件系统创建 FSx。
-
您可以使用数据存储库 Import/Export 面板在 Amazon S3 中配置链接的数据存储库。选择从 S3 导入数据和向 S3 导出数据,以展开数据存储库 Import/Export 部分并配置数据存储库设置。
-
选择 Amazon FSx 在 S3 桶中添加或修改对象时如何使您的文件和目录列表保持最新状态。创建文件系统时,现有 S3 对象将显示为文件和目录列表。
-
在我的 S3 桶中添加对象时,同步更新文件和目录列表:(默认)Amazon FSx 会自动更新添加到链接的 S3 桶中但当前不存在于 FSx 文件系统中的任何新对象的文件和目录列表。Amazon FSx 不会更新 S3 桶中已更改对象的列表。Amazon FSx 不会删除 S3 桶中已删除对象的列表。
使用 CLI 和 API 从链接的 S3 桶导入数据时,默认的导入首选项设置是 NONE
。使用控制台时,默认的导入首选项设置是在将新对象添加到 S3 桶时更新 Lustre。
-
在我的 S3 桶中添加或更改对象时,更新文件和目录列表:在您选择此选项后,Amazon FSx 会自动更新添加到 S3 桶的任何新对象的文件和目录列表,以及在 S3 桶中更改的任何现有对象的文件和目录列表。Amazon FSx 不会删除 S3 桶中已删除对象的列表。
-
在我的 S3 桶中添加、更改或删除对象时,同步更新文件和目录列表:您选择此选项后,Amazon FSx 会自动更新添加到 S3 桶的任何新对象的文件和目录列表、在 S3 桶中更改的任何现有对象的文件和目录列表,以及在 S3 桶中删除的任何现有对象的文件和目录列表。
-
在我的 S3 桶中添加、更改或删除对象时,不更新文件和目录列表 – Amazon FSx 仅在创建文件系统时更新链接的 S3 桶中的文件和目录列表。选择此选项后,FSx 不会更新任何新对象、已更改对象或已删除对象的文件和目录列表。
-
如果您只想将 S3 桶中的部分文件和目录数据列表导入文件系统,请输入一个可选的导入前缀。导入前缀用于定义从 S3 桶中导入数据的位置。有关更多信息,请参阅自动从 S3 桶导入更新。。
-
选择一个可用的导出前缀选项:
-
Amazon FSx 在您的桶中创建的唯一前缀:选择此选项使用 FSx for Lustre 生成的前缀导出新对象和已更改的对象。前缀类似于以下内容:/FSxLustrefile-system-creation-
timestamp
。此时间戳采用 UTC 格式,例如 FSxLustre20181105T222312Z
。
-
与您导入的前缀相同(使用已更新对象替换现有对象):选择此选项可将现有对象替换为已更新的对象。
-
您指定的前缀:选择此选项可保留导入的数据,并使用您指定的前缀导出新对象和已更改对象。要在将数据导出到 S3 桶时实现 1:1 映射,请选择此选项并将前缀字段留空。FSx 会将数据导出到与导入数据相同的目录。
-
(可选)设置维护首选项,或使用系统默认值。
-
选择下一步,然后查看设置。根据需要进行更改。
-
选择创建文件系统。
- Amazon CLI
-
以下示例创建了一个链接到 lustre-export-test-bucket
的 Amazon FSx 文件系统。创建该文件系统后,导入首选项会导入链接数据存储库中的任何新文件、已更改文件和已删除文件。
使用 CLI 和 API 从链接的 S3 桶导入数据时,默认的导入首选项设置为 NONE
,这与使用控制台时的默认行为不同。
要创建 FSx for Lustre 文件,请使用 Amazon FSx CLI 命令 create-file-system
,如下所示。相应的 API 操作是 CreateFileSystem
。
$ aws fsx create-file-system \
--client-request-token CRT1234 \
--file-system-type LUSTRE \
--file-system-type-version 2.10 \
--lustre-configuration
AutoImportPolicy=NEW_CHANGED_DELETED,DeploymentType=SCRATCH_1,ImportPath=s
3://lustre-export-test-bucket/,ExportPath=s3://lustre-export-test-bucket/export,
PerUnitStorageThroughput=50 \
--storage-capacity 2400 \
--subnet-ids subnet-123456 \
--tags Key=Name,Value=Lustre-TEST-1 \
--region us-east-2
在成功创建文件系统后,Amazon FSx 以 JSON 形式返回文件系统描述,如以下示例所示。
{
"FileSystems": [
{
"OwnerId": "owner-id-string",
"CreationTime": 1549310341.483,
"FileSystemId": "fs-0123456789abcdef0",
"FileSystemType": "LUSTRE",
"FileSystemTypeVersion": "2.10",
"Lifecycle": "CREATING",
"StorageCapacity": 2400,
"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": {
"DeploymentType": "PERSISTENT_1",
"DataRepositoryConfiguration": {
"AutoImportPolicy": "NEW_CHANGED_DELETED",
"Lifecycle": "UPDATING",
"ImportPath": "s3://lustre-export-test-bucket/",
"ExportPath": "s3://lustre-export-test-bucket/export",
"ImportedFileChunkSize": 1024
},
"PerUnitStorageThroughput": 50
}
}
]
}
查看文件系统的导出路径
您可以使用 FSx for Lustre 控制台、Amazon CLI 和 API 查看文件系统的导出路径。
- Console
-
- CLI
-
要确定文件系统的导出路径,请使用 describe-file-systems
Amazon CLI 命令。
aws fsx describe-file-systems
在响应中查找 LustreConfiguration
下的 ExportPath
属性。
{
"OwnerId": "111122223333",
"CreationTime": 1563382847.014,
"FileSystemId": "",
"FileSystemType": "LUSTRE",
"Lifecycle": "AVAILABLE",
"StorageCapacity": 2400,
"VpcId": "vpc-6296a00a",
"SubnetIds": [
"subnet-1111111"
],
"NetworkInterfaceIds": [
"eni-0c288d5b8cc06c82d",
"eni-0f38b702442c6918c"
],
"DNSName": "fs-0123456789abcdef0.fsx.us-east-2.amazonaws.com",
"ResourceARN": "arn:aws:fsx:us-east-2:267731178466:file-system/fs-0123456789abcdef0",
"Tags": [
{
"Key": "Name",
"Value": "Lustre System"
}
],
"LustreConfiguration": {
"DeploymentType": "SCRATCH_1",
"DataRepositoryConfiguration": {
"AutoImportPolicy": " NEW_CHANGED_DELETED",
"Lifecycle": "AVAILABLE",
"ImportPath": "s3://lustre-export-test-bucket/",
"ExportPath": "s3://lustre-export-test-bucket/FSxLustre20190717T164753Z"
,
"ImportedFileChunkSize": 1024
}
},
"PerUnitStorageThroughput": 50,
"WeeklyMaintenanceStartTime": "6:09:30"
}
数据存储库生命周期状态
数据存储库生命周期状态提供有关文件系统链接数据存储库的状态信息。数据存储库可以具有以下生命周期状态。
-
正在创建:Amazon FSx 正在文件系统和链接的数据存储库之间创建数据存储库配置。数据存储库不可用。
-
可用:数据存储库可供使用。
-
正在更新:数据存储库配置正在进行客户发起的更新,这可能会影响其可用性。
-
配置错误:在更正数据存储库配置之前,Amazon FSx 无法自动从 S3 桶导入更新。有关更多信息,请参阅对配置错误的链接 S3 存储桶进行问题排查。
您可以使用 Amazon FSx 控制台、Amazon 命令行界面和 Amazon FSx API 查看文件系统的链接数据存储库生命周期状态。在 Amazon FSx 控制台中,您可以通过文件系统的数据存储库选项卡下的数据存储库集成面板来访问数据存储库的生命周期状态。Lifecycle
属性位于 describe-file-systems
CLI 命令响应的 DataRepositoryConfiguration
对象中(等效的 API 操作是 DescribeFileSystems
)。
自动从 S3 桶导入更新。
默认情况下,创建新文件系统时,Amazon FSx 会在创建文件系统时导入链接的 S3 桶中的对象的文件元数据(名称、所有权、时间戳和权限)。您可以配置 FSx for Lustre 文件系统,以便在创建文件系统后自动导入 S3 桶中添加的、已更改的或已删除的对象的元数据。FSx for Lustre 会在创建文件系统后更新已更改对象的文件和目录列表,其方式与在创建文件系统时导入文件元数据的方式相同。当 Amazon FSx 更新已更改对象的文件和目录列表时,如果 S3 桶中的已更改对象不再包含其元数据,则 Amazon FSx 将保留该文件的当前元数据值,而不是使用默认权限。
对于美国东部时间 2020 年 7 月 23 日下午 3:00 之后创建的 FSx for Lustre 文件系统,可提供导入设置。
您可以在创建新文件系统时设置导入首选项,还可以使用 FSx 管理控制台、Amazon CLI 和 Amazon API 更新现有文件系统的设置。创建文件系统时,现有 S3 对象将显示为文件和目录列表。创建文件系统后,您希望在更新 S3 桶的内容时如何更新文件系统? 文件系统可能具有下列某个导入首选项:
FSx for Lustre 文件系统及其链接的 S3 桶必须位于同一 Amazon 区域才能自动导入更新。
-
在我的 S3 桶中添加对象时,同步更新文件和目录列表:(默认)Amazon FSx 会自动更新添加到链接的 S3 桶中但当前不存在于 FSx 文件系统中的任何新对象的文件和目录列表。Amazon FSx 不会更新 S3 桶中已更改对象的列表。Amazon FSx 不会删除 S3 桶中已删除对象的列表。
使用 CLI 和 API 从链接的 S3 桶导入数据时,默认的导入首选项设置是 NONE
。使用控制台时,默认的导入首选项设置是在将新对象添加到 S3 桶时更新 Lustre。
-
在我的 S3 桶中添加或更改对象时,更新文件和目录列表:在您选择此选项后,Amazon FSx 会自动更新添加到 S3 桶的任何新对象的文件和目录列表,以及在 S3 桶中更改的任何现有对象的文件和目录列表。Amazon FSx 不会删除 S3 桶中已删除对象的列表。
-
在我的 S3 桶中添加、更改或删除对象时,同步更新文件和目录列表:您选择此选项后,Amazon FSx 会自动更新添加到 S3 桶的任何新对象的文件和目录列表、在 S3 桶中更改的任何现有对象的文件和目录列表,以及在 S3 桶中删除的任何现有对象的文件和目录列表。
-
在我的 S3 桶中添加、更改或删除对象时,不更新文件和目录列表 – Amazon FSx 仅在创建文件系统时更新链接的 S3 桶中的文件和目录列表。选择此选项后,FSx 不会更新任何新对象、已更改对象或已删除对象的文件和目录列表。
将导入首选项设置为根据链接的 S3 桶中的更改来更新文件系统文件和目录列表时,Amazon FSx 会在名为 FSx
的链接的 S3 桶上创建事件通知配置。请勿修改或删除 S3 桶上的 FSx
事件通知配置,否则会阻止将新的或已更改的文件和目录列表自动导入到文件系统。
当 Amazon FSx 更新链接的 S3 桶上已更改的文件列表时,即使该文件已被写入锁定,它也会使用已更新版本覆盖本地文件。同样,当 Amazon FSx 更新文件列表且链接的 S3 桶上的相应对象已被删除时,它也会删除本地文件,即使该文件处于写锁定状态也是如此。
Amazon FSx 会尽全力更新您的文件系统。在以下情况下,Amazon FSx 无法根据更改来更新文件系统:
这两种情况中的任何一种都会导致数据存储库生命周期状态变为配置错误。有关更多信息,请参阅数据存储库生命周期状态。
先决条件
Amazon FSx 需要满足以下条件才能自动从链接的 S3 桶中导入新的、已更改的或已删除的文件:
-
文件系统及其链接的 S3 桶必须位于同一 Amazon 区域。
-
S3 桶没有配置错误的生命周期状态。有关更多信息,请参阅数据存储库生命周期状态。
-
您的账户必须具有在链接的 S3 桶上配置和接收事件通知所需的权限。
支持的文件更改类型
Amazon FSx 支持对链接的 S3 桶中发生的以下文件和文件夹更改进行导入:
-
更改文件内容
-
更改文件或文件夹元数据
-
更改符号链接目标或元数据
更新导入首选项
在创建新文件系统时,可以设置文件系统的导入首选项。有关更多信息,请参阅将您的文件系统链接到 S3 桶。
创建文件系统后,您还可以使用 Amazon 管理控制台、Amazon CLI 和 Amazon FSx API 更新文件系统的导入首选项,过程如下所示。
- Console
-
- CLI
-
要更新导入首选项,请使用 update-file-system
CLI 命令。相应的 API 操作是 UpdateFileSystem
。
成功更新文件系统的 AutoImportPolicy
后,Amazon FSx 会以 JSON 格式返回更新后的文件系统描述,如下所示:
{
"FileSystems": [
{
"OwnerId": "111122223333",
"CreationTime": 1549310341.483,
"FileSystemId": "fs-0123456789abcdef0",
"FileSystemType": "LUSTRE",
"Lifecycle": "UPDATING",
"StorageCapacity": 2400,
"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": {
"DeploymentType": "SCRATCH_1",
"DataRepositoryConfiguration": {
"AutoImportPolicy": "NEW_CHANGED_DELETED",
"Lifecycle": "UPDATING",
"ImportPath": "s3://lustre-export-test-bucket/",
"ExportPath": "s3://lustre-export-test-bucket/export",
"ImportedFileChunkSize": 1024
}
"PerUnitStorageThroughput": 50,
"WeeklyMaintenanceStartTime": "2:04:30"
}
}
]
}