ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Marin的fsutil怎么用?对象存储实用命令完全参考手册

Marin的fsutil怎么用?对象存储实用命令完全参考手册 Marin的fsutil怎么用对象存储实用命令完全参考手册【免费下载链接】marinOpen-source framework for the research and development of foundation models.项目地址: https://gitcode.com/GitHub_Trending/ma/marinMarin 是一个开源的基座模型研究开发框架而它内置的fsutil 工具是整个项目中最好用的数据管家一条命令即可跨 GCS、CoreWeave 对象存储、R2 三大后端列出、查看、统计、拷贝和删除对象还能打开交互式浏览器。对于新手来说不用记各种云厂商的 CLI也不用纠结当前桶是哪个概念——fsutil 让对象存储操作像操作本地文件一样简单。一、30秒认识 fsutil解决什么痛点做大规模模型训练时数据、检查点、日志都散落在多个对象存储桶里。传统做法是GCS 用一套工具、S3 用另一套还要手动维护凭证和当前桶上下文新手很容易踩坑。fsutil 的设计思路非常直接见 cli.py路径永远是完整 URLgs://bucket/key、s3://bucket/key或本地路径没有隐式的当前桶跨后端随意混用一条cp命令的源和目的可以属于不同存储后端桶列表来自配置所有桶在config/*.yaml的data.region_buckets中声明参考 config/marin.yaml新增桶只需改配置无需改代码。完整源码位于 lib/rigging/src/rigging/fsutil/官方参考文档在 docs/references/fsutil.md。二、准备工作配置凭证只需三步fsutil buckets可以列出所有已声明的桶及其凭证状态未配置的后端会提前暴露不会等到命令失败才发现问题。存储后端凭证方式GCS应用默认凭证gcloud auth application-default loginCoreWeave 对象存储环境变量CW_KEY_ID/CW_KEY_SECRETR2环境变量R2_KEY_ID/R2_KEY_SECRET 两个 S3 兼容后端也接受通用的AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY只配了一个后端时这套变量就够用。没有凭证的后端只会影响它自己的桶其余命令照常工作。快速验证uv run fsutil buckets # 查看哪些后端可达、凭证是否就位三、核心命令速查从查看到删除全覆盖以下是全部 15 个命令的完整清单覆盖日常对象存储操作的每个环节1️⃣ 查看类ls / cat / head / stat / finduv run fsutil ls -l gs://marin-us-central2/scratch # 列出子项-l 显示大小和修改时间 uv run fsutil ls -R gs://marin-us-central2/scratch/checkpoints # -R 递归列出所有后代 uv run fsutil ls s3://marin-us-east-02a/*/config.json # 支持 glob 通配 uv run fsutil cat s3://marin-us-east-02a/iris/my-job/config.json # 查看文件内容 uv run fsutil head -n 20 s3://bucket/path.jsonl # 只看前 N 行 uv run fsutil stat gs://bucket/key.parquet # 查看对象元数据 uv run fsutil find gs://marin-us-central2/x/**/*.json # glob 搜路径两个新手友好细节表格文件自动渲染cat会把 JSON、JSONL、parquet 渲染成表格加--raw则输出原始字节压缩文件自动解压.gz、.bz2、.xz、.lzma按后缀自动解压预览。2️⃣ 容量类du / usage —— 找出谁在吃你的存储uv run fsutil du s3://marin-us-east-02a/iris/my-job # 前缀下的总字节数和对象数 uv run fsutil usage s3://marin-us-east-02a -o usage-report.md # 生成 Markdown 清理报告usage是成本治理的杀手锏它只做元数据扫描默认 128 并发最高 1024按大小自动下钻超过 1 TiB 的前缀最终按陈旧 TiB-年前缀大小 × 距最近写入的年数给清理候选排序——又占地方又长期不动的前缀会被优先推荐。交互式终端还会实时显示扫描线程数、对象速率、字节速率等进度信息。3️⃣ 传输类cp / mv / rsync / hashuv run fsutil cp -r s3://marin-us-east-02a/iris/my-job/logs /tmp/logs # 跨后端拷贝 uv run fsutil mv /tmp/run.json gs://marin-us-central2/archive/ # 移动/重命名 uv run fsutil rsync --dry-run --delete /tmp/checkpoints gs://marin-us-central2/checkpoints uv run fsutil hash gs://marin-us-central2/archive/run.json --hex # 校验 MD5几个值得记住的行为目标是已存在目录或以/结尾时源文件会追加到目录里并保留基名mv会先完成全部拷贝、成功后才删除源安全rsync先比大小和时间戳必要时再比 MD5--dry-run可预览同步与删除计划本地文件之间的cp -r/mv -r会保留空目录。4️⃣ 删除类rm —— 带并发的安全批量删除uv run fsutil rm -R s3://marin-us-east-02a/tmp/expired-prefix --workers 32递归删除远端前缀时fsutil 采用边列边删的并行分页扫描器删除随列表逐页落盘即执行内存占用由在途请求数决定而不是前缀大小。--workers默认 16、最高 256S3 写入吞吐高值得调大GCS 桶默认值已贴近桶的写入上限约 1000 次写入/秒超大规模清理官方更推荐对象生命周期规则lifecycle rule——把临时数据放进带ttl前缀的路径让规则自动清理。四、进阶玩法交互式浏览器与文件查看器敲uv run fsutil不带任何参数直接进入交互式浏览器起点是全部已声明的桶列表直接给一个 URL 则自动打开——目录进浏览器文件进查看器uv run fsutil # 从桶列表开始浏览 uv run fsutil gs://marin-us-central2/scratch # 直接打开某个目录 uv run fsutil show gs://marin-us-central2/documents/shard-00000.parquet # 分页查看文件常用按键一览按键动作j/k、方向键上下移动g/G跳顶/跳底enter/l打开前缀或预览文件backspace/h返回上一级/按名称过滤s切换排序名称 / 大小 / 修改时间d统计高亮前缀的总大小y显示当前条目的完整 URLq退出或关闭查看器 对.parquet文件尤其贴心show从文件尾部的 footer 读取 schema 和行数翻页时逐 row group 解码不用下载整个文件。预览上限为解压后 10 MB更大的对象请直接用cp拉取parquet 预览需要环境里有 pyarrowmarin 工作区已内置安装。五、实战场景给训练实验挑数据桶Marin 的 datakit 数据流水线会把不同 token 规模的样本存到 CoreWeave 桶里官方文档experiments/datakit/README.md给出的标准操作就是一行 fsutiluv run fsutil ls s3://marin-us-east-02a/marin/datakit/训练产出的日志与检查点同样适用du看某个 job 目录占了多少空间、usage -o report.md定期生成清理报告、cp -r把日志拉回本地分析。训练实验的 loss 曲线最终也会归档到桶中例如 docs/reports/32b-loss-comparisons.png 这类对比图表。六、常见问题速答Q1fsutil buckets显示某个后端 credentials 是 missing会影响其他桶吗不会。无凭证的后端只影响它自己的桶其余命令照常执行。Q2如何从代码里复用 fsutil 的路由逻辑使用 rigging/filesystem/buckets.py 中的rigging.filesystem.buckets.filesystem_for(url)——这是同一进程内同时访问两个 S3 后端的正确方式进程级AWS_*变量一次只能描述一个后端。Q3删除 6000 万对象要多久GCS 桶约需 17 小时受桶级写入速率上限约束与客户端无关这种规模建议改用生命周期规则零成本且无需列表扫描。Q4格式化预览有多大限制格式化预览解压后上限 10 MBcat --raw上限 10 MB 存储字节完整读取请用cp。七、上手清单收藏这一节就够了uv run fsutil buckets— 确认凭证状态uv run fsutil— 打开交互式浏览器随意逛uv run fsutil ls -l URL— 查看目录uv run fsutil cat URL— 预览 JSON/JSONL/parquet 表格uv run fsutil du URL— 统计前缀容量uv run fsutil cp -r SRC DST— 跨后端拷贝uv run fsutil usage 桶 -o report.md— 定期生成清理报告uv run fsutil rm -R URL --workers N— 并行批量清理。fsutil 把对象存储运维从多套 CLI 的心智负担变成了一条命令的事无论是查数据、搬检查点还是治理存储成本这套命令都够用。更多细节请直接阅读 docs/references/fsutil.md实现代码在 lib/rigging/src/rigging/fsutil/cli.py。【免费下载链接】marinOpen-source framework for the research and development of foundation models.项目地址: https://gitcode.com/GitHub_Trending/ma/marin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表