RustFS:S3 协议分布式存储方案软件LinuxServer其它

savh 137

简介

RustFS 用热门安全的 Rust 语言开发,兼容 S3 协议。适用于 AI/ML 及海量数据存储、大数据、互联网、工业和保密存储等全部场景。近乎免费使用。遵循 Apache 2 协议,支持国产保密设备和系统。

关于存储方案

过去十年,对象存储领域似乎“尘埃落定”:

    Ceph RADOS 一统私有云,但运维复杂度劝退中小企业;

    MinIO 以 Go 单二进制横扫轻量市场,然而 AGPL 协议、GC 延迟、ARM 性能仍被诟病;

    公有云 S3 生态封闭、出网费惊人,政企/信创场景不可控。

2023 年 11 月,GitHub 悄然出现 rustfs/rustfs,短短 8 个月 Star 破 3 k,单 Release 下载量 10 w+,成为国内外技术媒体争相报道的“现象级”项目。它用 Rust 语言重写对象存储核心,主打 Apache 2.0 许可证 + 100 % S3 兼容 + 10 ms 级 P99 延迟 + 单文件 100 MB 部署 。

概览
语言 & 许可证    Rust 1.79 + Apache-2.0(商用零污染)
单二进制体积    93 MB(x86_64-unknown-linux-musl 静态链接)
最小配置    1 vCPU / 512 MB RAM / 1 GB 磁盘即可跑单节点 Demo
最大规模    公开测试 1000+ 节点、EB 级容量,元数据 100 亿对象
网络协议    S3 API + Admin REST + Prometheus metrics + OTLP traces
存储引擎    自研 RStore,支持追加写、EC、BitRot 校验、WORM
元数据引擎    Raft Group(hashicorp/raft-rs),支持分层选举
特色功能    S3 Object Lambda、多租户 IAM、冷热分层、跨桶复制、TLS 1.3 强制
拓扑
┌─────────────┐        ┌──────────────┐
│ S3 Client   │◄──────►│  RustFS GW   │◄── Stateless
└─────────────┘        └──────┬───────┘
                              │
           ┌──────────────────┼──────────────────┐
           │                  │                  │
 ┌─────────▼────────┐  ┌──────┴──────┐  ┌────────▼────────┐
 │  Meta Raft Group │  │  EC / Copy  │  │  Mem+Disk Cache │
 │  (3,5,7 node)    │  │ (8+3,10+4)  │  │  LRU+LFU        │
 └──────────────────┘  └─────────────┘  └─────────────────┘
常见问题 FAQ
    Q:RustFS 和 MinIO 最大区别?
    A:语言(Rust vs Go)+ License(Apache-2.0 vs AGPL-3.0)+ 性能(零 GC)。
    Q:支持 Windows 吗?
    A:支持,CI 已跑通 windows-2022 Github Runner。
    Q:如何平滑从 MinIO 迁移?
    A:使用 mc mirror 或 rclone sync,S3 协议零改造。
    Q:有图形界面吗?
    A:内置 Web Console(React + Antd),支持 Bucket Policy 可视化编辑。
    Q:Raft 会不会成为瓶颈?
    A:Meta 支持 水平分片,单 Raft Group 20 亿对象,已压测。
    Q:RustFS 加密方案?
    A:SSE-S3、SSE-C、SSE-KMS 均已实现,国密 SM4 2025 Q1 合入。
    Q:如何二次开发?
    A:所有 crate 发布到 crates.io,gateway 支持 WASM 插件。
    Q:是否有商业支持?
    A:官方公司 RustFS Inc. 提供 SLA 7×24,支持国产信创。
    Q:边缘场景最低配置?
    A:树莓派 CM4 + USB3.0 硬盘,实测 250 MB/s。
    Q:性能调优工具?
    A:内置 rustfs-top,类 htop,实时展示 IO / Raft / GC。
示例:本地接入

想把 RustFS 当“本地硬盘”——FUSE 挂载模式

准备环境(Linux/macOS)

# Ubuntu/Debian
sudo apt install fuse libfuse-dev
# macOS
brew install macfuse

源码编译(单二进制,<100 MB)

git clone https://github.com/rustfs/rustfs.git
cd rustfs
cargo build --release

启动服务端

mkdir -p /data/store      # 数据落盘目录
./target/release/rustfs_server --data-dir /data/store

挂载到本地目录

mkdir -p ~/rustfs
./target/release/rustfs_client --mount-point ~/rustfs

当本地磁盘用

    cp movie.mkv ~/rustfs/
    ls ~/rustfs/

卸载:

fusermount -u ~/rustfs(Linux)或 umount ~/rustfs(macOS)

常见下一步
    修改默认密码:首次登录控制台后立刻改,或在启动参数里直接指定 RUSTFS_SECRET_KEY。
    数据持久化:Docker 模式一定把 /data 挂到宿主机;生产环境再加 -v /var/log/rustfs:/var/log/rustfs 收集日志。
    集群/多节点:官方文档里有“分布式快速起步”章节,原理与 MinIO 类似,先启动一组 server 节点,再用 mc admin 把磁盘池化。
    应用接入:SpringBoot、Python、Vue 分片上传等完整示例可参考 。
“把 RustFS 想成 Rust 写的 MinIO:Docker 一条命令就能 S3 协议读写;再编译个客户端就能 FUSE 挂载当本地磁盘用。” 先按场景选 1 或 2 跑通,再按需看官方文档扩集群、做备份、接 SDK 即可。

官网&下载

官网:https://rustfs.com/zh/

下载:https://rustfs.com/zh/download/

其它

RustFS:S3 协议分布式存储方案

MinIO:分布式存储方案

Ceph/PVE:分布式存储方案


http://www.savh.cn/thread-1681.htm
转载请注明:Savh.Cn 发表

推荐阅读
最新动态 (0)

    ( 登录 ) 后,可以发表评论!

    返回