用 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:跨存储同步、增量备份、定时任务,擅长"两地之间搬"。

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


3. 安装与登记实例

rc 在 rustfs/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,比如 local、prod、edge。


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 mirror,rc 在目录同步上做了提速。
  • 查服务状态 :实例健康、节点情况,用 rc 的管理类子命令直接看,不用每次都开浏览器控制台。
  • 跨实例搬运 :从一个 alias 拷到另一个 alias,等于内置的"存储间迁移",小批量腾挪比 rclone 更轻。

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


6. 总结与下一步

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

下一步可以直接做:

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

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

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

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

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

意见反馈:GitHub Issues

相关推荐
1024奇点7 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
螺蛳粉 螺蛳粉9 小时前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver
冬奇Lab9 小时前
一天一个开源项目(第252篇):Lightpanda —— 用 Zig 从零写的 AI 专用无头浏览器,内存省 16 倍、速度快 9 倍
人工智能·开源·资讯
IT召唤狮10 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
知已难寻10 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
wflynn11 小时前
GitHub 日榜趋势速报 | 2026-11-02
开源·github
时早玖沐12 小时前
放弃 QQ 官方机器人:用 SnowLuma + AstrBot 自建 QQ 机器人
docker·开源·agent
GPUStack12 小时前
官方说不支持?但我还是用 GPUStack 在 DGX Spark 上跑通了 Qwen-Image-2.1
开源·gpu
n1121212 小时前
Ollama 接 Open WebUI 中文界面:我踩的 4 个坑
云原生·eureka·ollama·本地大模型·open webui·私有部署·中文界面
阿里云云原生13 小时前
用户说 App“下不了单”:用 Session Replay 看清流程卡在哪一步
云原生