用 RPM/DEB 包在 Linux 上安装 RustFS:生产落地第一步

一句话定位:RustFS 是面向 AI 时代、从零原生打造的高性能分布式对象存储,100% 兼容 S3 API,Apache 2.0 协议,底层用 Rust 构建,可作为 MinIO 的 drop-in 替代方案。

目录

  1. 问题背景:容器不是唯一选择
  2. [为什么用系统包而不是 docker](#为什么用系统包而不是 docker)
  3. 安装前:磁盘与文件系统
  4. [安装与配置 RustFS](#安装与配置 RustFS)
  5. [用 rc 验证实例](#用 rc 验证实例)
  6. 总结与下一步

1. 问题背景:容器不是唯一选择

很多团队第一次跑 RustFS 是 docker run rustfs/rustfs,图快。可一旦要上生产,容器编排、数据卷生命周期、systemd 管控、和现有运维体系(监控、补丁、开机自启)对齐,反而是个额外负担。我更倾向在裸金属或虚拟机上用系统包直接装------和装 nginx、postgresql 一个套路,出事了好排查。

RustFS 从 1.0.0-rc.1 起正式提供 rpm / deb 安装包,这意味着不再需要先下二进制、手写 systemd unit。本文以 Ubuntu 24.04 为例,走通一台单机多盘实例的完整安装。


2. 为什么用系统包而不是 docker

先说清适用边界:docker 适合本地快速试、CI 里临时起一个;长期当存储底座,系统包更稳------它天然接入系统的 systemd、日志(journald / 你指定的日志目录)、包管理器升级链路。RustFS 官方也把 rpm/deb 作为生产推荐路径之一。

另一个现实好处:RustFS 本身是单二进制、依赖极少。据社区 12TB 迁移实测,它的二进制约 93MB,对照方案约 320MB,空闲内存稳定在 100MB 量级。装成系统服务后,额外开销几乎可以忽略。

3. 安装前:磁盘与文件系统

RustFS 推荐使用 XFS 作为数据盘文件系统。先准备磁盘,以 /dev/sda 为例:

bash 复制代码
sudo mkfs.xfs /dev/sda

sudo mkdir -p /data/rustfs/user1

sudo mount /dev/sda /data/rustfs/user1

blkid /dev/sda

每块数据盘都按这个流程走一遍。单机多盘时,RustFS 用省略号语法把多块盘收进同一个 RUSTFS_VOLUMES,不需要为每块盘单独起进程。


4. 安装与配置 RustFS

当前 RustFS 的 rpm/deb 安装包提供 x86 和 arm 两种架构。Ubuntu 24.04 下载 deb 包(本文以官方 RPM 教程使用的 1.0.0-rc.2 为例,实际请取 releases 页最新版本号):

bash 复制代码
curl -L -o rustfs.deb \
  https://github.com/rustfs/rustfs/releases/download/1.0.0-rc.2/rustfs_1.0.0.rc.2_amd64.deb

dpkg -i rustfs.deb

装好后配置文件在 /etc/default/rustfs。把下面内容写进去(单机四盘示例):

bash 复制代码
RUSTFS_ACCESS_KEY=rustfs@test
RUSTFS_SECRET_KEY=rustfs@test
RUSTFS_VOLUMES="/data/rustfs{1...4}/mnmd"
RUSTFS_ADDRESS=":9000"
RUSTFS_CONSOLE_ADDRESS=":9001"
RUSTFS_CONSOLE_ENABLE=true
RUSTFS_OBS_LOGGER_LEVEL=error
RUSTFS_OBS_LOG_DIRECTORY="/var/log/rustfs/"

几点要提醒:

  • 密钥别用示例值 :上面的 rustfs@test 只是官方教程占位。生产请用 openssl rand -base64 24 生成强密钥,beta.10 之后 RustFS 已弃用硬编码默认凭证,启动时会要求显式设置 RUSTFS_ACCESS_KEY / RUSTFS_SECRET_KEY
  • 固定版本号 :下载链接里把 1.0.0-rc.2 换成你验证过的版本,不要用 latest,避免某次升级悄悄改变行为。
  • /data/rustfs{1...4} :花括号省略号会按数值展开成 1、2、3、4 四块盘,挂载点要和对齐;mnmd 是单机多盘的目录后缀约定。

启动服务:

bash 复制代码
systemctl start rustfs
systemctl status rustfs

正常会看到 Active: active (running),主进程 /usr/bin/rustfs server,内存占用一百多 MB。浏览器打开 http://<ip>:9001 用上面那对密钥登录控制台,能看到集群状态就说明起来了。


5. 用 rc 验证实例

rc 是 RustFS 对标 MinIO mc 的原生 CLI(官方 RPM 教程使用 v0.1.31,拉取时请取 cli 仓库最新 release 版本号)。装好它,做一次"建桶---上传---列出"的最小验证:

bash 复制代码
wget https://github.com/rustfs/cli/releases/download/v0.1.31/rustfs-cli-linux-amd64-gnu-v0.1.31.tar.gz
tar -zxvf rustfs-cli-linux-amd64-gnu-v0.1.31.tar.gz
chmod +x rc && cp rc /usr/local/bin

rc --version

rc alias set local http://127.0.0.1:9000 <ACCESS_KEY> <SECRET_KEY>

rc mb local/deb-demo

echo "Hello RustFS" > 1.txt
rc cp 1.txt local/deb-demo

rc ls local/deb-demo

rcalias / mb / ls / cpmc 几乎一一对应,原来用 mc 的脚本把二进制名换掉、endpoint 指向 RustFS 即可复用。日常桶管理、对象搬运、集群状态查看都靠它,比直接调 S3 SDK 顺手。


6. 总结与下一步

rpm/deb 安装把 RustFS 落进系统服务管理体系,适合长期当存储底座。整套动作不复杂:XFS 格式化 → dpkg -i → 写 /etc/default/rustfssystemctl startrc 验证。关键在两点------密钥要强、版本要固定

下一步建议:

  1. RUSTFS_ACCESS_KEY / RUSTFS_SECRET_KEY 换成 openssl rand -base64 24 生成的强值;
  2. systemctl enable rustfs 设开机自启;
  3. rc mb 建业务桶,配 Nginx 反代收敛 9000/9001 端口;
  4. 需要多节点时,把所有节点端点写进同一个 RUSTFS_VOLUMES(如 http://node{1...4}:9000/data)即触发分布式,无需另开"集群开关"。

深入学习RustFS

技术文档: RustFS 技术文档- 提供架构、安装指南和 API 参考。

GitHub 仓库: GitHub 仓库 - 获取源代码、提交问题或贡献代码。

社区支持: GitHub Discussions- 与开发者交流经验和解决方案。

相关推荐
是Yu欸1 小时前
实测openPangu-2.0-Pro:昇腾原生, 505B大模型的开源答卷
人工智能·开源·大模型·昇腾·pangu
UseLessQQ2 小时前
云原生 kubernetes 中的service
云原生·容器·kubernetes
大大大大晴天️2 小时前
把湖仓一体放进 K8s:Iceberg、Hudi、Paimon 如何重塑云原生大数据架构
大数据·云原生·kubernetes
智购科技无人售货机工厂2 小时前
2026自动售货机云端API设计规范:从RESTful到GraphQL的接口演进~YH
android·人工智能·驱动开发·单片机·云原生·pandas·设计规范
龙亘川3 小时前
免费开源丨统一决策分析系统 综合态势功能的实现机理与技术难度
人工智能·信息可视化·开源·智慧城市·#后台开发
先跑起来再说13 小时前
Qavor:一个能跑、能观测、能扩展的开源 AI Agent 工作台
人工智能·开源
敢敢是只喵i13 小时前
给现有业务系统接 AI 助手,入口怎么选?网页聊天、自动化任务与本地 Agent 对比
运维·人工智能·ai·开源·自动化·安全架构
冬奇Lab14 小时前
一天一个开源项目(第206篇):T3 Code - AI 编程 Agent 的统一控制台
人工智能·开源·资讯
IT古董14 小时前
AI 资讯日报 | 2026年9月1日 :混元 Hy4 开源、DeepSeek 多模态登顶、可灵获国家队 14 亿注资
人工智能·开源