存储管理用于在 Tencent Cloud Agent Runtime 中管理沙箱运行所需的持久化存储资源。通过存储模板(VolumeTemplate)和数据卷(Volume)两级资源模型,您可以将对象存储(COS)或文件存储(CFS)中的目录,或 AgentCBS 云硬盘挂载到沙箱工具或沙箱实例,复用存储配置并管理数据卷的生命周期。

能力概述
Agent 沙箱服务 将存储从沙箱工具的配置项升级为独立的数据资源,提供以下能力:
存储模板(VolumeTemplate):可复用的存储配置模板,不直接占用存储资源,支持动态批量生成/挂载数据卷。
数据卷(Volume):真实存在的存储资源实例,由模板派生或直接创建,可挂载到沙箱工具或沙箱实例。
统一资源管理:存储模板与数据卷均支持创建、查询、更新和删除。
多后端支持:当前支持对象存储(COS)和文件存储(CFS)两类后端。
适用场景
跨工具复用:读写多(ReadWriteMany)或只读多(ReadOnlyMany)的数据卷可挂载到多个沙箱工具或实例,避免重复配置。
任务级数据卷:通过复用键(ReuseKey)按任务维度生成独立数据卷,在每个实例创建时动态传入复用键(ReuseKey),挂载时自动拼接,任务结束后按回收策略自动清理。
工作方式
资源模型
存储管理采用两层资源模型:
存储模板定义可复用的存储配置,包括存储类型、路径模式、数据卷名称模板、访问模式和回收策略。
数据卷是模板的具体实例,记录实际存储路径、访问模式、回收策略和挂载实例等信息。
存储模板
存储模板是可复用的配置模板。创建数据卷时,系统将模板的存储类型、存储路径、访问模式、回收策略固定到数据卷中。
存储模板名称在账号内唯一。
模板的存储路径模式和数据卷名称模板支持
${reuse_key} 占位符,用于在派生数据卷时生成确定性的数据卷名称或实际存储路径;数据卷名称模板中的 ${reuse_key} 最多出现一次。数据卷
数据卷可直接创建,也可由存储模板派生。
直接创建的数据卷为独立数据卷;由模板派生生成的数据卷会记录模板 ID 和复用键。
读写一次(ReadWriteOnce)的数据卷记录其挂载的实例 ID。
模板派生与复用
系统按存储模板与复用键(ReuseKey)去重复用数据卷。
未设置复用键时:读写一次(ReadWriteOnce)模板每次派生生成新数据卷;读写多(ReadWriteMany)或只读多(ReadOnlyMany)模板复用同一个数据卷。
复用键仅支持小写字母、数字、连字符(-)和下划线(_),最长 128 个字符,且必须以小写字母或数字开头。
挂载时,复用键可以是字面量或
${metadata.<name>} 表达式,在沙箱实例启动时展开;对应元数据值为空时返回 InvalidParameter 错误。挂载
在沙箱工具的
StorageMounts 中,每个挂载项可选择以下来源之一:StorageSource、数据卷(Volume)或存储模板(VolumeTemplate),同一工具内的不同挂载项可以使用不同来源。支持将数据卷挂载到沙箱工具或沙箱实例。
回收策略
数据卷支持以下回收策略:
Retain:保留数据卷,由您手动删除。Delete:仅在数据卷同时满足以下条件时,随沙箱终止自动删除:由模板派生、访问模式为读写一次(ReadWriteOnce)、回收策略为 Delete。自动回收只移除数据卷资源本身,不删除 COS 或 CFS 中的实际数据。读写多(ReadWriteMany)和只读多(ReadOnlyMany)的派生数据卷不随单个沙箱终止自动删除。生命周期
存储模板与数据卷通过状态字段表示生命周期:
存储模板:
CREATING、ACTIVE、DELETING、FAILED。数据卷:
CREATING、ACTIVE、DELETING、DELETED、FAILED。当数据卷或存储模板被挂载引用时,其状态必须为
ACTIVE,否则返回 ResourceUnavailable 错误。使用限制
当前仅支持 COS 与 CFS 两类后端。
数据卷与存储模板的数量配额默认均为 100,实际上限以账号级配额配置为准;其中数据卷配额仅统计独立数据卷,派生数据卷不计入。
存储模板的容量字段
DefaultCapacity 为预留字段,当前 COS 与 CFS 后端下不生效。模板派生不支持实例级或工具级配置覆盖,派生时按模板配置固定生成。
回收策略
Delete 的自动回收不删除 COS 或 CFS 中的实际数据。相关文档
存储模板
数据卷