Lustre 根挤压 - FSx 为了光泽
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Lustre 根挤压

根挤压是一项管理功能,它在当前基于网络的访问控制和 POSIX 文件权限的基础上又增加了一层文件访问控制。使用 root 压缩功能,您可以限制尝试以 root 用户身份访问您的 for Lustre 文件系统的客户端 FSx 的根级别访问权限。

需要有 root 用户权限才能执行管理操作,例如管理 Lustre 文件系统的权限。 FSx 但是,根访问权限为用户提供了不受限制的访问权限,他们可以绕过权限检查来访问、修改或删除文件系统对象。使用根挤压功能,可以通过为文件系统指定非根用户 ID(UID)和组 ID(GID),防止对数据进行未经授权的访问或删除。访问文件系统的根用户将自动转换为权限较低的指定用户/组,仅具有存储管理员设置的有限权限。

使用根挤压功能,还可以选择提供不受根挤压设置影响的客户端列表。这些客户端能够以根用户身份访问文件系统,且权限不受限制。

根挤压的工作原理

root squash 功能的工作原理是将根用户的用户 ID (UID) 和群组 ID (GID) 重新映射到指定的 UID 和 GID Lustre 系统管理员。使用根挤压功能,还可以选择指定一组 UID/GID 重新映射不适用的客户端。

当你 FSx 为 Lustre 文件系统创建新的文件系统时,root squash 默认处于禁用状态。您可以通过为 for Lustre 文件系统配置 UID 和 GID 根压缩设置来 FSx 启用根压缩。UID 和 GID 值是范围从 04294967294 的整数:

  • UID 和 GID 为非零值时启用根挤压。UID 和 GID 值可以不同,但每个值都必须是非零值。

  • UID 和 GID 的值为 0(零)时表示根,因此禁用根挤压。

在创建文件系统的过程中,您可以使用亚马逊 FSx 控制台在 Root Squash 属性中提供 root squ as h UID 和 GID 值,如所示。创建文件系统时启用根挤压(控制台)您也可以将RootSquash参数与 Amazon CLI 或 API 一起使用,以提供 UID 和 GID 值,如所示。创建文件系统时启用根挤压(CLI)

或者,您还可以指定不适用 root squash 的客户端列表。 NIDs 客户端 NID 是 Lustre 用于唯一标识客户端的网络标识符。可以将 NID 指定为单个地址,也可以指定为地址范围:

  • 标准中描述了单个地址 Lustre NID 格式是指定客户机的 IP 地址,然后是 Lustre 网络 ID(例如,10.0.1.6@tcp)。

  • 描述地址范围时用短划线分隔范围(例如 10.0.[2-10].[1-255]@tcp)。

  • 如果你没有指定任何客户端 NIDs,那么root squash 也不会有例外。

创建或更新文件系统时,您可以使用亚马逊 FSx 控制台中的 Root Squash 异常属性来提供客户端列表 NIDs。在 Amazon CLI 或 API 中,使用NoSquashNids参数。有关更多信息,请参阅 管理根挤压 中的过程。

管理根挤压

在创建文件系统期间,默认禁用根挤压。在通过亚马逊 FSx 控制台或 API 创建新的 Amazon FSx for Lustre 文件系统时 Amazon CLI,你可以启用根压缩。

  1. 打开 Amazon FSx 控制台,网址为https://console.aws.amazon.com/fsx/

  2. 按照入门部分的第 1 步:创建你的 f FSx or Lustre 文件系统中所述的步骤创建新文件系统。

  3. 打开根挤压-可选部分。

  4. 对于 Root Squash,请提供 root 用户可以访问文件系统的用户和群组 IDs 。可以指定 14294967294 范围内的任意整数:

    1. 对于用户 ID,请指定根用户要使用的用户 ID。

    2. 对于群组 ID,请指定根用户要使用的群组 ID。

  5. (可选)对于根挤压例外,请执行以下操作:

    1. 选择添加客户端地址

    2. 客户端地址字段中,指定不适用根挤压的客户端的 IP 地址。有关 IP 地址格式的信息,请参阅 根挤压的工作原理

    3. 根据需要重复此操作,以添加更多客户端 IP 地址。

  6. 按照创建新文件系统时的操作完成向导。

  7. 选择审核和创建

  8. 查看您为 Amazon FSx for Lustre 文件系统选择的设置,然后选择创建文件系统

当文件系统可用时,将启用根挤压。

  • 要创建启用了 root 压缩的 for Lustre 文件系统,请使用create-file-system带有RootSquashConfiguration参数的 Amazon FSx CLI 命令。 FSx 相应的 API 操作是 CreateFileSystem

    对于 RootSquashConfiguration 参数,请设置以下选项:

    • RootSquash – 以冒号分隔的 UID:GID 值,用于指定根用户要使用的用户 ID 和组 ID。可以为每个 ID 指定 04294967294(0 表示根)范围内的任意整数(例如,65534:65534)。

    • NoSquashNids— 指定 Lustre root squash 不适用的客户端的网络标识符 (NIDs)。有关客户端 NID 格式的信息,请参阅根挤压的工作原理

    以下示例创建了一个启用了根压缩功能 FSx 的 for Lustre 文件系统:

    $ aws fsx create-file-system \ --client-request-token CRT1234 \ --file-system-type LUSTRE \ --file-system-type-version 2.15 \ --lustre-configuration "DeploymentType=PERSISTENT_2,PerUnitStorageThroughput=250,DataCompressionType=LZ4,\ RootSquashConfiguration={RootSquash="65534:65534",\ NoSquashNids=["10.216.123.47@tcp", "10.216.12.176@tcp"]}" \ --storage-capacity 2400 \ --subnet-ids subnet-123456 \ --tags Key=Name,Value=Lustre-TEST-1 \ --region us-east-2

成功创建文件系统后,Amazon 以 JSON 格式 FSx 返回文件系统描述,如以下示例所示。

{ "FileSystems": [ { "OwnerId": "111122223333", "CreationTime": 1549310341.483, "FileSystemId": "fs-0123456789abcdef0", "FileSystemType": "LUSTRE", "FileSystemTypeVersion": "2.15", "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_2", "DataCompressionType": "LZ4", "PerUnitStorageThroughput": 250, "RootSquashConfiguration": { "RootSquash": "65534:65534", "NoSquashNids": "10.216.123.47@tcp 10.216.29.176@tcp" } } ] }

您也可以使用 Amazon FSx 控制台或 API 更新现有文件系统的根压缩设置。 Amazon CLI例如,您可以更改 root squash UID 和 GID 值、添加或移除客户端 NIDs,或者禁用 root squash。

  1. 打开 Amazon FSx 控制台,网址为https://console.aws.amazon.com/fsx/

  2. 导航到 “文件系统”,然后选择 Lustre 你要为其管理 root squash 的文件系统。

  3. 操作中,选择更新根挤压。或者,在摘要面板中,选择文件系统的根挤压字段旁边的更新,以显示更新根挤压设置对话框。

  4. 对于 Root Squash,请更新 root 用户可以用来访问文件系统的用户和群组 IDs 。可以指定 04294967294 范围内的任意整数。要禁用 root squash,请将两者都指定0(零) IDs。

    1. 对于用户 ID,请指定根用户要使用的用户 ID。

    2. 对于群组 ID,请指定根用户要使用的群组 ID。

  5. 对于根挤压例外,请执行以下操作:

    1. 选择添加客户端地址

    2. 客户端地址字段中,指定不适用根挤压的客户端的 IP 地址,

    3. 根据需要重复此操作,以添加更多客户端 IP 地址。

  6. 选择更新

    注意

    如果启用了根挤压但想将其禁用,请选择禁用,而不是执行步骤 4-6。

可以在文件系统详细信息页面的更新选项卡上监控更新进度。

要更新现有 FSx For Lustre 文件系统的根压缩设置,请使用 Amazon CLI 命令update-file-system。相应的 API 操作是 UpdateFileSystem

设置以下参数:

  • --file-system-id 设置为要更新的文件系统的 ID。

  • 设置 --lustre-configuration RootSquashConfiguration 选项,如下所示:

    • RootSquash – 设置以冒号分隔的 UID:GID 值,用于指定根用户要使用的用户 ID 和组 ID。可以为每个 ID 指定 04294967294(0 表示根)范围内的任意整数。要禁用根挤压,请将 UID:GID 值指定为 0:0

    • NoSquashNids— 指定 Lustre root squash 不适用的客户端的网络标识符 (NIDs)。用于[]移除所有客户端 NIDs,这意味着 root squash 不会有任何例外。

以下命令指定启用根挤压并使用 65534 作为根用户的用户 ID 和组 ID 的值。

$ aws fsx update-file-system \ --file-system-id fs-0123456789abcdef0 \ --lustre-configuration RootSquashConfiguration={RootSquash="65534:65534", \ NoSquashNids=["10.216.123.47@tcp", "10.216.12.176@tcp"]}

如果命令成功,Amazon FSx for Lustre 将以 JSON 格式返回响应。

您可以在 Amazon FSx 控制台文件系统详情页面的 “摘要” 面板或 describe-file-systemsCLI 命令的响应(等效的 API 操作是 DescribeFileSystems)中查看文件系统的根压缩设置。