概述

AgenticFS是面向AI Agent场景Serverless文件存储,单个文件系统可管理最高50万AgenticSpace(独立Workspace),为每个Agent终端用户提供容量配额访问隔离性能隔离能力

AgenticFS 与 AgenticSpace

术语 释义
AgenticFS 地域(Region)级文件系统,统一管理最高50万AgenticSpace
AgenticSpace 可用区(AZ)级独立工作空间,拥有独立inode空间,为单个Agent终端用户提供容量配额访问隔离性能隔离

基于上述架构,AgenticFS 提供以下核心能力

  1. Agentic 弹性能力:单个AgenticFS支持最多管理 50 万个 AgenticSpace
  2. Agentic 容量管理:为每个 Agent 设置容量文件数限额,避免资源滥用,控制 Agent 运营成本
  3. Agentic 权限管理:每个 Agent 独立的权限管理,实现真正的访问隔离
  4. Agentic 性能隔离:每个 Agent 支持吞吐IOPS元数据 QoS 性能隔离,避免异常行为恶意访问干扰,实现真正的故障域隔离

应用模型

AgenticFS面向AI Agent平台典型多租户场景,通过AgenticFSAgenticSpace、接入点(AccessPoint)、配额四类对象,将平台终端用户文件系统资源进行映射

  1. Agent平台开发者开通并管理一个或多个AgenticFS,统一视图管理大规模AgenticSpace
  2. 为每个Agent终端用户分配一个独立的AgenticSpace,作为该用户的Workspace,承担容量配额文件数配额访问隔离性能隔离
  3. 同一终端用户的多个Session(会话)对应到该AgenticSpace下的子目录,用于存放会话记录记忆数据Markdown文件Skill等持久化数据
  4. 接入点(AccessPoint)支持AgenticFSAgenticSpace两种粒度,配合RAM访问策略,实现不同应用、不同RAM用户/角色资源差异化访问
  5. 配额AgenticSpace粒度设置,包括容量文件数

产品规格

功能规格

项目 AgenticFS AgenticSpace
协议 兼容 POSIX 语义
支持 NFS v3
客户端:Linux
兼容 POSIX 语义
支持 NFS v3
客户端:Linux
最大容量 100 PiB 1 PiB
最大文件数 50,000亿 10亿
创建数量 单账号20个(可提交工单申请放宽) 单AgenticFS 50万个(可提交工单放宽)
配额 不涉及 支持容量文件数配额
性能隔离 不涉及 支持
扩容方式 自动扩容,扩容步长4 KiB 自动扩容,扩容步长4 KiB
挂载延迟 1~3秒 1~3秒
加密 支持传输加密 支持传输加密
SLA 99.95% 99.95%

性能规格

AgenticSpace ≈ 通用型NAS 高级型

项目 AgenticSpace
平均单路4K读写延迟 同AZ访问:2 ms;跨AZ访问:3~5 ms
峰值吞吐 初始读写300 MB/s,每增加1 GiB容量+0.3 MB/s;读上限20 GB/s,写上限5 GB/s
最大IOPS 30,000

说明:AgenticFS为地域(Region)级产品,AgenticSpace为可用区(AZ)级产品

使用限制

  1. AgenticFS当前邀测发布,如需使用,请提交工单申请
  2. 单个AgenticFS最多创建50万个AgenticSpace
  3. AgenticSpace路径的父目录必须存在,路径不支持重命名,不支持软链接
  4. 不支持AgenticSpace嵌套(父目录已是AgenticSpace时,子目录不可再设为AgenticSpace)
  5. 单个AgenticSpace文件数上限10亿,超过后写入返回no space错误
  6. 容量配额最小1 GiB,按1 GiB步长扩容;调整配额时新值必须高于已使用值

计费

  1. AgenticFS按照存储容量计费,默认采用按量付费方式
  2. 创建AgenticFS文件系统后,按每小时实际存储容量峰值计费

计费项

AgenticFS的计费项为存储容量(通用存储容量),按照每小时文件系统实际存储容量的峰值计费

计费项 计费方式 单价 说明
通用存储容量 按量付费(每小时峰值) - 包含文件系统所有AgenticSpace的存储容量

存储空间费用(根据使用容量计费)(元/GB/月)

容量型 高级型 性能型 AgenticFS 极速型 低频存储 归档存储
0.35 0.85 1.85 0.85 N/A 0.15 0.05

AgenticFS 不支持生命周期管理

付费方式

按量付费(默认):创建文件系统后即开始计费,先使用后付费,按照各计费项的实际用量结算费用

计费周期

  1. AgenticFS以小时为周期统计所有资源的使用量,并按照使用量结算产生的费用
  2. 账单出账时间通常在当前计费周期结束后3~4小时,具体出账时间以系统为准

计费公式

  1. AgenticFS的使用费用每小时结算一次,计算公式如下
    • 费用 = 存储容量小时峰值 × 每小时单价
  2. 产品定价中存储容量的单价为元/GiB/月,按量付费计算时需要先将单价转换为元/GiB/小时
    • 转换公式为:每小时单价 = 月单价 ÷ (当月天数 × 24)

计费开始与停止

  1. 计费开始
    • 创建AgenticFS文件系统成功后,即按每小时存储容量峰值计费
  2. 计费停止
    • 删除AgenticFS文件系统后停止计费
    • 如果文件系统中存在数据,删除前需先清空所有AgenticSpace及文件数据

创建AgenticFS文件系统

操作步骤

  1. 登录 NAS 控制台
  2. 在左侧导航栏,选择文件系统 > 文件系统列表
  3. 在页面左上角,选择地域
  4. 单击创建文件系统,在文件系统类型中选择AgenticFS
  5. 配置以下参数,然后单击确定
参数 说明
地域 选择要创建AgenticFS文件系统的地域,AgenticFS为地域(Region)级别产品
协议类型 仅支持NFS V3协议
服务协议 阅读并勾选服务协议

后续操作

创建完成后,您可以在文件系统详情页管理AgenticSpace

管理AgenticSpace

  1. AgenticSpaceAgenticFS中为单个Agent终端用户分配的独立工作空间,支持容量配额文件数配额访问隔离性能隔离
  2. 本文介绍如何通过控制台OpenAPI创建、修改、删除AgenticSpace,以及在ECS或Agent Sandbox中挂载AgenticSpace

使用限制

  1. 已创建AgenticFS文件系统,当前AgenticFS仅支持白名单创建,如需使用,请提交工单申请
  2. 单个AgenticFS最多50万个AgenticSpace;单个AgenticSpace上限1 PiB容量10亿文件
  3. 路径不支持重命名软链接,不支持AgenticSpace嵌套
  4. 仅支持NFS v3(Linux),不支持SMBWindows
    • 支持ECSACS Agent Sandbox等支持NFS v3挂载的Linux计算节点

创建 AgenticSpace

支持控制台OpenAPI两种方式,创建时需指定路径配额,下表为关键参数

参数 必填 说明
FileSystemPath AgenticSpace路径,例如 /workspace_user001
SizeLimit 配额总容量限制,单位:Byte
取值范围
最小值:10,737,418,240(10 GiB
最大值:1,099,511,627,776,000(1024000 GiB
步长:107,3741,824(1 GiB
FileCountLimit 配额文件数量限制,取值范围:
最小值:10,000 - 1万
最大值:1,000,000,000 - 10亿

方式一:控制台

  1. 登录NAS控制台,进入目标AgenticFS文件系统的AgenticSpace页签
  2. 单击创建AgenticSpace,按上表填写参数后提交

方式二:OpenAPI

调用CreateAgenticSpace接口,请求示例

1
2
3
4
5
6
7
8
9
10
11
12
POST /AgenticSpace/Create HTTP/1.1
Host: nas.aliyuncs.com
Content-Type: application/json

{
"FileSystemId":"031*******",
"FileSystemPath":"/test5/",
"RegionId":"cn-shanghai",
"Azone":"cn-shanghai-f",
"Quota.SizeLimit":"110595407872",
"Quota.FileCountLimit":100004
}

查看与修改配额

  1. AgenticSpace列表中可查看目录路径可用区容量配额GiB/当前容量GiB文件数配额/当前文件数创建时间等字段
  2. 单击目标行操作列的编辑调整容量限制、文件数限制;也可调用SetAgenticSpaceQuota接口
  3. 新配额必须高于当前已使用值,否则修改失败

接入点(AccessPoint)

接入点是AgenticFSNFS协议访问入口,承担挂载寻址权限校验流量隔离,AgenticFS的接入点支持两种粒度

  1. AgenticFS粒度
    • 接入点指向AgenticFS根,用于平台运维批量管理AgenticSpace可信场景
    • 当前版本AgenticFS根目录暂不支持挂载,仅用于OpenAPI管控调用
  2. AgenticSpace粒度
    • 接入点指向单个AgenticSpace,挂载后视图被限制在对应AgenticSpace内,是Agent会话拉起的标准入口

接入点支持基于RAM的访问策略,用于控制不同应用不同RAM用户/角色AgenticFSAgenticSpace的访问范围,建议为RAM子账号授予 nas:ClientMount 权限,并通过 nas:AccessPointArn 条件限定可挂载的接入点,示例策略:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"nas:ClientMount"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"nas:AccessPointArn": "<接入点ARN>"
}
}
}
]
}

重要参数说明请参见下表

参数 说明
nas:AccessPointArn 接入点的ARN,例如,acs:nas:cn-shanghai:117848947****:accesspoint/ap-****,您可以在接入点的基本信息页面中获取ARN

建议为不同Agent应用不同终端用户使用相互隔离RAM角色与接入点,避免越权访问其他AgenticSpace

挂载AgenticSpace

  1. AgenticSpace支持两种典型挂载场景:在ECS上通过ALINAS客户端直接挂载,或在ACS集群中通过Agent SandboxSandboxClaim)以CSI方式挂载
  2. 两种场景均需先完成上文 接入点(AccessPoint) 的RAM授权,且计算节点需与AgenticFS接入点同一VPC
  3. 说明当前版本仅支持挂载AgenticSpace,AgenticFS根目录暂不支持挂载

场景一:在ECS上挂载

  1. AgenticSpace列表中获取挂载地址
    • 挂载地址即对应AgenticSpace接入点NFS域名,挂载后视图自动限制该AgenticSpace内
  2. 在ECS(Linux)安装NFS客户端
1
2
3
4
5
# CentOS / Alibaba Cloud Linux
sudo yum install -y nfs-utils

# Ubuntu / Debian
sudo apt-get install -y nfs-common
  1. 配置RAM AK/SK凭证(用于接入点鉴权
1
2
3
4
5
6
sudo mkdir -p /etc/aliyun/alinas
sudo tee /etc/aliyun/alinas/.credentials > /dev/null <<EOF
[NASCredentials]
accessKeyID = <子账号AK>
accessKeySecret = <子账号SK>
EOF
  1. 执行挂载命令,并通过 df -h 验证
1
sudo mount -t alinas -o tls,vers=3,ram <挂载地址>:/ /mnt/agenticspace

场景二:在Agent Sandbox中通过CSI挂载

适用于在ACS集群中通过Agent Sandbox(SandboxSet/SandboxClaim)拉起的容器化Agent实例,将AgenticSpace作为持久化Workspace挂载到Sandbox容器

前置条件

  1. 已开通容器计算服务ACS并创建ACS集群,集群与AgenticFS接入点同一VPC
  2. 已在ACS集群安装 ack-agent-sandbox-controller 组件,并通过 SandboxSet 完成沙箱预热池配置
  3. 用于挂载的RAM子账号已按上文接入点(AccessPoint)中的策略示例完成授权

步骤一:创建Secret与PV

预计 8.17 支持 STS

RAM 子账号AK/SK写入Secret,并创建指向AgenticSpace接入点PV

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
apiVersion: v1
kind: Secret
metadata:
name: nas-secret
namespace: sandbox-system
stringData:
akId: <子账号AK>
akSecret: <子账号SK>

---
apiVersion: v1
kind: PersistentVolume
metadata:
name: nas-agenticspace-pv
labels:
alicloud-pvname: nas-agenticspace-pv
spec:
capacity:
storage: 500Gi
accessModes:
- ReadWriteMany
csi:
driver: nasplugin.csi.alibabacloud.com
volumeHandle: nas-agenticspace-pv
nodePublishSecretRef:
name: nas-secret
namespace: sandbox-system
volumeAttributes:
server: "<AgenticSpace接入点域名>"
path: "/"
vers: "3"
mountprotocol: "alinas"
filesystemtype: "standard"
mountOptions:
- tls,ram
- vers=3

应用后执行 kubectl get pv,确认PV状态为 Available

步骤二:通过SandboxClaim挂载

SandboxClaim中通过 dynamicVolumesMount 引用上一步创建的PV,并指定容器内挂载路径

1
2
3
4
5
6
7
8
9
10
11
12
13
apiVersion: agents.kruise.io/v1alpha1
kind: SandboxClaim
metadata:
name: code-interpreter-claim
namespace: default
spec:
templateName: code-interpreter # SandboxSet 名称
replicas: 1
claimTimeout: 5m
ttlAfterCompleted: 15m
dynamicVolumesMount:
- pvName: nas-agenticspace-pv
mountPath: "/workspace"

步骤三:验证挂载结果

查看SandboxClaim对应的Pod,进入容器验证挂载路径

1
2
3
kubectl get sandbox -n default -l agents.kruise.io/claim-name=code-interpreter-claim
kubectl -n default exec -it <sandbox-pod-name> -- sh
df -h | grep workspace

删除AgenticSpace

  1. 删除前需卸载所有接入点并备份数据,删除操作不可恢复
  2. 在AgenticSpace管理列表中单击目标行操作列的删除,或调用DeleteAgenticSpace接口
    • 删除完成后,原路径重新创建AgenticSpace

常见问题

挂载时返回 access denied?

检查ECSAgenticFS是否在同一VPC

写入返回 no space?

已达到容量文件数配额上限,通过修改配额扩容,或清理AgenticSpace中的文件

是否支持跨AgenticFS迁移AgenticSpace

当前版本不支持,需先创建新AgenticSpace,再通过应用层复制数据

能否使用SMB或Windows访问?

不支持,AgenticFS当前仅支持NFS v3协议与Linux客户端