创建 Managed Lustre 实例

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

创建受管理的 Lustre 实例时,您必须定义以下属性:

  • 供 Google Cloud使用的实例名称。
  • 客户端工具(例如 lfs)使用的文件系统名称。
  • 存储空间容量,以吉比字节 (GiB) 为单位。容量范围可以从 9,000 GiB 到 12,240,000 GiB (11.67 PiB)。实例的最大大小取决于其性能层级。
  • 性能层。Managed Lustre 提供从每 TiB 125 MBps 到每 TiB 1000 MBps 的性能层级。
  • 位置。为获得最佳性能,请将实例置于与客户端虚拟机或 GKE 集群相同的可用区中。
  • 相应实例的 VPC 网络。此网络必须与您的虚拟机或集群所用的网络相同。
  • 相应实例是否将从 Kubernetes Engine (GKE) 集群进行访问。由于 Lustre 和 GKE 默认都使用端口 988,因此此设置会更改 Lustre 端口以避免冲突。

性能层级和最大存储容量

Managed Lustre 提供 4 个性能层级,每个层级具有不同的每 TiB 最大吞吐速度。性能层级还会影响最小和最大实例大小,以及可接受的容量值之间的步长。

层级 最小容量 最大容量 步长
125 MBps/TiB 72,000 GiB 12,240,000 GiB (11.67 PiB) 72,000 GiB
250 MBps/TiB 36,000 GiB 6,120,000 GiB (5.84 PiB) 36,000 GiB
500 MBps/TiB 18,000 GiB 3,060,000 GiB (2.92 PiB) 18,000 GiB
1,000 MBps/TiB 9,000 GiB 1,530,000 GiB (1.46 PiB) 9,000 GiB

实例创建后,您便无法更改其实例性能层级。

所需权限

如需创建新的 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 为单位)。有效值包括 1252505001000。您选择的吞吐量会影响实例的最小和最大存储容量。

  • --capacity-gib 是实例的存储空间容量,以吉比字节 (GiB) 为单位。允许的值取决于您指定的存储吞吐量层级。如需了解详情,请参阅性能层级和最大存储容量部分。

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

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

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

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

  • --project 是 Google Cloud 项目 ID。

可选标志如下:

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

  • --gke-support-enabled 创建可供 Google Kubernetes Engine 集群使用的实例。它将 Lustre LNet accept_port 设置为 6988。

    如果指定了 --gke-support-enabled,则必须更新虚拟机上的 LNet 配置文件,才能从 Compute Engine 虚拟机进行连接。请参阅gke-support-enabled 实例配置 LNet

  • --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 分钟;对于容量为 12,240,000 GiB (11.67 PiB) 的实例,创建时间最长为 1 小时。如需了解如何查看请求的状态,请参阅查询实例创建状态

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,
  "gkeSupportEnabled": boolean
}

必须指定以下值:

  • PROJECT_ID 是 Google Cloud 项目 ID。

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

  • INSTANCE_ID 是相应受管 Lustre 实例的名称。该解决方案必须:

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

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

  • perUnitStorageThroughput 是实例的每 TiB 吞吐量上限(以 MBps 为单位)。有效值包括 1252505001000。您选择的吞吐量会影响实例的最小和最大存储容量。

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

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

以下字段是可选的:

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

  • gkeSupportEnabled 表示此实例可供 Google Kubernetes Engine 集群使用。它将 Lustre LNet accept_port 设置为 6988。

    如果指定了 gkeSupportEnabled,则必须更新虚拟机上的 LNet 配置文件,才能从 Compute Engine 虚拟机进行连接。请参阅gke-support-enabled 实例配置 LNet

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

Google Cloud 控制台

  1. 前往 Google Cloud 控制台中的托管式 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. 如果您要从 GKE 集群连接到此实例,请选择启用 GKE 支持。此选项将 Lustre LNet accept_port 设置为 6988。

    如果指定了启用 GKE 支持,则必须更新虚拟机上的 LNet 配置文件,才能从 Compute Engine 虚拟机进行连接。请参阅gke-support-enabled 实例配置 LNet

  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 控制台中的托管式 Lustre 页面。

    前往 Managed Lustre

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

后续步骤