Kanade's Dev Journal

Rclone 挂载 OneDrive,实现云存储与本地访问的完美融合

Mount onedrive.jpg
Published on
/6 mins read/---

引言

在管理虚拟私有服务器(VPS)时,存储空间常常成为一个限制因素。尤其是对于需要处理大量数据的应用,VPS 提供的存储空间往往显得捉襟见肘。为了解决这一问题,我们可以利用云存储服务,如 Microsoft 的 OneDrive,通过 Rclone 工具将其挂载到 VPS 上,从而扩展存储容量。本文将详细介绍如何使用 Rclone 挂载 OneDrive 云盘,以解决 VPS 存储不足的问题。

什么是 Rclone?

Rclone 是一个命令行程序,用于管理云存储服务上的文件。它支持多种云存储服务,包括 OneDrive、Google Drive、Dropbox 等。Rclone 提供了丰富的功能,如文件同步、加密、挂载等,使得用户可以方便地将云存储集成到本地文件系统中。

准备工作

在开始之前,确保你已经具备以下条件:

  1. VPS:一台运行 Linux 操作系统的 VPS。
  2. OneDrive 账户:一个有效的 Microsoft OneDrive 账户。
  3. Rclone 安装:在 VPS 上安装 Rclone。

安装 Rclone

在 VPS 上安装 Rclone 非常简单。可以通过以下命令完成安装:

apt install rclone

安装完成后,可以通过 rclone version命令验证安装是否成功。正常输入命令后会出现如下信息:

rclone v1.69.0
- os/version: ubuntu 22.04 (64 bit)
- os/kernel: 5.15.0-46-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.23.4
- go/linking: static
- go/tags: none

配置 Rclone 连接 OneDrive

1. 创建 Rclone 配置

首先,我们需要创建一个 Rclone 配置文件,用于连接 OneDrive。运行以下命令:

rclone config

这将启动 Rclone 的交互式配置向导。

2. 添加新的远程存储

在配置向导中,选择 n 创建一个新的远程存储。然后,输入一个名称,例如 onedrive。

3. 选择存储类型

接下来,Rclone 会列出所有支持的存储类型。找到 Microsoft OneDrive,输入对应编号回车。需注意:不同版本 rclone的存储类型不一样,根据实际情况选择。

4. 配置 OneDrive

  • client_id & client_secret:不用特别配置,留空直接回车

  • 选择地域:根据自己买的 OneDrive 版本选择

  • 选择租户:不用特别配置,留空直接回车

  • 高级选项:不用特别配置,留空直接回车

  • 授权 Rclone 使用 OneDrive

    CAUTION

    这一步很重要,可以参考 官方指导 进行配置

    我使用第三种方式:SSH 隧道配置 成功授权success

  • 配置 config_type:输入 1,回车

  • 配置 config_driveid:一般只有一个,如果是家庭组用户,登录自己的 OneDrive 账号查看cid,选择对应 id 后回车

  • 完成配置

挂载 OneDrive 到 VPS

创建挂载点

mkdir /apps/navidrome/music

挂载 OneDrive

使用以下命令将 OneDrive 挂载到刚才创建的目录

rclone mount onedrive:/Music /apps/navidrome/music --vfs-cache-mode full --vfs-cache-max-size 10G --buffer-size 200M &

命令参数解释:

参数说明
onedrive在 Rclone 配置中为 OneDrive 设置的名称
/Music挂载云存储的位置,对应 OneDrive 文件夹名称
/apps/navidrome/music本地挂载的路径,进入该路径可以看到云存储里的文件
vfs-cache-mode缓存模式
vfs-cache-max-size缓存中对象的最大总大小
buffer-size设置每个文件最大占用的内存空间,单位为M,G等
&将命令放入后台运行

验证挂载

使用 df -h 命令查看挂载情况 df

设置开机自启

使用 systemd 来管理 rclone mount 进程,具体步骤如下:

  • 创建服务文件
sudo vim /etc/systemd/system/rclone-onedrive.service
  • 填入以下内容
[Unit]
Description=Rclone Mount OneDrive
After=network-online.target
 
[Service]
Type=simple
ExecStart=/usr/bin/rclone mount onedrive:/Music /apps/navidrome/music --vfs-cache-mode full --vfs-cache-max-size 10G --buffer-size 200M
MemoryHigh=400M
MemoryMax=1G
Restart=always
User=root
 
[Install]
WantedBy=default.target
  • 重新加载 systemd 并启用服务
sudo systemctl daemon-reload
sudo systemctl enable rclone-onedrive
sudo systemctl start rclone-onedrive
  • 检查运行状态
systemctl status rclone-onedrive
  • 测试开机自启动
## 重启服务器
sudo reboot
## 检查 rclone 进程
ps -ef|grep rclone

总结

通过使用 Rclone 挂载 OneDrive 云盘,我们可以有效地扩展 VPS 的存储空间,解决存储不足的问题。这种方法不仅简单易行,而且成本低廉,特别适合需要处理大量数据的应用场景。希望本文能帮助你顺利实现这一解决方案,提升 VPS 的使用体验。

Happy configuring!