在 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_idsecret_access_key

  6. region 选择 auto

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

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

2. 配置 Minio

  1. 输入 n,名字起为 minio

  2. 类型选择 s3

  3. 提供商选择 Minio

  4. 输入你的 access_key_idsecret_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 强制卸载。

相关推荐
晓晓_za89866811 小时前
开源 GEO 优化源码二次开发:贴牌改造与业务模块扩展实践
java·运维·服务器·开发语言·性能优化·开源
SCandL15211 小时前
k8s service
linux·容器·kubernetes
云计算DevOps-韩老师12 小时前
【MySQL运维DBA】【SQL基础系列002篇】
运维·mysql·dba
云贝教育-郑老师12 小时前
【麒麟服务器系统交付:一个DBA的六年信创实战笔记】
服务器·笔记·dba
DBA大董12 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
会飞的土拨鼠呀12 小时前
Linux的存储使用率应该如何计算
linux·运维·服务器
Elastic 中国社区官方博客13 小时前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch
aaaBsBsBsB13 小时前
k8s pod管理
运维·docker·容器
weixin_5112552114 小时前
NGINX常用配置
linux·服务器·nginx
志栋智能14 小时前
迈向真正的超自动化巡检
运维·自动化