创建 Managed Lustre 实例

Google Cloud Managed Lustre 实例是云中的完整 Lustre 文件系统。它可以装载到 Compute Engine 虚拟机或 Google Kubernetes Engine (GKE) 集群。您可以使用标准 POSIX 术语访问实例上的数据。

创建 Managed Lustre 实例时,您必须定义以下属性:

  • 实例的名称,由 Google Cloud使用。
  • 文件系统名称,由 lfs 等客户端工具使用。
  • 存储空间容量,以吉比字节 (GiB) 为单位。容量范围可以从 9,000 GiB 到 84,016,000 GiB (80.1 PiB)。实例的最大大小取决于其性能层级。
  • 性能层级。Managed Lustre 提供从每 TiB 125 MBps 到每 TiB 1000 MBps 的性能层级,以及一个可根据数据访问模式优化性能的动态层级,其总吞吐量为每 TiB 25 MBps。
  • 位置。为获得最佳性能,请将实例与客户端虚拟机或 GKE 集群置于同一可用区。
  • 此实例的 VPC 网络。此网络必须与虚拟机或集群使用的网络相同。

性能层级和最大存储容量

Managed Lustre 提供 4 个固定性能层级和 1 个动态层级。性能层级会影响最小和最大实例大小,以及可接受的容量值之间的步长。实例创建后,您便无法更改其实例性能层级。

如需了解详情,请参阅性能层级。

实例创建后,您可以增加其实例存储容量,最高可达其性能层级和步长允许的最大值。

容量计算器

选择性能层级并输入目标容量,即可找到最接近的有效大小。有效大小会根据层级的最小值和步长向上舍入。

配额

您的项目具有吞吐量和容量配额,这些配额会在您创建实例时消耗。如果您在实例的可用区和 VPC 网络中没有足够的配额来满足您选择的实例大小和性能层级,则创建请求会失败。如需了解详情,请参阅配额和限制。

所需权限

如需创建新的 Managed Lustre 实例,您必须拥有项目的 Managed Lustre Admin (roles/lustre.admin) IAM 权限。

如需了解详情,请参阅使用 IAM 进行访问权限控制。

您还必须启用 Managed Lustre API。

创建实例

您可以通过以下界面创建新的 Managed Lustre 实例。

gcloud

如需创建新的 Managed Lustre 实例,请使用 gcloud lustre instances create 命令:

gcloud lustre instances create INSTANCE_ID \
  --per-unit-storage-throughput=PER_UNIT_STORAGE_THROUGHPUT \
  --capacity-gib=CAPACITY_GIB \
  --filesystem=FILESYSTEM \
  --location=LOCATION \
  --network=NETWORK_PATH

必须指定以下值:

  • INSTANCE_ID 是此 Managed Lustre 实例的名称。该解决方案必须:

    • 只能包含小写字母、数字和连字符。
    • 以字母开头。
    • 长度介于 1 到 63 个字符之间。
    • 以数字或字母结尾。
    • 在项目和位置中是唯一的。
  • --per-unit-storage-throughput 是实例的最大吞吐量(以每 TiB 的 MBps 为单位)。有效值为 0、125、250、500 和 1000。您选择的吞吐量会影响实例的最小和最大存储容量。

    如需指定动态层级,请将其设置为 0 并添加 --dynamic-tier-options-mode=DEFAULT_CACHE 标志。例如:

    gcloud lustre instances create my-dynamic-tier-instance \
      --per-unit-storage-throughput=0 \
      --dynamic-tier-options-mode=DEFAULT_CACHE \
      ...
    
  • --capacity-gib 是实例的存储容量,以吉比字节 (GiB) 为单位。允许的值取决于您指定的存储吞吐量层级。如需了解详情,请参阅性能层级和最大存储容量部分。

  • --filesystem 是要为此 Lustre 文件系统分配的名称。此名称由客户端命令(包括 mount 和 lfs)使用。长度不得超过 8 个字符,只能包含字母和/或数字,并且区分大小写。

    建议选择一个在 VPC 中的所有 Managed Lustre 实例中唯一的名称。这样,您就可以从单个 GKE 节点使用多个实例。

  • --location必须是 Managed Lustre 支持的有效 Google Cloud 可用区。如需查看完整列表,请参阅支持的位置。

  • --network 是实例所属 VPC 网络的完整路径,格式为 projects/PROJECT_ID/global/networks/NETWORK。请参阅配置 VPC 网络。

  • --project 是 Google Cloud 项目 ID。

可选标志如下:

  • --dynamic-tier-options-mode 指定此实例的动态层级。将此标志的值设置为 DEFAULT_CACHE,并设置 --per-unit-storage-throughput=0 以启用动态层级。

  • --kms-key-name 指定用于加密此实例的客户管理的加密密钥。如需了解详情,请参阅适用于 Managed Lustre 的客户管理的加密密钥。

  • --maintenance-policy-weekly-windows 和 --maintenance-policy-exclusion-window 为此实例定义维护政策。如需了解详情,请参阅维护事件和政策。

  • --async(可选)异步运行命令。Google Cloud CLI 不会等待实例创建完成,而是会返回一个操作 ID,可用于查询命令的状态。

如果请求成功,则会返回操作 ID:

Create request issued for: [$INSTANCE_ID]
Waiting for operation [projects/$PROJECT_ID/locations/us-central1-a/operations/
operation-1234567890-609d21deae6f0-befaf0bc-867b1aa1] to complete...

对于容量为 9,000 GiB 的实例,创建实例大约需要 15 分钟;对于容量为 84,016,000 GiB (80.1 PiB) 的实例,创建实例最多需要几个小时。如需了解如何查看请求的状态,请参阅查询实例创建状态。

REST

如需使用 REST API 创建实例,请向以下端点发送请求:

POST https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances?instanceId=INSTANCE_ID
Authorization: Bearer AUTH_TOKEN
{
  "filesystem": string,
  "perUnitStorageThroughput": int64,
  "capacityGib": int64,
  "network": string
}

必须指定以下值:

  • PROJECT_ID 是 Google Cloud 项目 ID。

  • ZONE必须是 Managed Lustre 支持的有效 Google Cloud 可用区。如需查看完整列表,请参阅支持的位置。

  • INSTANCE_ID 是此 Managed Lustre 实例的名称。该解决方案必须:

    • 只能包含小写字母、数字和连字符。
    • 以字母开头。
    • 长度介于 1 到 63 个字符之间。
    • 以数字或字母结尾。
    • 在项目和位置中是唯一的。
  • filesystem 是要为此 Lustre 文件系统分配的名称。此名称由客户端命令(包括 mount 和 lfs)使用。长度不得超过 8 个字符,只能包含字母和/或数字,并且区分大小写。

    建议选择在 VPC 中的所有 Managed Lustre 实例中唯一的文件系统名称。这样,您就可以从单个 GKE 节点使用多个实例。

  • perUnitStorageThroughput 是实例的最大吞吐量(以每 TiB 的 MBps 为单位)。有效值为 0、125、250、500 和 1000。您选择的吞吐量会影响实例的最小和最大存储容量。

    如需指定动态层级,请将其设置为 0 并添加 dynamicTierOptions 对象。例如:

    "perUnitStorageThroughput": 0,
    "dynamicTierOptions": {
      "mode": "DEFAULT_CACHE"
    }
    
  • capacityGib 是实例的存储容量,以吉比字节 (GiB) 为单位。允许的值取决于您指定的存储吞吐量层级。如需了解详情,请参阅性能层级和最大存储容量部分。

  • network 是实例所属 VPC 网络的完整路径,格式为 projects/PROJECT_ID/global/networks/NETWORK。请参阅配置 VPC 网络。

以下字段是可选的:

  • dynamicTierOptions 为此实例启用动态层级。dynamicTierOptions 对象中的 mode 字段必须设置为 DEFAULT_CACHE,并且 perUnitStorageThroughput 必须为 0,才能启用动态层级。

  • kmsKey 指定用于加密此实例的客户管理的加密密钥。如需了解详情,请参阅适用于 Managed Lustre 的客户管理的加密密钥。

该 API 支持实例的其他可选字段。如需查看完整列表和说明,请参阅 Instance 资源参考文档。

Google Cloud 控制台

  1. 前往 Google Cloud 控制台中的 Managed Lustre 页面。

    前往 Managed Lustre

  2. 点击创建。系统会显示创建实例页面。

  3. 输入唯一的实例名称和(可选)说明。 Google Cloud 使用实例名称来标识此实例。

  4. 输入文件系统名称。这是客户端工具(例如 lfs)使用的名称。长度不得超过 8 个字符,只能包含字母和/或数字,并且区分大小写。

  5. 选择要在其中创建此实例的区域和可用区。您应将实例放置在将连接到该实例的 Compute Engine 虚拟机或 Google Kubernetes Engine 集群所在的区域和可用区中。

  6. 为此实例选择性能层级。

  7. 指定实例的存储容量,以吉比字节 (GiB) 为单位。有效值取决于您选择的存储吞吐量层级。如需了解详情,请参阅性能层级和最大存储容量部分。

  8. 在加密部分中,选择 Google 管理的加密密钥或 Cloud Key Management Service 密钥。如需了解 Cloud Key Management Service 密钥选项,请参阅适用于 Managed Lustre 的客户管理的加密密钥。

  9. 可选:如需控制何时可以对此实例进行维护,请展开维护政策部分,然后配置维护窗口或排除窗口。如需了解详情,请参阅维护事件和政策。

  10. 选择您在创建 VPC 网络中创建的网络。

页面的摘要部分会更新,以根据您的选择显示估算费用。

点击提交以继续。实例创建过程需要 15 分钟到 1 小时,具体取决于实例容量。

查询实例创建状态

您可以通过以下接口查询创建请求的状态。

gcloud

如需查询创建操作的状态,您可以获取操作或实例。

如需获取实例,请执行以下操作:

gcloud lustre instances describe INSTANCE_NAME \
  --location=ZONE

创建状态是 state 的值。

如需获取操作,请使用实例创建响应中的操作 ID。操作 ID 的格式如下:

  • operation-1234567890123-6127783ad26ea-88913969-02748053
gcloud lustre operations describe OPERATION_ID \
  --location=LOCATION

创建状态是 done 的值。

创建实例后,对实例发出的 get 请求的结果类似于以下响应。

记下 mountPoint 字段中的 IP 地址和文件系统名称;装载实例时,您需要用到这些值。

capacityGib: '27000'
createTime: '2025-03-14T00:07:34.308574307Z'
filesystem: lustre-fs
mountPoint: 10.115.0.3@tcp:/testfs
name: projects/$PROJECT/locations/us-central1-a/instances/$INSTANCE_NAME
network: projects/$PROJECT/global/networks/default
state: ACTIVE
updateTime: '2025-03-14T00:15:37.101024263Z'

REST

如需查询创建操作的状态,请使用响应中的操作 ID。操作 ID 的格式如下:

  • operation-1234567890123-6127783ad26ea-88913969-02748053

向以下端点发送请求:

GET https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/operations/OPERATION_ID
Authorization: Bearer

如果成功,响应正文将包含一个 Operation 实例。

Google Cloud 控制台

  1. 前往 Google Cloud 控制台中的 Managed Lustre 页面。

    前往 Managed Lustre

  2. 点击列表中的实例名称。系统会显示实例详情页面,其中包含实例创建请求的当前状态。

问题排查

IP 地址范围已用尽

如果实例创建失败,并显示 IP 地址范围用尽错误:

FAILED_PRECONDITION: Invalid resource state for "NETWORK_RANGES_NOT_AVAILABLE": IP address range exhausted

或者:

Private Service Access IP address range exhausted or does not exist.

按照配置专用服务访问通道中的说明修改现有专用连接,以添加 IP 地址范围。

我们建议前缀长度至少为 /20(4096 个地址)。

网络尚未对等互连

如果实例创建失败并出现网络对等互连错误:

INVALID_ARGUMENT: the network has not been peered with Google managed services.

如果 --network 中指定的 VPC 网络尚未通过专用服务访问通道与 Google 管理的服务建立对等互连,则会发生此错误。

如需解决此问题,请按照创建和配置 VPC 中的说明分配 IP 地址范围并建立 VPC 对等互连连接。

后续步骤