Hello, RustFS.

This commit is contained in:
安正超
2025-07-02 11:27:42 +08:00
committed by GitHub
parent b9ff63d064
commit aeffacb53e
+86 -92
View File
@@ -1,121 +1,115 @@
# RustFS
[![RustFS](https://github.com/user-attachments/assets/547d72f7-d1f4-4763-b9a8-6040bad9251a)](https://rustfs.com)
## [English Documentation](README.md) |中文文档
<p align="center">RustFS 是一个使用 Rust 构建的高性能分布式对象存储软件</p >
### 前置要求
<p align="center">
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
<img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/rustfs/rustfs"/>
<img alt="Github Last Commit" src="https://img.shields.io/github/last-commit/rustfs/rustfs"/>
<img alt="Github Contributors" src="https://img.shields.io/github/contributors/rustfs/rustfs"/>
<img alt="GitHub closed issues" src="https://img.shields.io/github/issues-closed/rustfs/rustfs"/>
<img alt="Discord" src="https://img.shields.io/discord/1107178041848909847?label=discord"/>
</p >
| 软件包 | 版本 | 下载链接 |
|--------|--------|----------------------------------------------------------------------------------------------------------------------------------|
| Rust | 1.8.5+ | [rust-lang.org/tools/install](https://www.rust-lang.org/tools/install) |
| protoc | 31.1+ | [protoc-31.1-linux-x86_64.zip](https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-linux-x86_64.zip) |
| flatc | 24.0+ | [Linux.flatc.binary.g++-13.zip](https://github.com/google/flatbuffers/releases/download/v25.2.10/Linux.flatc.binary.g++-13.zip) |
<p align="center">
<a href=" ">快速开始</a >
· <a href="https://docs.rustfs.com">文档</a >
· <a href="https://github.com/rustfs/rustfs/issues">问题报告</a >
· <a href="https://github.com/rustfs/rustfs/discussions">讨论</a >
</p >
### 构建 RustFS
<p align="center">
<a href="https://github.com/rustfs/rustfs/blob/main/README.md">English</a > | 简体中文
</p >
#### 生成 Protobuf 代码
RustFS 是一个使用 Rust(全球最受欢迎的编程语言之一)构建的高性能分布式对象存储软件。与 MinIO 一样,它具有简单性、S3 兼容性、开源特性以及对数据湖、AI 和大数据的支持等一系列优势。此外,与其他存储系统相比,它采用 Apache 许可证构建,拥有更好、更用户友好的开源许可证。由于以 Rust 为基础,RustFS 为高性能对象存储提供了更快的速度和更安全的分布式功能。
```bash
cargo run --bin gproto
```
## 特性
#### 使用 Docker 安装依赖
- **高性能**:使用 Rust 构建,确保速度和效率。
- **分布式架构**:可扩展且容错的设计,适用于大规模部署。
- **S3 兼容性**:与现有 S3 兼容应用程序无缝集成。
- **数据湖支持**:针对大数据和 AI 工作负载进行了优化。
- **开源**:采用 Apache 2.0 许可证,鼓励社区贡献和透明度。
- **用户友好**:设计简单,易于部署和管理。
```yaml
- uses: arduino/setup-protoc@v3
with:
version: "30.2"
## RustFS vs MinIO
- uses: Nugine/setup-flatc@v1
with:
version: "25.2.10"
```
压力测试服务器参数
#### 添加控制台 Web UI
| 类型 | 参数 | 备注 |
| - | - | - |
|CPU | 2 核心 | Intel Xeon(Sapphire Rapids) Platinum 8475B , 2.7/3.2 GHz| |
|内存| 4GB | |
|网络 | 15Gbp | |
|驱动器 | 40GB x 4 | IOPS 3800 / 驱动器 |
<https://github.com/user-attachments/assets/8cdc78f3-5ccb-413b-aa08-ff005022cf52>
### RustFS vs 其他对象存储
| RustFS | 其他对象存储|
| - | - |
| 强大的控制台 | 简单且无用的控制台 |
| 基于 Rust 语言开发,内存更安全 | 使用 Go 或 C 开发,存在内存 GC/泄漏等潜在问题 |
| 不向第三方国家报告日志 | 向其他第三方国家报告日志可能违反国家安全法律 |
| 采用 Apache 许可证,对商业更友好 | AGPL V3 许可证等其他许可证,污染开源和许可证陷阱,侵犯知识产权 |
| 全面的 S3 支持,适用于国内外云提供商 | 完全支持 S3,但不支持本地云厂商 |
| 基于 Rust 开发,对安全和创新设备有强大支持 | 对边缘网关和安全创新设备支持较差|
| 稳定的商业价格,免费社区支持 | 高昂的定价,1PiB 成本高达 $250,000 |
| 无风险 | 知识产权风险和禁止使用的风险 |
## 快速开始
要开始使用 RustFS,请按照以下步骤操作:
1. **安装 RustFS**:从我们的 [GitHub Releases](https://github.com/rustfs/rustfs/releases) 下载最新版本。
2. **运行 RustFS**:使用提供的二进制文件启动服务器。
1. 下载最新的控制台 UI
```bash
wget https://dl.rustfs.com/artifacts/console/rustfs-console-latest.zip
```
2. 创建静态资源目录:
```bash
mkdir -p ./rustfs/static
```
3. 解压并编译 RustFS
```bash
unzip rustfs-console-latest.zip -d ./rustfs/static
cargo build
./rustfs /data
```
### 运行 RustFS
3. **访问控制台**:打开 Web 浏览器并导航到 `http://localhost:9001` 以访问 RustFS 控制台。
4. **创建存储桶**:使用控制台为您的对象创建新的存储桶。
5. **上传对象**:您可以直接通过控制台上传文件,或使用 S3 兼容的 API 与您的 RustFS 实例交互。
#### 配置
## 文档
设置必要的环境变量:
有关详细文档,包括配置选项、API 参考和高级用法,请访问我们的[文档](https://docs.rustfs.com)。
```bash
# 基础配置
export RUSTFS_VOLUMES="./target/volume/test"
export RUSTFS_ADDRESS="0.0.0.0:9000"
export RUSTFS_CONSOLE_ENABLE=true
export RUSTFS_CONSOLE_ADDRESS="0.0.0.0:9001"
## 获取帮助
# 可观测性配置
export RUSTFS_OBS_ENDPOINT="http://localhost:4317"
如果您有任何问题或需要帮助,您可以:
# 事件消息配置
#export RUSTFS_EVENT_CONFIG="./deploy/config/event.toml"
```
- 查看[常见问题解答](https://docs.rustfs.com/faq)以获取常见问题和解决方案。
- 加入我们的 [GitHub 讨论](https://github.com/rustfs/rustfs/discussions)来提问和分享您的经验。
- 在我们的 [GitHub Issues](https://github.com/rustfs/rustfs/issues) 页面上开启问题,报告错误或功能请求。
#### 启动服务
## 链接
```bash
./rustfs /data/rustfs
```
- [文档](https://docs.rustfs.com) - 您应该阅读的手册
- [更新日志](https://docs.rustfs.com/changelog) - 我们破坏和修复的内容
- [GitHub 讨论](https://github.com/rustfs/rustfs/discussions) - 社区所在地
## 可观测性系统 Otel 和 OpenObserve
## 联系
### OpenTelemetry Collector 和 Jaeger、Grafana、Prometheus、Loki
- **错误报告**[GitHub Issues](https://github.com/rustfs/rustfs/issues)
- **商务合作**<hello@rustfs.com>
- **招聘**<jobs@rustfs.com>
- **一般讨论**[GitHub 讨论](https://github.com/rustfs/rustfs/discussions)
- **贡献**[CONTRIBUTING.md](CONTRIBUTING.md)
1. 进入可观测性目录:
```bash
cd .docker/observability
```
## 贡献者
2. 启动可观测性系统:
```bash
docker compose -f docker-compose.yml up -d
```
RustFS 是一个社区驱动的项目,我们感谢所有的贡献。查看[贡献者](https://github.com/rustfs/rustfs/graphs/contributors)页面,了解帮助 RustFS 变得更好的杰出人员。
#### 访问监控面板
<a href="https://github.com/rustfs/rustfs/graphs/contributors">
<img src="https://contrib.rocks/image?repo=rustfs/rustfs" />
</a >
- Grafana: `http://localhost:3000` (默认账号/密码:`admin`/`admin`)
- Jaeger: `http://localhost:16686`
- Prometheus: `http://localhost:9090`
## 许可证
#### 配置可观测性
```
OpenTelemetry Collector 地址(endpoint): http://localhost:4317
```
---
### OpenObserve 和 OpenTelemetry Collector
1. 进入 OpenObserve 和 OpenTelemetry 目录:
```bash
cd .docker/openobserve-otel
```
2. 启动 OpenObserve 和 OpenTelemetry Collector 服务:
```bash
docker compose -f docker-compose.yml up -d
```
3. 访问 OpenObserve UI
OpenObserve UI: `http://localhost:5080`
- 默认凭据:
- 用户名:`root@rustfs.com`
- 密码:`rustfs123`
- 开放端口:
- 5080HTTP API 和 UI
- 5081OTLP gRPC
[Apache 2.0](https://opensource.org/licenses/Apache-2.0)
**RustFS** 是 RustFS, Inc. 的商标。所有其他商标均为其各自所有者的财产。