最近更新时间:2025-12-31 13:39:33
ks3fs工具能将金山云对象存储服务KS3挂载成本地文件系统,方便用户像操作本地文件一样管理KS3数据。对于原本使用本地文件系统存储数据的用户,如果希望把数据存储在KS3上但不改变数据的访问方式,可以使用ks3fs工具。
ks3fs工具适用于需要按照文件系统语义透明访问对象存储数据的场景,例如AI训练、推理和大规模数据处理等场景。
ks3fs是一个用户空间文件系统(userspace filesystem),支持以下功能:
允许在Linux系统上将KS3存储空间挂载为本地文件系统,通过本地文件系统管理KS3上的对象。
提供基础的POSIX兼容性,支持POSIX文件协议标准的大部分功能,例如上传、下载、拷贝、修改、重命名、删除、设置用户权限等。
挂载存储空间到本地后,在本地新增或覆盖等操作会自动同步到KS3上,在KS3上新增、覆盖等操作也会自动同步到本地。
支持元数据缓存,可以减少数据访问的延迟,提升系统性能。
ks3fs基于FUSE用户态文件系统开发,只能运行在支持FUSE的机器上。ks3fs提供Ubuntu、CentOS、OpenEuler系统的安装包。如果需要在其他环境下运行,可以通过源码方式构建目标程序。
最低 FUSE 版本 | 适用的Linux发行版 |
2.8.4 | 标准发行版即可,支持以下操作系统:
|
您可以在命令行执行fusermount -V命令确认fuse是否满足版本要求。当返回结果中fusermount version的值为2.8.4以上版本(例如fusermount version: 2.9.2)时,表示fuse满足版本要求。如不满足需升级fuse版本至2.8.4以上。
不适合高并发混合读写的场景。
1. 在ks3fs的实现中,对数据的随机读取和所有写入均需要落盘。在高并发读写混合场景下,磁盘性能对于读和写会形成瓶颈。
2. 因使用FUSE框架存在内核态与用户态切换,不适合高并发场景。
元数据操作(ls、stat等Linux命令)需要远程访问KS3服务器,会产生一定的网络交互开销,在操作响应效率上存在天然限制。
不支持文件硬链接。
编辑已上传文件会导致文件被重新上传。
重命名文件或文件夹存在操作失败的可能性。若操作异常中断,可能引发数据一致性问题。
请确保您的访问密钥AccessKey有对KS3资源的操作权限,需至少授予ks3:GetObject、ks3:ListBucket、ks3:DeleteObject、ks3:PutObject、ks3:AbortMultipartUpload和ks3:ListBucketMultipartUploads的权限,否则ks3fs挂载可能会失败或异常。
默认本地挂载目录必须为空,若不为空需指定-o nonempty挂载选项进行挂载。
多个客户端挂载同一个KS3存储空间,且同时写入同一个文件时,无法保证数据的一致性。
在使用ks3fs工具将KS3存储空间挂载到本地Linux系统之前,您需要执行以下步骤:
纯净模式
