创建 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 网络。此网络必须与您的虚拟机或集群所用的网络相同。
  • 相应实例是否将从 GKE 集群进行访问。 由于 Lustre 和 GKE 默认都使用端口 988,因此此设置会更改 Lustre 端口以避免冲突。

性能层级和最大存储容量

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

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

创建实例后,您可以增加其存储容量,但不得超过其性能层级和步长所允许的最大值。

容量计算器

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

存储空间容量配额

可用的存储空间容量配额取决于多种因素,包括实例的位置和所请求的性能层级。

您的默认存储容量配额按虚拟私有云 (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 为单位)。有效值为 01252505001000。您选择的吞吐量会影响实例的最小和最大存储容量。

    如需指定动态层,请将此属性设置为 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 文件系统分配的名称。客户端命令(包括 mountlfs)会使用此名称。长度不得超过 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 的客户管理的加密密钥

  • --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 分钟;对于容量为 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,
  "gkeSupportEnabled": boolean
}

必须指定以下值:

  • PROJECT_ID 是 Google Cloud 项目 ID。

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

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

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

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

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

    如需指定动态层,请将此属性设置为 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 的客户管理的加密密钥

  • 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. 点击列表中的实例名称。系统会显示实例详情页面,其中包含实例创建请求的当前状态。

后续步骤