卷池是顶级区域级资源,用于管理项目和虚拟私有云 (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 状态后,选择要如何从池中预配和装载卷:
- 使用 GKE 部署:继续执行为 Filestore 智能体存储卷设置 GKE 环境。Filestore CSI 驱动程序会自动预配和管理池中的卷。
- 使用您自己的编排框架进行部署:继续使用 REST API 创建和管理卷,以直接预配、装载、克隆和分层各个卷。
管理卷池
您可以查看现有卷池的详细信息、列出某个区域内的池、更新标签和容量配额等配置,或删除卷池。
Google Cloud 控制台
您可以直接在Google Cloud 控制台中查看卷池并监控池容量:
在 Google Cloud 控制台中,前往 Filestore 卷池页面。
点击列表中的任意卷池,即可打开卷池详情页面。
在监控标签页上,查看活跃卷数量、存储容量、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 元数据操作计数。 |