在 Linux上配置 rclone,将 Cloudflare R2 和 Minio 挂载为本地硬盘。

🛠️ 第一步:安装 rclone

大多数 Linux 发行版的仓库里都有 rclone,但建议使用官方脚本以获取最新版:

复制代码
sudo curl https://rclone.org/install.sh | sudo bash

验证安装:rclone version


🔑 第二步:获取 API 凭证

在配置之前,你需要准备好以下信息:

信息 Cloudflare R2 Minio
Endpoint https://<accountid>.r2.cloudflarestorage.com http://your-ip:9000
Access Key ID 在 R2 控制台创建 API 令牌获得 Minio 控制台生成
Secret Access Key 在 R2 控制台创建 API 令牌获得 Minio 控制台生成

⚙️ 第三步:配置 rclone (rclone config)

输入 rclone config 进入交互式配置界面。

1. 配置 Cloudflare R2

  1. 输入 n (New remote),名字起为 cf-r2-0。

  2. 类型选择 s3。

  3. 提供商 (provider) 选择 Cloudflare。

  4. env_auth 输入 false。

  5. 输入你的 access_key_id 和 secret_access_key。

  6. region 选择 auto。

  7. endpoint 输入 Cloudflare 提供的专属 URL。

  8. 其他选项默认(回车)即可。

2. 配置 Minio

  1. 输入 n,名字起为 minio。

  2. 类型选择 s3。

  3. 提供商选择 Minio。

  4. 输入你的 access_key_id 和 secret_access_key。

  5. region 留空或选 us-east-1。

  6. endpoint 输入你的 Minio 服务器地址(例如 http://192.168.1.100:9000)。

  7. 其他默认。


📂 第四步:挂载为本地硬盘

为了方便访问,我们先创建挂载点:

复制代码
mkdir -p ~/Cloud/R2
mkdir -p ~/Cloud/Minio

手动挂载测试

使用以下优化后的命令进行挂载:

复制代码
# 挂载 R2
rclone mount cf-r2-0: ~/Cloud/R2 --vfs-cache-mode full --vfs-cache-max-size 10G --daemon

# 挂载 Minio
rclone mount minio: ~/Cloud/Minio --vfs-cache-mode full --vfs-cache-max-size 10G --daemon

参数解释:

  • --vfs-cache-mode full: 允许像普通硬盘一样任意读写、打开文件(非常重要)。

  • --vfs-cache-max-size 10G: 限制缓存大小,防止撑爆你的物理硬盘。

  • --daemon: 后台运行。


🚀 第五步:设置开机自动挂载 (Systemd)

为了不用每次重启电脑都敲命令,我们可以为每个挂载点创建一个服务文件。

  1. 创建服务文件(以 R2 为例):

    sudo nano /etc/systemd/system/rclone-r2.service

  2. 粘贴以下内容 (注意替换 <YOUR_USER> 为你的用户名):

    [Unit]
    Description=Rclone Mount R2
    After=network-online.target

    [Service]
    Type=simple
    User=<YOUR_USER>
    ExecStart=/usr/bin/rclone mount cf-r2-0: /home/<YOUR_USER>/Cloud/R2
    --vfs-cache-mode full
    --vfs-cache-max-size 10G
    --vfs-read-chunk-size 64M
    --allow-other
    ExecStop=/bin/fusermount -u /home/<YOUR_USER>/Cloud/R2
    Restart=on-failure

    [Install]
    WantedBy=default.target

  3. 启动并使服务生效:

    sudo systemctl daemon-reload
    sudo systemctl enable rclone-r2
    sudo systemctl start rclone-r2

(Minio 的服务配置同理,只需修改名称和路径即可。)


⚠️ 注意事项

  • 流量成本:Cloudflare R2 虽然下载免费(B Class 操作限额内),但 Minio 如果部署在云服务器上,挂载使用会消耗服务器下行流量。

  • 权限问题 :如果在非家目录挂载,需要在 /etc/fuse.conf 中把 user_allow_other 前面的 # 号删掉。

  • 卸载 :如果挂载卡死,使用 fusermount -u ~/Cloud/R2 强制卸载。

相关推荐
沫璃染墨几秒前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
Kobebryant-Manba14 分钟前
C/S和B/S结构
运维·服务器
AI_Lab012 小时前
宝塔用了两年,有没有必要换成轻量方案?
linux·运维·服务器
众壹新能源科技2 小时前
逆变器直流开关柜温度监测与预防:红外巡检发现3个120度热点
运维·人工智能·自动化
by209992 小时前
Linux GDB 调试与 CGDB 使用
linux·运维·服务器·经验分享
小羊没烦恼!2 小时前
关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁
java·服务器·网络·学习·负载均衡
小Ti客栈2 小时前
Netty 零拷贝原理与实战
运维·服务器·网络
ai_coder_ai2 小时前
AIOps 智能运维架构设计及其应用
运维
静以修身zzz2 小时前
计算云服务
运维·网络·云计算
星恒随风2 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip