当前位置: 首页 > news >正文

在 Azure Linux 上安装 RustFS

本文分享在 Azure Linux 上安装并使用对象存储 RustFS 的过程。

关于 RustFS

RustFS 是一款用 Rust 语言编写的分布式存储系统,兼容 S3 协议,是 MinIO 的国产化平替。详情可以前往 RustFS 官网。目前,RustFS 支持二进制、Docker 安装方式,可以在 Linux、MacOS、Windows 上进行安装。下面分享在 Linux 上 安装并使用 RustFS 的过程。

环境准备

  • 一台 Linux 服务器

本文使用的服务器是从 azure 上创建的,操作系统为 Ubuntu 22.04。

开始安装

使用 root 用户,在服务器上执行如下命令:

curl -O  https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh

会看到如下结果

curl -O  https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100  6050  100  6050    0     0  26295      0 --:--:-- --:--:-- --:--:-- 26419
[INFO] All required commands are present.
[INFO] OS and architecture check passed: x86_64.
Please enter RustFS service port (default: 9000):
[INFO] Port 9000 is available.
Tip: You can use TAB for path completion.
Please enter data storage directory (default: /data/rustfs0):
[INFO] Data directory ready: /data/rustfs0.
[INFO] Log directory ready: /var/logs/rustfs.
[INFO] Downloading RustFS package...
--2025-07-13 01:15:57--  https://dl.rustfs.com/artifacts/rustfs/rustfs-x86_64-unknown-linux-musl.zip
Resolving dl.rustfs.com (dl.rustfs.com)... 220.181.167.213, 240e:904:800:2802:3::3fb
Connecting to dl.rustfs.com (dl.rustfs.com)|220.181.167.213|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 51166107 (49M) [application/zip]
Saving to: ‘rustfs.zip’rustfs.zip                      100%[====================================================>]  48.79M  37.8MB/s    in 1.3s2025-07-13 01:15:59 (37.8 MB/s) - ‘rustfs.zip’ saved [51166107/51166107]Archive:  rustfs.zipinflating: rustfs
[INFO] RustFS binary installed.
[INFO] systemd service file created.
[INFO] RustFS config file created.
Created symlink /etc/systemd/system/multi-user.target.wants/rustfs.service → /lib/systemd/system/rustfs.service.
[INFO] RustFS service enabled and started.
RustFS has been installed and started successfully!
Service port: 9000, Data directory: /data/rustfs0

最后会提示安装成功,并且服务端口为 9000。可以通过查看 rustfs 进程或者版本的方法来确认是否安装成功。

  • 进程查看
systemctl status rustfs
● rustfs.service - RustFS Object Storage ServerLoaded: loaded (/lib/systemd/system/rustfs.service; enabled; vendor preset: enabled)Active: active (running) since Sun 2025-07-13 01:16:01 UTC; 1h 30min agoDocs: https://rustfs.com/docs/Main PID: 12788 (rustfs)Status: "Starting..."Tasks: 7Memory: 74.8MCPU: 2.767sCGroup: /system.slice/rustfs.service└─12788 /usr/local/bin/rustfs /data/rustfs0Jul 13 01:16:01 xiaomage systemd[1]: Starting RustFS Object Storage Server...
Jul 13 01:16:01 xiaomage systemd[1]: Started RustFS Object Storage Server.
  • 版本查看
rustfs -V
rustfs 1.0.0-alpha.17

接着可以在服务器上使用 ip:9000 来访问 RustFS 服务:

使用默认的用户名 `rustfsadmin` 和密码 `rustfsadmin` 来登录控制台:

接下来分享使用方法。

开始使用 RustFS

创建存储桶(Bucket)

点击右上角的 Create Bucket 选项,输入 Bucket 名称。

点击创建即可创建成功:

上传文件

点击上述创建的 rustfs bucket,会看到如下界面:

选择上传文件/目录选项,选择要上传的文件即可。

可以看到上传进度:

上传成功后可以看到:

点击可以查看该文件的详情,比如在 RustFS Bucket 中的 URL

http://your-ip:9000/rustfs-ob/attention-is-all-your-need.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=1C9PJY049C7S3KX33153%2F20250713%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250713T022534Z&X-Amz-Expires=3600&X-Amz-Security-Token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJwYXJlbnQiOiJydXN0ZnNhZG1pbiIsImV4cCI6MTc1MjQxNjEzOH0.w45TPfjGopkZ1oWqnfJU1vSnlwzyUtLvkTApBtJ9ZlSPLW6_QkT7nii7BSNFmLUPIfaiB-HJicLQmxVBRDZpug&X-Amz-Signature=b0a831d1a1e309a76c4a80156eca515bea661b396f6d8f136efb76505323bcbd&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject

通过 SDK 使用 RustFS

目前 RustFS 提供了 Java、Python、JavaScript SDK。可以通过 SDK 来对 RustFS 进行操作使用。下面通过 Python SDK 来创建 RustFS Bucket 并上传文件。

import boto3
from botocore.client import Configs3 = boto3.client('s3',endpoint_url='http://143.64.182.51:9000',aws_access_key_id='rustfsadmin',aws_secret_access_key='rustfsadmin',config=Config(signature_version='s3v4'),region_name='us-east-1'
)bucket_name = 'rustfs-ob-2'try:s3.create_bucket(Bucket=bucket_name)print(f'Bucket {bucket_name} created.')
except s3.exceptions.BucketAlreadyOwnedByYou:print(f'Bucket {bucket_name} already exists.')

将上面的内容放入到一个 python 文件中,直接运行即可。可以看到  rustfs-ob-2 被创建成功。可以在 RustFS 控制台上看到:

可以使用如下代码下载存储在 rustfs-ob 中的 pdf 文件:

s3.download_file('rustfs-ob', 'attention-is-all-your-need.pdf','attention-is-all-your-need.pdf')
print('File downloaded.')

关于 RustFS 的更多玩法,我们后面介绍!

http://www.xdnf.cn/news/1121041.html

相关文章:

  • 如何保护文件传输安全?文件传输加密
  • 实战:如何创建 AWS RDS 数据库
  • 从“有”到“优”:iPaaS 赋能企业 API 服务治理建设
  • Foundry 私钥管理指南:方法与安全最佳实践
  • 上下文管理器 和 contextlib 模块
  • 深入浅出Kafka Producer源码解析:架构设计与编码艺术
  • VMware 虚拟机装 Linux Centos 7.9 保姆级教程(附资源包)
  • mybatis-plus-jpa-support
  • 常用的OTP语音芯片有哪些?
  • Spring Boot启动原理:从main方法到内嵌Tomcat的全过程
  • Linux 系统下的 Sangfor VDI 客户端安装与登录完全攻略 (CentOS、Ubuntu、麒麟全线通用)
  • Git LFS 操作处理Github上传大文件操作记录
  • 第一章编辑器开发基础第一节绘制编辑器元素_4输入字段(4/7)
  • Redis集群方案——Redis分片集群
  • 《星盘接口4:银河守护者》
  • 小波变换 | Haar 小波变换
  • 浏览器自动化领域的MCP
  • 实战--Tlias教学管理系统(部门管理)
  • 纯CSS轮播
  • SAP ERP与微软ERP dynamics对比,两款云ERP产品有什么区别?
  • 【第零章编辑器开发与拓展】
  • 不用下载软件也能录屏?Windows 10 自带录屏功能详解
  • Postman、Apifox、Apipost用哪个? 每个的优缺点和综合比较(个人观点)
  • qt多线程的实战使用
  • 【记录】BLE|百度的旧蓝牙随身音箱手机能配对不能连接、电脑能连接不能使用的解决思路(Wireshark捕获并分析手机蓝牙报文)
  • Linux(Ubuntu)硬盘使用情况解析(已房子举例)
  • HTML面试题
  • 消费 Kafka 一个TOPIC数据,插入到另一个KAFKA的TOPIC
  • python学习2
  • ubuntu(22.04)系统上安装 MuJoCo