私有对象存储用得比较多的大概是MinIO了,但最近xiaoz在网上看到MinIO新版本删减了WEB控制台功能,且修改了License,最新版本的MinIO商业使用可能存在风险,这时候一般有两种选择:
- 继续使用旧版本MinIO:
minio/minio:RELEASE.2022-05-26T05-48-41Z
- 寻找其它替代软件,比如:RustFS
这篇文章将要介绍的是使用Docker部署RustFS对象存储服务从而替代MinIO,有需要的开发人员、运维人员或企业可以参考。
关于RustFS
RustFS 是一个使用 Rust 构建的高性能分布式对象存储软件。与 MinIO 一样,它具有简单性、S3 兼容性、开源特性以及对数据湖、AI 和大数据的支持等一系列优势。此外,与其他存储系统相比,它采用 Apache 许可证构建,拥有更好、更用户友好的开源许可证。由于以 Rust 为基础,RustFS 为高性能对象存储提供了更快的速度和更安全的分布式功能。 —— 引用自官方介绍
RustFS开源地址:https://github.com/rustfs/rustfs
RustFS特性
- 高性能:使用 Rust 构建,确保速度和效率。
- 分布式架构:可扩展且容错的设计,适用于大规模部署。
- S3 兼容性:与现有 S3 兼容应用程序无缝集成。
- 数据湖支持:针对大数据和 AI 工作负载进行了优化。
- 开源:采用 Apache 2.0 许可证,鼓励社区贡献和透明度。
- 用户友好:设计简单,易于部署和管理。
Docker部署RustFS
接下来演示如何使用Docker Compose单机部署RustFS(注意:如果是比较重要的生产环境建议集群部署),新建一个docker-compose.yaml
文件,内容如下:
version: '3'
services:
rustfs:
container_name: rustfs
image: rustfs/rustfs:latest
ports:
- "9000:9000"
volumes:
- ./data:/data
environment:
- RUSTFS_ACCESS_KEY=rustfsadmin
- RUSTFS_SECRET_KEY=rustfsadmin
- RUSTFS_CONSOLE_ENABLE=true
- RUSTFS_SERVER_DOMAINS=example.com
restart: unless-stopped
关键参数含义如下:
RUSTFS_ACCESS_KEY
:可以简单理解为管理员用户名,务必自行修改RUSTFS_SECRET_KEY
:可以简单理解为管理员密码,务必自行修改RUSTFS_CONSOLE_ENABLE
:启用WEB控制台RUSTFS_SERVER_DOMAINS
:RustFS服务端域名
最后输入docker-compose up -d
启动,然后访问http://IP:9000
端口访问RustFS WEB服务端,选择密钥登录,并输入您设置的账号、密码完成登录。
基本使用
后台界面
RustFS提供的WEB界面简单易用,并且默认支持中文和英语两种语言。
创建存储桶
在【存储桶界面右上方 - 创建存储桶 - 输入存储桶名称】,根据自身需要选择是否开启版本控制和对象锁即可。
对象管理
在文件浏览器中可以对文件对象进行基本管理操作(预览和删除),也可以新建新建目录和上传文件。
进阶使用
其他高级功能大家可以自行摸索,xiaoz个人觉得RustFS提供的WEB界面比MinIO的WEB界面更加易用。
Tips:RustFS完全兼容S3协议,因此您可以使用任意S3客户端来操作和管理RustFS
结语
MinIO新版License变更后,RustFS成为理想替代方案——基于Rust高性能开发、兼容S3协议、采用友好的Apache开源协议,为私有存储提供了更优选择。
RustFS官网:https://rustfs.com/