跳到正文

方块

存储卷

不随实例消失的磁盘

方块的磁盘,独立于任何实例存在:数据全部保存在分层存储中,放多少在机器的 NVMe 上由你决定。

查看文档

存储卷的关键数字

每 GB·月数据,不放缓存
$0.02
每 GB·月,全部放在 NVMe 上
$0.08
读写费用
$0

三步上手

命令行、API、SDK 和 MCP 服务器,调用方式都一样,其中存储卷叫作 drive。

开始之前

把你的 API 密钥写入 GLAC_API_KEY。

curl -fsSL https://glac.ai/install.sh | sh
export GLAC_API_KEY=ak_...
API=https://api.glac.ai/v1
AUTH="Authorization: Bearer $GLAC_API_KEY"
from glac import DriveMount, Glac
glac = Glac()
import { Glac } from "glac";
const glac = new Glac();
# give your agent the tools (Claude Code here)
claude mcp add glac -e GLAC_API_KEY=ak_... -- npx glac-mcp
  1. 创建存储卷

    只按写入的数据计费。

    glac drives create --name data \
      --size-bytes 10GiB
    curl $API/drives -H "$AUTH" \
      --json '{"name": "data", "size_bytes": 10737418240}'
    drive = glac.drives.create(name="data", size_bytes=10 << 30)
    const drive = await glac.drives.create(
      { name: "data", sizeBytes: 10 * 2 ** 30 });
    drive_create {"name": "data", "size_gib": 10}
  2. 挂载并写入

    在沙箱中,挂载到你选择的路径。

    glac sandboxes create --name web \
      --drive data:/data
    glac sandboxes exec web -- \
      sh -c 'echo kept > /data/note'
    curl $API/sandboxes -H "$AUTH" --json '{"name": "web",
      "drives": [{"drive": "data", "path": "/data"}]}'
    curl $API/sandboxes/web/run -H "$AUTH" \
      --json '{"command": "echo kept > /data/note"}'
    mount = DriveMount("/data", drive)
    sbx = glac.sandboxes.create(drives=[mount])
    sbx.run("echo kept > /data/note")
    const mount = { path: "/data", drive: drive.id };
    const sbx = await glac.sandboxes.create(
      { drives: [mount] });
    await sbx.files.write("/data/note", "kept\n");
    drive_attach {"drive": "data", "sandbox": "web",
                  "path": "/data"}
    sandbox_run {"sandbox": "web",
                 "command": "echo kept > /data/note"}
  3. 交给下一个

    连同里面的数据,交给下一个沙箱。

    glac drives detach data web
    glac sandboxes create --name next \
      --drive data:/data
    glac sandboxes exec next -- \
      cat /data/note
    curl -X DELETE $API/sandboxes/web/drives/data -H "$AUTH"
    curl $API/sandboxes -H "$AUTH" --json '{"name": "next",
      "drives": [{"drive": "data", "path": "/data"}]}'
    glac.drives.detach(sbx, drive)
    nxt = glac.sandboxes.create(drives=[mount])
    print(nxt.run("cat /data/note").stdout)
    await glac.drives.detach(sbx, drive);
    const nxt = await glac.sandboxes.create(
      { drives: [mount] });
    console.log(await nxt.files.readText("/data/note"));
    drive_detach {"drive": "data", "sandbox": "web"}
    drive_attach {"drive": "data", "sandbox": "next",
                  "path": "/data"}

一个存储卷同一时间只属于一个沙箱,直到被卸载。挂了存储卷的方块只有一个实例。

它能做什么

  • 写入和缓存读取都是 NVMe 速度,缓存多少由你选择。

  • 按数据量和缓存计费,逐小时计算,不按容量、也不按读取次数收费。

  • 每次写入一秒内进入分层存储,每 250 毫秒发送一次。

  • 可挂载到同区域的任意机器上,数据块在读取时按需跟过去。

  • 为存储卷创建快照、分叉或恢复,无需复制任何数据。

  • 一个快照,可同时以只读方式挂到多个沙箱,适合模型权重和数据集。

查看文档

图片仅作示意

用哪种方式保存状态

平台保存程序状态的三种方式,以及各自的用途。

保存的内容用途
休眠内存、进程和磁盘,保持原样两次使用之间的实例或沙箱
快照某一时刻的整个沙箱回退,或从一个复制出多个
存储卷一块独立于任何实例的磁盘实例删除后仍要保留的文件:数据库、工作区、数据集

适用场景

  • 方块上的数据库

    在方块中运行 Postgres、MySQL 或 Redis,数据放在存储卷上。

    glac drives create --name data \
      --size-bytes 5GiB --region eu
    glac deploy redis:7 --name cache \
      --port 6379 --public false \
      --region eu --drive data:/data
  • 可迁移的工作区

    智能体的文件跟着它的沙箱,去往所在区域的任意机器。

    glac drives detach work old
    glac drives attach work new:/work
    glac sandboxes exec new -- ls /work
  • 持久的缓存

    包缓存和构建缓存从一个沙箱保留到下一个,每次运行都是热启动。

    glac drives create --name deps \
      --size-bytes 20GiB
    glac sandboxes create --name ci \
      --drive deps:/root/.cache

价格与限制

按数据量和缓存逐小时计费;读写不收费。 全部价格与套餐

计费项计量方式价格
数据1存储卷中的全部数据,保存在分层存储中$0.00000761 / 百万 GB·毫秒$0.00000000761 / GB·秒$0.0000274 / GB·小时$0.02 / GB·月
NVMe 缓存1放在机器 NVMe 上的部分,大小由你设定;不收读写费用$0.0000228 / 百万 GB·毫秒$0.0000000228 / GB·秒$0.0000822 / GB·小时$0.06 / GB·月

一个月的费用

100 GB 存放一整月,按三种缓存方式计算。读写都不花钱。

  • 全部放 NVMe

    $8.00

    100 GB × ($0.02 + $0.06)

    每次读取都是 NVMe 速度。

  • 折中,缓存 25%

    $3.50

    100 GB × $0.02 + 25 GB × $0.06

    25% 放在 NVMe 上;其余以网络速度读取。

  • 不缓存

    $2.00

    100 GB × $0.02

    每次读取都是网络速度。

免费版付费版
存储卷每个项目3500 个,可申请更多
单个存储卷上限10 GiB1 TiB
所有存储卷合计每个项目15 GiB不限

企业账户经协商,单个存储卷最大可达 16 TiB。一个实例最多挂载 8 个存储卷。

你的数据如何保存

先写在所在的机器上,写入的同时复制到分层存储。

  • 先落在本机

    写入落在它的 NVMe 上;读取已有数据时,数据不出本机。

  • 一秒内同步出去

    每 250 毫秒发送一次;最早一笔未发送的数据积压超过 900 毫秒时,写入会暂停等待。

  • 一台机器宕掉的代价

    它会恢复到出事前一刻的状态。沙箱磁盘也用同样的方式复制,在 41 次机器丢失中,最多丢了 1.0 秒的写入。

  • 同一时间只有一个写入方

    由一台机器持有它的租约,无法续约时就停止写入。

  • 用你的密钥加密

    每一兆字节都用你项目的密钥以 AES-256-GCM 加密。

  • 只在一处

    保存在一个数据中心,除非迁移,不会出现在第二个区域。

延伸阅读

平台