在 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 强制卸载。

相关推荐
小π军5 小时前
操作系统面试题
java·linux·服务器
倔强的石头1065 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
Lsetea6 小时前
curl用IP测试HTTPS报证书不匹配:--resolve与Host头别混用
linux·https·ssl证书·openssl·curl
Hao2856 小时前
Windows11 下把 WSL2 Ubuntu 26.04 装到 D 盘完整
linux
Android系统攻城狮6 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_samples_min调用流程与实战(六十)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
_upupup7 小时前
Linux中的自动化构建——make/Makefile
linux·运维·自动化
HEJOO97 小时前
Linux 设备驱动系列——使用全局工作队列
java·linux·算法
还卿一钵无情泪7 小时前
Docker 部署Unsloth 绕开环境配置难题
运维·人工智能·docker·ai·容器·nlp·干货
slimer8 小时前
07.进制转换上篇:位权展开与十进制互转
linux
顺风尿一寸8 小时前
手写迷你 Docker:用 Namespace + Cgroup v2 实现一个简单容器
linux