体育外围

當前位置: 首頁 > 教程 > 心得 > 聊一聊Rclone掛載那些事兒

聊一聊Rclone掛載那些事兒

發布于:2020-12-27 心得 0條評論 2,668 views
如需VPS代購、PHP開發、服務器運維等服務,請聯系博主QQ:337003006

Rclone是一個命令行程序,支持Windows、Linux、MacOS等多種系統,可掛載多達40多種網絡存儲,一款不可多得的掛載神器,用這篇文章來聊一聊Rclone的一些說明和注意事項。

安裝Rclone

這篇文章以CentOS 7為例,下面命令均在CentOS 7執行。Rclone使用Golang進行開發,官方已經編譯好二進制包,安裝非常簡便,執行如下一條命令即可:

#安裝Rclone
curl http://rclone.org/install.sh | sudo bash

如果是生產或者比較重要的環境,建議創建一個單獨的用戶來運行Rclone,這篇文章不做詳細介紹。安裝完成后,執行命令rclone -V查看當前版本:

[[email protected] ~]# rclone -V
rclone v1.53.3
- os/arch: linux/amd64
- go version: go1.15.5

機器配置

我們通常的做法,一般是在VPS小雞上安裝Rclone并掛載各種云存儲(如OneDrive),這篇文章不對配置存儲做介紹(假設您已經添加好存儲)。Rclone通過網絡掛載方式將云存儲掛載到本地機器,既然是通過網絡掛載,性能和穩定性自然比不上本地磁盤。

另外在使用過程中可能還會發現Rclone占用CPU、內存過高等情況,這個和機器本身性能以及Rclone配置有一定關系,如果是個人使用,建議的及其配置為:

  • CPU:2核
  • 內存:1Gb以上
  • 磁盤:不低于30Gb

掛載參數

Rclone掛載依賴于fuse,因此需要先安裝:

#CentOS 7安裝fuse
yum -y install fuse

這里我已經掛載了OneDrive存儲,并將名稱命名為od,可通過rclone listremotes命令查看到:

[[email protected] rclone]$ rclone listremotes
od:

Rclone配置文件位于$HOME/.config/rclone/rclone.conf,其中$HOME為用戶家目錄。

[[email protected] ~]$ ls -l $HOME/.config/rclone/rclone.conf
-rw------- 1 rclone rclone 1876 Dec 27 18:32 /home/rclone/.config/rclone/rclone.conf

Rclone緩存目錄位于$HOME/.cache/rclone,如果您服務器掛載了額外的磁盤,建議將這個目錄做軟連接到非系統盤,避免Rclone使用中占用較多的系統磁盤。

下面我直接用自己的掛載命令來做說明:

#一條完整的Rclone掛載命令
rclone mount od:/file /data/wwwroot/xxx --allow-other --attr-timeout 5m --vfs-cache-mode full --vfs-cache-max-age 24h --vfs-cache-max-size 10G --vfs-read-chunk-size-limit 100M --buffer-size 100M --daemon

別被上面一串命令嚇到,我們來拆分下,發現還是非常簡單的:

  • rclone mount:是rclone掛載命令
  • od:/file:上面已經提到,xiaoz提前配置好了OneDrive,并將名稱命名為odod:/file則是OneDrive上的路徑
  • /data/wwwroot/xxx:為本地文件夾路徑(建議為空目錄)
  • --allow-other:指的是允許非當前Rclone用戶外的用戶進行訪問
  • --attr-timeout 5m:文件屬性緩存,(大小,修改時間等)的時間。如果小雞配置比較低,建議適當提高這個值,避免過多的和內核交互,占用資源。
  • -vfs-cache-mode full:開啟VFS文件緩存,這樣可減少Rclone與API交互,同時可提高文件讀寫效率
  • --vfs-cache-max-age 24h:VFS文件緩存時間,這里設置的24小時,如果文件很少更改,建議設置更長的時間
  • --vfs-cache-max-size 10G:VFS文件緩存上限大小,建議不超過當前空余磁盤的50%
  • vfs-read-chunk-size-limit 100M:分塊讀取大小,這里設置的是100M,可提高文件讀的效率,比如1G的文件,大致分為10個塊進行讀取,但與此同時API請求次數也會增多
  • --buffer-size 100M:內存緩存,如果您內存比較小,可降低此值,如果內存比較大,可適當提高
  • --daemon:指后臺方式運行

了解了上面參數含義后,便可根據小雞的配置來適當調整,以免Rclone發生CPU、內存莫名使用過多,而不知所措。更多參數說明,可參考官方文檔:

取消掛載

通常情況,直接使用umount命令取消掛載即可:

#/path/to/local/mount為掛載目錄
umount /path/to/local/mount

或者使用fusermount

fusermount -u /path/to/local/mount

如果提示磁盤繁忙,只能暴力kill殺掉進程了,命令為:

#kill殺掉進程
pgrep 'rclone'|xargs kill -9
#再次取消掛載
umount /path/to/local/mount

總結

  • 比較重要的環境,建議單獨創建rclone用戶來運行
  • Rclone緩存目錄建議設置為非系統分區(/
  • 如果機器配置較低,請降低文件緩存和內存緩存
  • 建議添加--allow-other參數,否則可能發生部分程序不可讀(無權限)的情況

Rclone可讓小雞秒變大盤雞,但是也得合理配置參數,讓其發揮出最佳性能,切記不要網上盲目復制粘貼參數,否則效果可能并不理想。

以上是xiaoz個人Rclone配置整理,并不代表最佳配置,僅供參考,如有不足或錯誤,還請留言指正。

Rclone官網:


發表評論