Files
rustfs/README_ZH.md
2026-01-10 16:12:40 +08:00

11 KiB
Raw Permalink Blame History

RustFS

RustFS 是一个基于 Rust 构建的高性能分布式对象存储系统。

CI 构建并推送 Docker 镜像 GitHub 提交活跃度 Github 最新提交 Featured|HelloGitHub

rustfs%2Frustfs | Trendshift

快速开始 · 文档 · 报告 Bug · 社区讨论

English | 简体中文 | Deutsch | Español | français | 日本語 | 한국어 | Portuguese | Русский

RustFS 是一个基于 Rust 构建的高性能分布式对象存储系统。Rust 是全球最受开发者喜爱的编程语言之一RustFS 完美结合了 MinIO 的简洁性与 Rust 的内存安全及高性能优势。它提供完整的 S3 兼容性完全开源并专为数据湖、人工智能AI和大数据负载进行了优化。

与其他存储系统不同RustFS 采用更宽松、商业友好的 Apache 2.0 许可证,避免了 AGPL 协议的限制。以 Rust 为基石RustFS 为下一代对象存储提供了更快的速度和更安全的分布式特性。

特征和功能状态

  • 高性能:基于 Rust 构建,确保极致的速度和资源效率。
  • 分布式架构:可扩展且容错的设计,适用于大规模部署。
  • S3 兼容性:与现有的 S3 兼容应用和工具无缝集成。
  • 数据湖支持:专为高吞吐量的大数据和 AI 工作负载优化。
  • 完全开源:采用 Apache 2.0 许可证,鼓励社区贡献和商业使用。
  • 简单易用:设计简洁,易于部署和管理。
功能 状态 功能 状态
S3 核心功能 可用 Bitrot (防数据腐烂) 可用
上传 / 下载 可用 单机模式 可用
版本控制 可用 存储桶复制 可用
日志功能 可用 生命周期管理 🚧 测试中
事件通知 可用 分布式模式 🚧 测试中
K8s Helm Chart 可用 OPA (策略引擎) 🚧 测试中

RustFS vs MinIO 性能对比

压力测试环境参数:

类型 参数 备注
CPU 2 核 Intel Xeon (Sapphire Rapids) Platinum 8475B , 2.7/3.2 GHz
内存 4GB  
网络 15Gbps  
硬盘 40GB x 4 IOPS 3800 / Drive

https://github.com/user-attachments/assets/2e4979b5-260c-4f2c-ac12-c87fd558072a

RustFS vs 其他对象存储

特性 RustFS 其他对象存储
控制台体验 功能强大的控制台
提供全面的管理界面。
基础/简陋的控制台
通常功能过于简单或缺失关键特性。
语言与安全 基于 Rust 开发
天生的内存安全。
基于 Go 或 C 开发
存在内存 GC 停顿或内存泄漏的潜在风险。
数据主权 无遥测 / 完全合规
防止未经授权的数据跨境传输。完全符合 GDPR (欧盟/英国)、CCPA (美国) 和 APPI (日本) 等法规。
潜在风险
可能存在法律风险和隐蔽的数据遥测Telemetry
开源协议 宽松的 Apache 2.0
商业友好,无“毒丸”条款。
受限的 AGPL v3
存在许可证陷阱和知识产权污染的风险。
兼容性 100% S3 兼容
适用于任何云提供商和客户端,随处运行。
兼容性不一
虽然支持 S3但可能缺乏对本地云厂商或特定 API 的支持。
边缘与 IoT 强大的边缘支持
非常适合安全、创新的边缘设备。
边缘支持较弱
对于边缘网关来说通常过于沉重。
成本 稳定且免费
免费社区支持,稳定的商业定价。
高昂成本
1PiB 的成本可能高达 250,000 美元。
风险控制 企业级风险规避
清晰的知识产权,商业使用安全无忧。
法律风险
知识产权归属模糊及使用限制风险。

保持领先

在 GitHub 上为 RustFS 点赞,即可第一时间收到新版本发布通知。

快速开始

请按照以下步骤快速上手 RustFS

1. 一键安装脚本 (选项 1)

curl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh

2. Docker 快速启动 (选项 2)

RustFS 容器以非 root 用户 rustfs (UID 10001) 运行。如果您使用 Docker 的 -v 参数挂载宿主机目录,请务必确保宿主机目录的所有者已更改为 1000,否则会遇到权限拒绝错误。

 # 创建数据和日志目录
 mkdir -p data logs

 # 更改这两个目录的所有者
 chown -R 10001:10001 data logs

 # 使用最新版本运行
 docker run -d -p 9000:9000 -p 9001:9001 -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:latest

 # 使用指定版本运行
 docker run -d -p 9000:9000 -p 9001:9001 -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:1.0.0.alpha.68

您也可以使用 Docker Compose。使用根目录下的 docker-compose.yml 文件:

docker compose --profile observability up -d

注意: 我们建议您在运行前查看 docker-compose.yaml 文件。该文件定义了包括 Grafana、Prometheus 和 Jaeger 在内的多个服务,有助于 RustFS 的可观测性监控。如果您还想启动 Redis 或 Nginx 容器,可以指定相应的 profile。

3. 源码编译 (选项 3) - 进阶用户

适用于希望从源码构建支持多架构 RustFS Docker 镜像的开发者:

# 在本地构建多架构镜像
./docker-buildx.sh --build-arg RELEASE=latest

# 构建并推送到仓库
./docker-buildx.sh --push

# 构建指定版本
./docker-buildx.sh --release v1.0.0 --push

# 构建并推送到自定义仓库
./docker-buildx.sh --registry your-registry.com --namespace yourname --push

docker-buildx.sh 脚本支持: - 多架构构建: linux/amd64, linux/arm64 - 自动版本检测: 使用 git tags 或 commit hash - 灵活的仓库支持: 支持 Docker Hub, GitHub Container Registry 等 - 构建优化: 包含缓存和并行构建

为了方便起见,您也可以使用 Make 命令:

make docker-buildx                    # 本地构建
make docker-buildx-push               # 构建并推送
make docker-buildx-version VERSION=v1.0.0  # 构建指定版本
make help-docker                      # 显示所有 Docker 相关命令

注意 (macOS 交叉编译): macOS 默认的 ulimit -n 限制为 256因此在使用 cargo zigbuild./build-rustfs.sh --platform ... 交叉编译 Linux 版本时,可能会因 ProcessFdQuotaExceeded 失败。构建脚本会尝试自动提高限制,但如果您仍然看到警告,请在构建前在终端运行 ulimit -n 4096 (或更高)。

4. 使用 Helm Chart 安装 (选项 4) - 云原生环境

请按照 Helm Chart README 上的说明在 Kubernetes 集群上安装 RustFS。


访问 RustFS

  1. 访问控制台: 打开浏览器并访问 http://localhost:9000 进入 RustFS 控制台。
    • 默认账号/密码: rustfsadmin / rustfsadmin
  2. 创建存储桶: 使用控制台为您​​的对象创建一个新的存储桶 (Bucket)。
  3. 上传对象: 您可以直接通过控制台上传文件,或使用 S3 兼容的 API/客户端与您的 RustFS 实例进行交互。

注意: 如果您希望通过 https 访问 RustFS 实例,请参考 TLS 配置文档

文档

有关详细文档包括配置选项、API 参考和高级用法,请访问我们的 官方文档

获取帮助

如果您有任何问题或需要帮助:

  • 查看 FAQ 寻找常见问题和解决方案。
  • 加入我们的 GitHub Discussions 提问并分享您的经验。
  • 在我们的 GitHub Issues 页面提交 Bug 报告或功能请求。

链接

联系方式

贡献者

RustFS 是一个社区驱动的项目,我们感谢所有的贡献。请查看 贡献者 页面,看看那些让 RustFS 变得更好的了不起的人们。

Contributors

Star 历史

Star History Chart

许可证

Apache 2.0

RustFS 是 RustFS, Inc. 的商标。所有其他商标均为其各自所有者的财产。