文档中心>对象存储

COSFS2 简介

最近更新时间:2025-12-24 15:33:52

我的收藏

概述

COSFS2 是一款基于 FUSE(Filesystem in Userspace)用户态文件系统框架 开发的高性能客户端,专为腾讯云对象存储 COS 量身打造。产品核心目标是通过本地挂载的便捷方式,实现对 COS 存储的高性能访问,尤其在顺序读写场景中优势显著,可充分释放 COS 高扩展性、低成本、强可靠性与高安全性的核心价值,为用户提供媲美本地文件系统的操作体验。COSFS2客户端工具本身不收取费用,但是用户使用 COSFS2挂载 COS Bucket 可能产生存储费用、读写请求费用等,详见 COS 计费文档
本产品深度兼容 POSIX 标准,提供完备的文件系统功能支持:
文件与目录全量操作:全面支持文件读写、多级目录管理、软链接创建与访问等基础功能。
数据传输双重保障:内置大文件分块传输优化策略与全链路数据校验机制,兼顾传输效率与数据完整性。
围绕 COS 服务端卓越的读写性能,COSFS2针对性实现关键能力突破:
大文件顺序读写优化:通过端到端读写链路的深度调优,大幅提升大文件顺序读、写的吞吐效率。
小文件并发处理增强:采用数据与元数据缓存分离的高效架构,显著强化海量小文件的并发处理能力。

功能特性

高性能顺序读写:基于内存和磁盘两级的缓存加速,高效的并发和免锁机制,以及高性能网络传输协议,最大化释放 COS 带宽潜力,为 AI 训练以及大数据等场景提供稳定高性能支撑。
智能缓存策略:采用元数据与数据分离式缓存架构:高频访问的小文件元数据常驻内存,实现毫秒级查询响应;大文件数据块采用按需预读与智能加载机制,精准匹配访问节奏,大幅降低远程存储访问延迟,兼顾缓存效率与内存占用平衡。
可观测性支持:支持完善的审计日志体系,同时支持对接 Prometheus,支持多个核心指标如 I/O 吞吐、请求延迟、缓存命中率等的统计和追踪 ,实现系统运行状态的实时监控、告警与追溯,大幅提升运维效率与问题定位能力。
精细化智能流控:内置多维度智能流控策略,支持按操作类型(OP 精度)的精细化流控管理,可灵活调控请求并发度与资源占用阈值,既能避免客户端 CPU / 内存过载,也能防止对云存储资源的过度占用,保障系统整体稳定性与资源利用率最优。
透明化数据访问:支持将 COS 存储桶直接挂载为本地目录(如 /mnt/localDir),用户无需学习专用 API,可通过常规文件路径(如 cp/mv/ 编辑等)直接操作云端数据,实现 “本地操作、云端存储” 的无缝体验,降低业务迁移与使用成本。

适用场景

AI 训练与推理的存储加速:将 COS 挂载为本地目录,结合高效的顺序读写优化技术,满足多卡集群并发读取需求,充分发挥 COS 优势,助力并保证 AI 训练、推理业务、checkpoint 的高效读取和写入,大幅减少模型保存延迟。
大数据处理与自动驾驶:此类新型计算密集型负载,主要涉及顺序和随机读取、顺序写入操作,无需依赖完整的 POSIX 语义。通过高效的写缓存、自适应智能预读算法能够极大提高吞吐量,降低延迟。
文件高性能读写:通过端到端的读写链路优化 I/O 流程,减少 CPU 等待时间,显著降低 CPU 等硬件资源占用。适用于大文件海量吞吐数据处理(如日志分析、视频流处理)场景,同时通过高效的元数据缓存等管理能力,适合科学计算、渲染等小文件 I/O 场景。
兼容部分 POSIX 标准的应用:虽然 COSFS2提供了标准的文件系统接口,但其实现与传统的 NFS 或 CIFS 有所区别,并非完全兼容所有 POSIX 标准。当前版本支持常见的文件操作命令(如 ls、cat、cp 等),能够无缝集成基于文件系统的现有工具链(包括 Python 脚本、Shell 命令等),并可良好支持各类机器学习与深度学习框架,从而有效提升团队的数据管理及使用效率。

运行环境

操作系统
系统版本
系统架构
内核版本
Tencent OS (推荐)
Tencent Server OS 2.4
X86_64、ARM64
>= 3.10
Tencent Server OS 3.X
X86_64、ARM64
>= 5.4
Tencent Server OS 4.X
X86_64、ARM64
>= 6.6
CentOS (推荐)
7.2或更高版本
X86_64、ARM64
>= 3.10
RHEL
7.9或更高版本
X86_64、ARM64
>= 3.10
Ubuntu
18.04或更高版本
X86_64、ARM64
>= 4.15

规格限制

权限要求:需确保 secret id、secret key 对目标 COS Bucket 或其前缀(prefix)等相关资源拥有全部权限,否则可能导致挂载失败或功能异常。您需要在 COS 控制台,先进行授权。
存储类型限制:不支持挂载低频存储、归档存储、深度归档存储类型的 COS Bucket。
文件名限制:文件名长度上限255字节(遵循 Linux 限制)。
路径名限制:路径最长支持849字节(COS key 长度限制)。
文件写入限制:新写入的文件会在应用主动 flush 或者文件关闭后才会在 COS 上可见,支持磁盘文件写入模式和内存流式写入模式(默认使用内存流式写入模式):
磁盘文件写入模式:需要使用客户提供的本地磁盘空间,将其作为写缓存目录。并发写入文件数越多,占用的空间越大,写缓存会在文件关闭后释放磁盘空间。
内存流式写入模式:在无法提供磁盘空间,或者磁盘性能受限的情况下,也支持内存流式写入的模式,此模式默认不支持随机写入。流式写入会使用内存来缓存文件内容,边写边上传至 COS,写缓存 buffer 数量和大小均可以灵活配置。
写入文件分块大小:默认是10485760字节(10MB),写入超过该值时采用分块上传到 COS 存储桶中,分块大小可根据业务进行灵活配置,默认最大支持10MB * 10000个分块 ≈ 97.65G 大小的文件。单个文件最大支持限制参见 规格与限制
文件读取限制:新写入的文件会在应用主动 flush 或者文件关闭后才会在 COS 上可见。如果读取一个正在采用流式写入 COS、尚未关闭的文件,可能导致报错。其它客户端挂载同样的目录,可能不能及时读取到该文件。
文件缓存限制:文件会在后台预读并下载到 cache-dir 配置项对应的目录中,umount 卸载或重启进程时,数据仍然存在于 cache-dir 配置项对应的目录中。新进程无法识别旧进程 cache-dir 配置项对应目录中的数据,需要在每次 umount 卸载或重启进程后主动清理这些数据。
重命名操作:由于 COS 对象存储限制,不支持原子 rename 操作,对于文件和目录,实际执行操作如下:
文件:会先拷贝后再执行远端文件的删除操作。
目录:首先创建目标目录,对源目录下所有子孙文件执行拷贝操作后,再批量执行子孙文件的删除操作,最后删除源目录。默认仅支持对无子孙文件的空目录进行重命名,可通过配置项 rename-dir-limit 调整目录重命名时的子孙文件数量限制,若数量超过该限制,则禁止对该目录进行重命名。
并发写入一致性:多客户端同时挂载同一 Bucket 并写入同一文件时,无法保证数据一致性。不建议多个客户端并发写入同一个文件。
POSIX API 兼容性:部分兼容,具体请参见 POSIX API 支持情况

POSIX API 支持情况

功能分类
操作/功能
COSFS2
文件基础操作
open
支持
flush
支持
close
支持
文件读写
read
支持
write
支持
truncate
临时文件写入模式:支持
流式写入模式:不支持
文件元操作
create
支持
unlink
支持
rename
支持
目录操作
mkdir
支持
readdir
支持
rmdir
支持
权限与属性
getattr
支持
chmod
不支持(操作不报错,但设置不生效)
chown
不支持(操作不报错,但设置不生效)
utimes
支持
扩展功能
xattr
不支持
symlink
支持
hardlink
不支持
lock
不支持