用 RustFS 原生 CLI `rc` 管对象存储:从 alias 到 cp 的完整玩法

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

目录

  1. [问题背景:mc 能用,但 rc 更贴 RustFS](#问题背景:mc 能用,但 rc 更贴 RustFS)
  2. [rc 和 mc、aws-cli 的分工](#rc 和 mc、aws-cli 的分工)
  3. 安装与登记实例
  4. 建桶、上传、列出:一段完整链路
  5. 日常管理还能做什么
  6. 总结与下一步

1. 问题背景:mc 能用,但 rc 更贴 RustFS

RustFS 100% 兼容 S3,所以 MinIO 的 mc、AWS 的 aws s3、各种 SDK 都能直接连,这没问题。但 RustFS 自己也有一个原生 CLI,叫 rc------对标 mc,命令名字和用法高度一致,又针对 RustFS 的特性做了优化(比如多流上传、本地到远程目录同步更快)。

我自己的习惯是:日常桶管理、对象搬运、快速验证,用 rc;写业务代码走 SDK;一次性批量迁移用 rclone。三者不冲突,rc 胜在"为 RustFS 而生、和 mc 肌肉记忆无缝切换"。


2. rc 和 mc、aws-cli 的分工

先说清三者怎么选,免得重复造轮子:

  • rc / mc :交互式管理首选。alias 登记实例、mb 建桶、cp 传文件、ls 看内容、admin 看状态,敲起来比 aws s3 短。
  • aws-cli / SDK:写进代码、进 CI、做自动化,走标准 S3 语义,跨云通用。
  • rclone:跨存储同步、增量备份、定时任务,擅长"两地之间搬"。

rcmc 的命令几乎能逐字替换,原来 mc 的脚本把二进制名换掉就行。下面这张对照表是我常用的几个。


3. 安装与登记实例

rcrustfs/cli 仓库发布。以官方 RPM 教程使用的 v0.1.31 为例(拉取时请取 cli 仓库最新 release 版本号;beta.10 时期是 v0.1.27,已带多流上传与更快的目录同步):

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

登记一个 RustFS 实例(用法和 mc alias set 一致):

bash 复制代码
rc alias set local http://127.0.0.1:9000 <ACCESS_KEY> <SECRET_KEY>

local 是别名,后面所有命令都用它代替长长的 endpoint。有多个集群就登记多个 alias,比如 localprodedge


4. 建桶、上传、列出:一段完整链路

一个最常见的动作:建业务桶 → 传一份配置 → 列出来确认。全程用 rc

bash 复制代码
rc mb local/rc-demo

echo "Hello RustFS" > config.json
rc cp config.json local/rc-demo

rc ls local/rc-demo

这段链路和 mc 一字不差,运维老脚本基本不用改。差异在底层:rc 的多流上传在传大批小文件时更顺,目录同步也比 mc mirror 那种单流快一截------具体提速幅度看你的网络和对象分布,但"同样的命令、RustFS 上跑得更利索"是实打实的。


5. 日常管理还能做什么

除了上面那四个,rc 覆盖的还有不少日常动作:

  • 目录同步 :把本地目录整体推到桶里,对标 mc mirrorrc 在目录同步上做了提速。
  • 查服务状态 :实例健康、节点情况,用 rc 的管理类子命令直接看,不用每次都开浏览器控制台。
  • 跨实例搬运 :从一个 alias 拷到另一个 alias,等于内置的"存储间迁移",小批量腾挪比 rclone 更轻。

一点提醒:rc 的版本和 RustFS 服务端最好对齐节奏------服务端大版本升级后,顺手把 rc 也升到相近版本,避免管理命令用到新能力时客户端还不认。


6. 总结与下一步

rc 是 RustFS 自己的原生 CLI,命令和 mc 高度一致,老 MinIO 脚本几乎零成本切过来,又针对多流上传和目录同步做了提速。它和 aws-cli、SDK、rclone 各管一段:日常交互用 rc,写代码用 SDK,跨存储搬用 rclone

下一步可以直接做:

  1. 装好 rcrc alias set 登记你的实例;
  2. rc mb + rc cp 跑通一次上传,再用 rc ls 确认;
  3. 把原来 mc 的运维脚本里二进制名换成 rc,验证一遍;
  4. 大目录同步时对比一下 rcmc mirror 的耗时,记下你环境的实际差距。

以下是深入学习 RustFS 的推荐资源:RustFS

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

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

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

意见反馈:GitHub Issues

相关推荐
不悔哥2 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
家和802 天前
Carla仿真系列:4_在 Carla 的 Tesla 上装 4 路摄像头,并创建网格为环视拼接做准备
开源
分布式存储与RustFS2 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
感谢地心引力2 天前
我用 Doubao-Seed-2.1-pro 做了一个深度融入 AI 功能的本地知识库软件
ai·开源·seed·markdown·豆包
alsmile2 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
codeejun2 天前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
瑶山2 天前
开源编程Agent-OpenCode完整使用教程
开源·agent·ai编程·opencode
张洛闻Eren2 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
分布式存储与RustFS2 天前
对象存储正在吞掉数据湖:RustFS 1.0 GA 与 MinIO AIStor Tables 把 2026 风向说清楚
iceberg·数据湖·对象存储·minio·s3·rustfs·ai存储
m4Rk_2 天前
【论文阅读】Agent 记忆机制(77):TSM——让记忆回到事件真正发生的时间
论文阅读·人工智能·学习·开源·github