一个分布式 POSIX 文件系统,数据存于 S3 等对象存储,元数据存于 Redis、MySQL 等数据库。
- Star
- 3,065
- Fork
- 327
- 未关闭 Issue
- 125
- 最近提交
- 昨天
这是什么?
Versity S3 Gateway 是一个用 Go 编写的服务器,接收标准 S3 API 请求,并将其转换为后端存储系统的操作。它支持 POSIX 文件系统、Versity 的 ScoutFS、Azure Blob Storage 以及其他 S3 服务作为后端,基于 S3 的应用无需迁移数据即可访问已有存储。
只需一条命令,就能把本地目录变成 S3 端点,并可通过参数配置账户文件、对象版本目录和端口。网关本身无状态,可部署多个实例并放在负载均衡器之后以提升吞吐。项目基于 Fiber 框架构建,并使用 aws-sdk-go-v2 保证与 AWS S3 的兼容性。
项目还提供可选的 Web 管理界面、基于存储桶的静态网站托管,以及用于 Docker 和 Kubernetes(Helm Chart)的部署方式。
核心功能
- 01将 S3 API 请求转换为 POSIX、ScoutFS、Azure Blob 或 S3 后端的操作。
- 02一条命令即可把本地目录暴露为 S3 服务。
- 03无状态设计,可通过负载均衡部署多个实例横向扩展。
- 04支持通过版本目录保存对象的历史版本。
- 05提供可选的 Web 管理与浏览界面。
- 06支持基于虚拟主机路由的静态网站托管。
适用场景
- 让 S3 应用直接访问已有文件系统,无需复制数据。
- 在本地用轻量的 S3 端点测试 S3 集成。
- 为 Azure Blob Storage 或其他 S3 服务提供统一的 S3 接入层。
- 在 Kubernetes 上部署多节点 S3 网关,用于归档或高性能计算场景。
快速上手
- 1
创建测试目录
mkdir /tmp/vgw /tmp/vers - 2
使用 posix 后端运行网关
ROOT_ACCESS_KEY="testuser" ROOT_SECRET_KEY="secret" ./versitygw --port :10000 --iam-dir /tmp/vgw posix --versioning-dir /tmp/vers /tmp/vgw - 3
从发布页面下载二进制文件或运行 Docker 镜像
使用前须知
- 安装细节主要依赖 wiki 文档,README 未提供包管理器安装方式。
- 用于生产环境需要自行部署和配置。
标签
常见问题
- versitygw 是什么?
- 一个兼容 S3 API 的对象存储服务器,可将本地文件系统或其他存储后端以 S3 接口对外提供。 Versity S3 Gateway 是一个用 Go 编写的服务器,接收标准 S3 API 请求,并将其转换为后端存储系统的操作。它支持 POSIX 文件系统、Versity 的 ScoutFS、Azure Blob Storage 以及其他 S3 服务作为后端,基于 S3 的应用无需迁移数据即可访问已有存储。
- versitygw 可以免费使用吗?用的什么许可证?
- versitygw 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- versitygw 还在维护吗?
- 活跃维护中。versitygw 最近一次提交是在 2026年10月23日。
- versitygw 适合用来做什么?
- 让 S3 应用直接访问已有文件系统,无需复制数据。 在本地用轻量的 S3 端点测试 S3 集成。 为 Azure Blob Storage 或其他 S3 服务提供统一的 S3 接入层。 在 Kubernetes 上部署多节点 S3 网关,用于归档或高性能计算场景。
- versitygw 怎么安装和运行?
- 创建测试目录: mkdir /tmp/vgw /tmp/vers 使用 posix 后端运行网关: ROOT_ACCESS_KEY="testuser" ROOT_SECRET_KEY="secret" ./versitygw --port :10000 --iam-dir /tmp/vgw posix --versioning-dir /tmp/vers /tmp/vgw 从发布页面下载二进制文件或运行 Docker 镜像
- 在哪里获取 versitygw?
- 源代码和安装说明在 GitHub 上:https://github.com/versity/versitygw
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.5万1328GoApache-2.0更新于 前天
用 Swift 编写的高性能 S3 兼容对象存储系统,定位为 MinIO 和 RustFS 的开源替代方案。
5698SwiftApache-2.0更新于 上个月
一个分布式存储系统,用同一个 weed 程序提供 S3 对象存储、文件系统和 Iceberg 表服务,适合存放海量小文件。
3.6万+29 本周3091GoApache-2.0更新于 11小时前
用 Rust 编写的分布式对象存储系统,兼容 S3 API,采用 Apache 2.0 许可证。
3.5万+77 本周1615RustApache-2.0更新于 11小时前
tus 协议的 Go 参考服务端,支持可断点续传的 HTTP 文件上传,可存储到本地磁盘、Google Cloud Storage 或 S3。
3907556GoMIT更新于 18小时前
一款 Go 工具,可将多个网盘及 S3、WebDAV 等存储挂载为本地文件夹,并提供与 rclone 兼容的端到端加密。
159+5 本周8GoMIT更新于 12小时前