rclone はクラウドストレージや SFTP 越しのリモートをローカルにマウントできるツール。
研究サーバー(SFTP、ProxyJump 越し)のディレクトリを Mac のローカルディレクトリとして扱いたいときに使っている。
pixi でのインストールと、macOS で速度を出すためのマウントオプションをまとめる。

pixi で入れる

バイナリは pixi の global 環境で管理できる。

pixi global install rclone

macOS では fuse や fuse-t という仕組みでリモートをマウントできる。
ただし conda-forge 版 rclone には mount コマンドが入っていない(FUSE 非対応ビルド)ので、rclone mount による fuse-t 経由のマウントは使えない。

代わりに、conda-forge 版にも入っている nfsmount を使う。
これは rclone 自身が NFS サーバを立て、それを macOS 標準の NFS クライアントでマウントする方式。 fuse-t が内部でやっているのも同じ NFS 方式なので、nfsmount を使えば fuse-t 自体が不要になる。
config(~/.config/rclone/rclone.conf)は mount とそのまま共用でき、remote の定義を作り直す必要はない。

一番シンプルなマウントはこう書ける(ただし後述のとおりロードが遅いので、実際にはオプションを足す必要あり)

rclone nfsmount server: ~/mnt/server --vfs-cache-mode writes --daemon

アンマウントは NFS なので umount

umount ~/mnt/server

失敗する

マウント先のファイルがないときには以下のエラーが出る?

2026/07/03 10:41:39 ERROR : Daemon timed out. Failed to terminate daemon pid 24902: os: process already finished
2026/07/03 10:41:39 CRITICAL: Fatal error: daemon exited with error code 1

daemon 化すると失敗の原因がはっきりと出ないので修正が困難な時がある。その時には daemon 化をやめて -vv をつけるとよい。

リモートのファイルを確認だけしたいとき

--read-only をつけると書き換えてしまうことがなくなるので安全。

rclone nfsmount server: ~/mnt/server --vfs-cache-mode writes --daemon --read-only

読み込みが遅いとき

デフォルト設定の nfsmount は異常に遅い。実測で 100MB の読み込みに 11 分(≒0.16 MB/s)かかったこともある。

このとき nfsmount が悪いと思って fuse-t に戻しても直らない。fuse-t も同じ NFS 方式なので同じ症状が出る。
真の原因は VFS キャッシュと先読みの設定不足 にある。
macOS の NFS クライアントは 32KB 単位の同期 read を投げる。設定なしだと、この 32KB ごとに毎回リモートまで往復してしまう。
特に SFTP + ProxyJump 越しだったりすると 1 往復のコストが大きく、これが積み重なって遅くなる。

対策は「大きめに先読みして VFS にキャッシュさせる」と「NFS の read/write サイズを広げる」の 2 方向。
以下のオプションで 0.16 → 8.3 MB/s(約 50 倍、rsync とほぼ同等)まで改善した。
一度キャッシュに乗った領域の再読み込みは瞬時になる。

普段使っているマウントコマンドはこれ。

rclone nfsmount server:/path/to/dir ~/mnt/server \
  --vfs-cache-mode full --vfs-read-ahead 1G --buffer-size 32M \
  -o rsize=131072 -o wsize=131072 -o readahead=128 -o dsize=131072 \
  --daemon

各オプションの意味は次のとおり。

  • --vfs-cache-mode full:読み書きを全面的にローカルキャッシュ経由にする。これが一番効く。
  • --vfs-read-ahead 1G:VFS 層での先読み量。細切れの同期 read が来ても、裏で大きくまとめて取ってくる。
  • --buffer-size 32M:各ファイルオープンごとにメモリへ先読みするバッファ。
  • -o rsize=131072 -o wsize=131072:NFS の 1 リクエストあたり read/write サイズを 32KB から 128KB に拡大し、往復回数を 1/4 にする。
  • -o readahead=128:NFS クライアント側の先読みブロック数。
  • -o dsize=131072:ディレクトリ読み込みサイズ。
  • --daemon:バックグラウンドで動かす。

一括ダウンロードとの使い分け

マウントはその場で少しだけ触りたい用途に向く。
数 GB 単位でまとめて落とすなら、マウント経由(≒8 MB/s)よりも rsyncrclone copy で直接取ってくる(≒25 MB/s)ほうが速い。

rclone copy server:/path/to/dir ./dir

用途で使い分ける。

  • リモートを常時マウントして雑多に読み書きするなら nfsmount(上のチューニング必須)。
  • 大きな成果物を一括ダウンロードするなら rclone copy

GNU Parallel と組み合わせて、複数リモートから並列に copy させることもできる。