创建和管理卷池

卷池是顶级区域级资源,用于管理项目和虚拟私有云 (VPC) 网络的存储容量和 IOPS 共享池。在卷池中,您可以为 AI 智能体沙盒、开发者工作区或一般多租户工作负载预配多达 2,000 万个独立的轻量级卷(最多 50,000 个并发活跃卷,已用容量最多 5 PB)。

准备工作

完成设置 Filestore 智能体存储卷中所述的前提条件。

创建卷池

REST API

如需创建卷池,请向 volumePools.create 端点发送 HTTP POST 请求:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  -d '{
    "description": "Production volume pool for AI agent sandboxes",
    "network": "projects/PROJECT_ID/global/networks/VPC_NETWORK",
    "defaultVolumeQuotaMib": 2048,
    "activeVolumeIops": 1000,
    "labels": {
      "env": "production",
      "workload": "ai-sandboxes"
    }
  }' \
  "https://file.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/volumePools?volumePoolId=VOLUME_POOL_ID"

替换以下内容:

  • PROJECT_ID: Google Cloud 项目 ID。
  • LOCATION:池的部署区域,例如 us-central1。
  • VOLUME_POOL_ID:卷池的标识符,与 ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$ 匹配。
  • VPC_NETWORK:现有 VPC 网络的名称。

请求字段

请求正文包含以下字段:

字段 类型 必填 说明
network string 必填 VPC 网络的资源路径,格式为:projects/{project}/global/networks/{network}。网络必须具有有效的 PSC 服务连接政策。
defaultVolumeQuotaMib int32 可选 每个卷的默认配额(以 MiB 为单位)。该值必须介于 100 MiB 到 102,400 MiB (100 GiB) 之间。默认值为 1,024 MiB。
activeVolumeIops int32 可选 指定为卷池中每个活跃卷预配的 IOPS 数量。默认值为 3,000 IOPS;最大值为 10,000 IOPS。IOPS 在卷池级别预配和计费。如需详细了解价格,请参阅 Filestore 价格页面。
description string 可选 卷池的人性化说明。
labels map[string, string] 可选 可让您在 Google Cloud中整理和过滤资源的键值对。
autoFreezeDelay string 可选 卷必须保持分离状态(具有空 IP ACL)的时长,之后才会自动分层到 COLD 存储。格式为以 s 结尾的时长字符串(例如,604800s 表示 7 天)。默认值为 7 天。

响应

该方法会返回一个长时间运行的操作 (LRO) 对象:

{
  "name": "projects/my-project/locations/us-central1/operations/operation-1694000000000-abcde",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.filestore.v1beta1.OperationMetadata",
    "createTime": "2026-09-08T10:00:00.000Z",
    "target": "projects/my-project/locations/us-central1/volumePools/my-volume-pool",
    "verb": "create"
  },
  "done": false
}

轮询操作,直到 done 为 true:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://file.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"

替换以下内容:

  • PROJECT_ID: Google Cloud 项目 ID。
  • LOCATION:卷池部署到的区域,例如 us-central1。
  • OPERATION_ID:创建响应中返回的操作 ID。

完成后,该操作会返回状态为 READY 的 VolumePool 对象。

卷池达到 READY 状态后,选择要如何从池中预配和装载卷:

管理卷池

您可以查看现有卷池的详细信息、列出某个区域内的池、更新标签和容量配额等配置,或删除卷池。

Google Cloud 控制台

您可以直接在Google Cloud 控制台中查看卷池并监控池容量:

  1. 在 Google Cloud 控制台中,前往 Filestore 卷池页面。

    前往卷池

  2. 点击列表中的任意卷池,即可打开卷池详情页面。

  3. 在监控标签页上,查看活跃卷数量、存储容量、IOPS 和 I/O 延迟时间的实时图表。

REST API

在以下每个请求中,替换:

  • PROJECT_ID: Google Cloud 项目 ID。
  • LOCATION:卷池部署到的区域,例如 us-central1。
  • VOLUME_POOL_ID:卷池的标识符。

获取有关卷池的信息

如需检索有关特定卷池的详细信息,请运行以下命令:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://file.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/volumePools/VOLUME_POOL_ID"

列出卷池

如需列出给定区域中的所有卷池,请运行以下命令:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://file.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/volumePools"

更新卷池

如需更新现有卷池的说明或标签,请发送带有 updateMask 查询参数的 PATCH 请求:

curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://file.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/volumePools/VOLUME_POOL_ID?updateMask=description,labels" \
  -d '{
    "description": "Updated pool description",
    "labels": {
      "env": "production",
      "owner": "platform-team"
    }
  }'

PATCH 方法会返回一个长时间运行的操作。您可以轮询操作,直到其完成。

删除卷池

在删除卷池之前,您必须先删除该池中预配的所有子卷。如需删除卷池,请执行以下操作:

curl -X DELETE \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://file.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/volumePools/VOLUME_POOL_ID"

监控卷池

您可以使用 Cloud Monitoring 和 Google Cloud 控制台监控卷池的性能、容量和卷数量。

监控指标

Filestore 会在 file.googleapis.com/volume_pool/ 命名空间下导出 12 个专用指标:

指标类型 显示名称 种类 单位 说明
volume_pool/volumes 卷 GAUGE {volume} 卷池中的卷数量,按生命周期状态细分。
volume_pool/used_bytes 已用字节数 GAUGE By 卷池中的总已用容量。
volume_pool/cold_used_bytes 冷存储已用字节数 GAUGE By 卷池中 COLD 层级内的卷所消耗的总存储空间。
volume_pool/provisioned_iops 预配的 IOPS GAUGE {operation}/s 卷池的预配 IOPS 限制。
volume_pool/read_ops_count 读取操作次数 DELTA {operation} 卷池中所有卷的读取操作次数。
volume_pool/write_ops_count 写入操作次数 DELTA {operation} 卷池中所有卷的写入操作次数。
volume_pool/total_ops_count 总操作次数 DELTA {operation} 卷池中所有卷的读写操作次数。
volume_pool/read_bytes_count 读取的字节数 DELTA By 卷池中所有卷读取的字节数。
volume_pool/write_bytes_count 写入的字节数 DELTA By 卷池中所有卷写入的字节数。
volume_pool/average_read_latency 平均读取延迟时间 GAUGE ms 卷池中所有卷的读取操作平均延迟时间。
volume_pool/average_write_latency 平均写入延迟时间 GAUGE ms 卷池中所有卷的写入操作平均延迟时间。
volume_pool/metadata_ops_count 元数据操作计数 DELTA {operation} 卷池中所有卷的 NFS 元数据操作计数。

后续步骤