个人文档
This commit is contained in:
parent
b8eb75287d
commit
3bb42aaa4a
131
个人文档/Windows挂载oss.md
Normal file
131
个人文档/Windows挂载oss.md
Normal file
@ -0,0 +1,131 @@
|
||||
# 在 Windows 上将 OSS 存储挂载为本地磁盘
|
||||
|
||||
---
|
||||
|
||||
## 1. 准备工作
|
||||
|
||||
### 1.1 安装 WinFsp
|
||||
WinFsp 是 Windows 上的文件系统代理,`rclone` 依赖它实现挂载功能。
|
||||
|
||||
|
||||
### 1.2 安装 rclone
|
||||
- 解压到目录,例如 `C:\rclone`
|
||||
- (可选)将 `C:\rclone` 添加到系统 PATH 环境变量,方便在任何路径下调用 `rclone` 命令。
|
||||
|
||||
---
|
||||
|
||||
## 2. 配置 rclone 连接 OSS
|
||||
|
||||
### 2.1 创建配置文件
|
||||
`rclone` 的配置文件默认位于:
|
||||
```
|
||||
C:\Users\<你的用户名>\AppData\Roaming\rclone\rclone.conf
|
||||
```
|
||||
如果该文件或目录不存在,请手动创建。
|
||||
|
||||
### 2.2 编辑配置文件
|
||||
在 `rclone.conf` 中添加以下内容,将占位符替换为您的实际信息:
|
||||
|
||||
```ini
|
||||
[oss]
|
||||
type = s3
|
||||
provider = Minio
|
||||
access_key_id = YOUR_ACCESS_KEY(可空)
|
||||
secret_access_key = YOUR_SECRET_KEY(可空)
|
||||
endpoint = http://192.168.1.237:9000
|
||||
region = us-east-1
|
||||
```
|
||||
|
||||
> **说明**:
|
||||
> - `[oss]` 是配置名称,挂载时会用到。
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 3. 手动挂载测试
|
||||
|
||||
打开 **命令提示符 (cmd)**,切换到 `rclone.exe` 所在目录(若已添加 PATH 则直接执行):
|
||||
|
||||
```cmd
|
||||
cd C:\rclone
|
||||
```
|
||||
|
||||
执行挂载命令(将 `share` 替换为您的存储桶名称,`F:` 替换为您希望使用的盘符):
|
||||
|
||||
```cmd
|
||||
rclone.exe mount oss:/share F:
|
||||
```
|
||||
|
||||
**参数说明**:
|
||||
- `oss:/share`:`oss` 是配置名,`share` 是桶名。
|
||||
- `F:`:要挂载的盘符。
|
||||
|
||||
挂载成功后,打开“此电脑”即可看到 `F:` 盘,可像本地硬盘一样读写。
|
||||
|
||||
**注意**:该 cmd 窗口一旦关闭,挂载就会中断。因此需要后台运行。
|
||||
|
||||
---
|
||||
|
||||
## 4. 使用 VBS 脚本实现后台无窗口挂载
|
||||
|
||||
创建一个 VBS 脚本,让 `rclone` 在完全后台运行(无命令行窗口)。
|
||||
|
||||
### 4.1 创建脚本文件
|
||||
|
||||
在桌面或任意文件夹,新建一个文本文件,命名为 **`MountOSS.vbs`**(注意扩展名是 `.vbs`,不是 `.txt`)。
|
||||
|
||||
### 4.2 编辑脚本内容
|
||||
|
||||
用记事本打开 `MountOSS.vbs`,粘贴以下内容,并根据您的实际环境修改相关路径和参数:
|
||||
|
||||
```vbscript
|
||||
Set WshShell = CreateObject("WScript.Shell")
|
||||
|
||||
' 请修改以下命令中的路径、配置名、桶名、盘符和参数
|
||||
cmd = "C:\rclone\rclone.exe mount oss:/share F:"
|
||||
|
||||
' 0 表示隐藏窗口,False 表示不等待程序结束
|
||||
WshShell.Run cmd, 0, False
|
||||
```
|
||||
|
||||
> **注意**:
|
||||
> - 如果 `rclone.exe` 路径包含空格,请用双引号包裹整个路径,例如:
|
||||
> `cmd = """C:\Program Files\rclone\rclone.exe"" mount minio:/share F: ..."`
|
||||
|
||||
### 4.3 运行脚本
|
||||
|
||||
双击 `MountOSS.vbs`,此时不会有任何窗口出现,但 `rclone` 已经在后台运行,`F:` 盘会被挂载。
|
||||
|
||||
您可以在任务管理器的“详细信息”中看到 `rclone.exe` 进程。
|
||||
|
||||
---
|
||||
|
||||
## 5. 如何关闭后台挂载
|
||||
|
||||
当需要卸载虚拟盘符并结束 `rclone` 进程时
|
||||
|
||||
### 5.1 使用任务管理器(最简单)
|
||||
|
||||
1. 按 `Ctrl + Shift + Esc` 打开任务管理器。
|
||||
2. 切换到“详细信息”选项卡。
|
||||
3. 找到 `rclone.exe` 进程,右键 → “结束任务”。
|
||||
4. 挂载的盘符(如 `F:`)会自动消失。
|
||||
|
||||
### 5.2 重启电脑
|
||||
|
||||
终极方案,一般不需要。
|
||||
|
||||
---
|
||||
|
||||
## 6. 开机自动后台挂载(可选)
|
||||
|
||||
如果您希望每次开机时自动挂载,可以将 `MountOSS.vbs` 脚本添加到“启动”文件夹:
|
||||
|
||||
1. 按 `Win + R`,输入 `shell:startup`,打开启动文件夹。
|
||||
2. 将 `MountOSS.vbs` 的快捷方式复制到该文件夹中。
|
||||
|
||||
下次登录时,脚本会自动运行,后台挂载您的对象存储。
|
||||
|
||||
> **注意**:如果 `rclone` 需要访问网络驱动器或需要特定权限,请确保脚本以适当的用户权限运行(可设置为“以管理员身份运行”的快捷方式)。
|
||||
|
||||
---
|
||||
@ -23,7 +23,7 @@
|
||||
# 启用 CRB 仓库(CentOS 9 需要)
|
||||
sudo dnf config-manager --set-enabled crb
|
||||
# 安装 rclone 和 fuse
|
||||
sudo dnf install -y rclone fuse fuse-devel
|
||||
sudo dnf install -y rclone fuse fuse-devel fuse3
|
||||
```
|
||||
|
||||
### 2.2 加载 fuse 内核模块并启用 user_allow_other
|
||||
@ -220,65 +220,7 @@ mount | grep rclone
|
||||
|
||||
---
|
||||
|
||||
## 10. 常见问题与解决
|
||||
|
||||
### 10.1 挂载后 `ls` 为空或 `Transport endpoint is not connected`
|
||||
|
||||
**原因**:缓存目录权限问题或网络断开。
|
||||
|
||||
**解决**:
|
||||
```bash
|
||||
# 重启对应服务
|
||||
sudo systemctl restart rclone-mount@orderbook
|
||||
# 或清理缓存(若使用默认缓存 /root/.cache/rclone)
|
||||
rm -rf /root/.cache/rclone/vfs/oss/orderbook
|
||||
```
|
||||
|
||||
### 10.2 服务启动失败,日志显示 `fuse: device not found`
|
||||
|
||||
**解决**:加载 fuse 模块并设置开机加载:
|
||||
```bash
|
||||
sudo modprobe fuse
|
||||
echo fuse | sudo tee /etc/modules-load.d/fuse.conf
|
||||
```
|
||||
|
||||
### 10.3 `allow_other` 不生效
|
||||
|
||||
**解决**:检查 `/etc/fuse.conf` 是否包含 `user_allow_other` 且未注释,修改后无需重启服务,重新挂载即可。
|
||||
|
||||
### 10.4 开机后挂载未自动拉起
|
||||
|
||||
**原因**:网络依赖未完全满足。
|
||||
|
||||
**解决**:确认服务文件中已包含 `After=network-online.target` 和 `Wants=network-online.target`。若仍有问题,可添加延时:
|
||||
```ini
|
||||
ExecStartPre=/bin/sleep 5
|
||||
```
|
||||
|
||||
### 10.5 如何调整缓存目录或 VFS 模式?
|
||||
|
||||
编辑 `/etc/systemd/system/rclone-mount@.service`,修改 `ExecStart` 中的参数,例如:
|
||||
```bash
|
||||
--cache-dir=/tmp/rclone-cache \
|
||||
--vfs-cache-mode=writes
|
||||
```
|
||||
修改后执行:
|
||||
```bash
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl restart rclone-mount@your-bucket
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 11. 备份与恢复建议
|
||||
|
||||
- **备份 rclone 配置**:`cp /root/.config/rclone/rclone.conf /safe/location`
|
||||
- **备份 systemd 模板**:`cp /etc/systemd/system/rclone-mount@.service /safe/location`
|
||||
- 重装系统后,只需恢复这两个文件,重新 `systemctl enable` 即可。
|
||||
|
||||
---
|
||||
|
||||
## 12. 总结
|
||||
## 10. 总结
|
||||
|
||||
通过 systemd 模板单元管理 MinIO 桶挂载,具有以下优点:
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user