Skip to content

Commit 137a7c9

Browse files
authored
refactor docs architecture (#39)
1 parent 320b78a commit 137a7c9

26 files changed

+548
-320
lines changed
File renamed without changes.

docs/zh/management/iam/images/access_token_creation.png renamed to docs/zh/administration/iam/images/access_token_creation.png

File renamed without changes.

docs/zh/management/iam/images/access_token_deletion.png renamed to docs/zh/administration/iam/images/access_token_deletion.png

File renamed without changes.
File renamed without changes.

docs/zh/developer/mc.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ MinIO Client(`mc`)是 MinIO 官方提供的命令行工具,用于管理 Mi
1111

1212
- 一个可用的 RustFS 实例。可参考[安装指南](../installation/index.md)进行安装。
1313
- 已安装 `mc` 工具。
14-
- 可用的[访问密钥](../management/iam/access-token.md)
14+
- 可用的[访问密钥](../administration/iam/access-token.md)
1515

1616
## `mc` 操作 RustFS
1717

docs/zh/developer/mcp.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ docker build -f crates/mcp/Dockerfile -t rustfs/rustfs-mcp .
176176
}
177177
```
178178

179-
> `AWS_ACCESS_KEY_ID``AWS_SECRET_ACCESS_KEY` 是 RustFS 的访问密钥,可以参考[访问密钥的管理章节](../management/iam/access-token.md)进行创建。
179+
> `AWS_ACCESS_KEY_ID``AWS_SECRET_ACCESS_KEY` 是 RustFS 的访问密钥,可以参考[访问密钥的管理章节](../administration/iam/access-token.md)进行创建。
180180
181181
如果添加成功,可以在 MCP 配置页面列出[可用的工具](#️-可用工具)
182182

docs/zh/installation/linux/index.md

Lines changed: 14 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ description: "使用 Linux 操作系统安装 RustFS 的快速指导"
55

66
# Linux 安装 RustFS
77

8-
98
## 一、安装前必读
109

1110
本页面包含了 RustFS 的三种安装模式的全部文档和说明。其中,多机多盘的模式包含了企业级可用的性能、安全性和扩展性。并且,提供了生产工作负载需要的架构图。请装前请阅读,我们的启动模式与检查清单,如下:
@@ -35,7 +34,6 @@ description: "使用 Linux 操作系统安装 RustFS 的快速指导"
3534
7. 磁盘规划;
3635

3736

38-
3937
### 2.1. 操作系统版本
4038

4139
我们推荐 Linux 内核为 4.x 及以上的版本。因为,5.x / 6.x 的版本可以获得更好的 IO 吞吐和网络性能。
@@ -63,11 +61,8 @@ systemctl disable firewalld
6361
firewall-cmd --zone=public --add-port=9000/tcp --permanent
6462
firewall-cmd --reload
6563
```
66-
部署中的所有 RustFS 服务器 **必须** 使用相同的监听端口。如果您使用的是 9000 端口,其他服务器的所有端口均需要为 9000 端口。
67-
68-
69-
7064

65+
部署中的所有 RustFS 服务器 **必须** 使用相同的监听端口。如果您使用的是 9000 端口,其他服务器的所有端口均需要为 9000 端口。
7166

7267
### 2.3 主机名(单机单盘和单机多盘可跳过此步骤)
7368

@@ -77,15 +72,14 @@ firewall-cmd --reload
7772

7873
**1. DNS 配置:**
7974

80-
请配置你的DNS解析服务器,保障名字的连续性。
75+
请配置你的DNS解析服务器,保障名字的连续性。
8176

8277
**2. HOSTS 配置:**
8378

8479
修改 /etc/hosts中的本地别名设置,具体操作如下:
8580

8681

8782
```bash
88-
8983
vim /etc/hosts
9084
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
9185
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
@@ -99,7 +93,6 @@ vim /etc/hosts
9993

10094
RustFS 需要至少 2 GB 的内存来运行测试环境,生产的环境最低需要 128 GB 的内存。
10195

102-
10396
### 2.5 时间同步
10497

10598
多节点的一致性必须要使用时间服务器维护时间的一致性,不然可能会出现无法启动服务的情况。相关时间服务器例如使用 `ntp` , `timedatectl` , 或者 `timesyncd`
@@ -131,23 +124,20 @@ EC(纠删码)规划如下:
131124
| 开发测试环境 | EC:2| 提供基本的冗余保护,适用于非关键业务。|
132125

133126

134-
135-
136127
### 2.7 磁盘规划
137128

138129
由于NFS在高IO情况下,会产生幻写和锁的问题,在使用RustFS时 **禁止使用NFS** 作为RustFS的底层存储介质。 官方强烈建议使用**JBOD(Just a Bunch of Disks)**模式,即简单磁盘捆绑。这意味着将物理磁盘直接、独立地暴露给操作系统,由RustFS软件层面负责数据冗余和保护。
139130

140131

141132
原因如下:
133+
142134
- **性能更优:** RustFS 的纠删码(Erasure Coding)引擎经过高度优化,能够直接并发读写多块磁盘,实现比硬件RAID控制器更高的吞吐量。硬件RAID会成为性能瓶颈。
143135
- **成本更低:** 无需昂贵的RAID卡,降低了硬件采购成本。
144136
- **管理更简单:** 由RustFS统一管理磁盘,简化了存储层的运维。
145137
- **故障恢复更快:** RustFS(healing)过程比传统的RAID重建(rebuild)速度更快,且对集群性能影响更小。
146138

147-
148139
官方推荐在磁盘上使用NVMe SSD作为您的存储介质,保障更高的性能和吞吐能力。
149140

150-
151141
### 2.8 文件系统选择
152142

153143
RustFS官方在磁盘文件系统格式上,RustFS官方强烈推荐在所有用于存储的磁盘上使用 XFS 文件系统。RustFS的开发和测试都基于XFS,能够确保最佳的性能和稳定性。不建议使用ext4、BTRFS或ZFS等其他文件系统,因为它们可能会导致性能下降或出现不可预知的问题。
@@ -164,7 +154,7 @@ RustFS 在写入新对象或对象的版本时,为了保证写入性能和减
164154

165155
首先,需要查看磁盘系统的情况:
166156

167-
~~~
157+
```
168158
sudo lsblk
169159
170160
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
@@ -174,22 +164,22 @@ sda 8:0 0 465.7G 0 disk
174164
nvme0n1 8:16 0 3.7T 0 disk <-- if this is our format new disk
175165
nvme1n1 8:32 0 3.7T 0 disk <-- if this is our format new disk
176166
nvme2n1 8:48 0 3.7T 0 disk
177-
~~~
178-
167+
```
179168

180169
具体格式化命令如下:
181170

182-
~~~
171+
```
183172
sudo mkfs.xfs -i size=512 -n ftype=1 -L RUSTFS0 /dev/sdb
184-
~~~
173+
```
185174

186175
我们可以在格式化时加入一些推荐选项来优化性能:
187-
- -L label: 为文件系统设置一个标签(label),方便后续识别和挂载。
176+
- -L \<label\>: 为文件系统设置一个标签(label),方便后续识别和挂载。
188177
- -i size=512: RustFS官方推荐将inode大小设置为512字节,这对于存储大量小对象(元数据)的场景有性能优势。
189178
- -n ftype=1: 开启ftype功能。这允许文件系统在目录结构中记录文件类型,可以提高类似readdir和unlink操作的性能,对RustFS非常有利。
190179

191180
挂载:
192-
~~~
181+
182+
```
193183
# write new line
194184
vim /etc/fstab
195185
LABEL=RUSTFS0 /data/rustfs0 xfs defaults,noatime,nodiratime 0 0
@@ -198,9 +188,7 @@ LABEL=RUSTFS0 /data/rustfs0 xfs defaults,noatime,nodiratime 0 0
198188
199189
# mount disk
200190
sudo mount -a
201-
~~~
202-
203-
191+
```
204192

205193
## 三、配置用户名
206194

@@ -212,19 +200,16 @@ RustFS 启动,我们建议您配置一个专门的无登录权限的用户进
212200

213201
以下示例是修改创建用户、组并设置权限以访问 RustFS 指定的数据目录(可选):
214202

215-
~~~
203+
```
216204
groupadd -r rustfs-user
217205
useradd -M -r -g rustfs-user rustfs-user
218206
chown rustfs-user:rustfs-user /data/rustfs*
219-
~~~
207+
```
220208

221209
注意:
222210
- 如果创建了rustfs-user用户和组需要将 `/etc/systemd/system/rustfs.service` 中的User 和Group改为 `rustfs-user` ;
223211
-` /data/rustfs*` 调整为指定的挂载目录。
224212

225-
226-
227-
228213
## 四、下载安装包
229214

230215
请先安装 wge 或者 curl 下载 rustfs 安装包。
@@ -237,12 +222,8 @@ chmod +x rustfs
237222
mv rustfs /usr/local/bin/
238223
```
239224

240-
241-
242225
### 五、配置环境变量
243226

244-
245-
246227
1. 创建配置文件
247228

248229

@@ -298,6 +279,7 @@ sudo chmod -R 750 /data/rustfs* /var/logs/rustfs
298279

299280
### 七、配置系统服务
300281
1. 创建 systemd 服务文件
282+
301283
```bash
302284
sudo tee /etc/systemd/system/rustfs.service <<EOF
303285
[Unit]
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: RustFS 多机多盘安装
3+
description: 在多台服务器的多个磁盘上安装 RustFS, 数据将存储在多个服务器的多个磁盘上.
4+
---
5+
6+
# 多机多盘(MNMD, Multiple Node Multiple Disk)
7+
8+
> 适用于生产环境中的关键业务,建议在专家指导下进行配置,并且了解并发、吞吐、业务场景、压力等多项指标,对系统进行全面优化。
9+
10+
最小需要 4 台服务器,最低每台服务器需要 1 块磁盘,才可以安全的启动分布式象存储集群。
11+
12+
以下架构图例,数据通过负载均衡,随机向任何一台服务器写入数据。以默认 12 + 4 的模式。 一个数据块默认会切分成 12 个数据块 + 4 个校验块,分别存到不同服务器的不同磁盘上。
13+
14+
任何 1 台服务器损坏或者维护都不会影响到数据安全。
15+
16+
任何 4 块磁盘以内的数据损坏都不会影响数据安全。
17+
18+
<img src="./images/multiple-node-multiple-disk.jpg" alt="RustFS Multiple Node Multiple Disk Mode" />

docs/zh/installation/linux/quick-start.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ description: "使用RustFS一键安装包快速进行Linux环境下的部署安
1313

1414
1. 请明确您的三种安装启用模式:
1515

16-
1. 单机单盘模式(SNSD)
17-
2. 单机多盘模式(SNMD)
18-
3. 多机多盘模式(MNMD)
16+
1. [单机单盘模式(SNSD)](./single-node-single-disk.md)
17+
2. [单机多盘模式(SNMD)](./single-node-multiple-disk.md)
18+
3. [多机多盘模式(MNMD)](./multiple-node-multiple-disk.md)
1919

2020
2. [安装前检查](../checklists/index.md),确保各项指标符合生产指导特征,若不需要生产标准可不阅读此指导;
2121

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: RustFS 单机多盘安装
3+
description: 在单台服务器的多个磁盘上安装 RustFS, 数据将存储在多个磁盘上.
4+
---
5+
6+
# 单机多盘模式(SNMD, Single Node Multiple Disk)
7+
8+
> 适用于中性非关键业务,在生产环境中通常损坏指定的 M 块硬盘不会出现数据风险,若整个服务器损坏或者超过 M 磁盘损坏,则数据丢失。
9+
10+
1 台服务器中只有多数据盘,数据以分片的形式存储在多个数据盘上。
11+
12+
一个数据块,会拆成指定的 K 个数据块和 M 个校验块,最多不能丢失 K 个数据块,最多不能丢失 M 个校验块。
13+
14+
以下图为例:
15+
16+
<img src="./images/single-node-multiple-disk.jpg" alt="RustFS Single Node Multiple Disk Mode" />
17+

0 commit comments

Comments
 (0)