小硬盘的福利--使用rclone挂载云存储

本文于703天之前发表,文中内容可能已经过时。如有疑问,请在评论区留言。

背景

  很多情况下,我们部署Kodcloud的服务器硬盘空间是有限的,想要找到一款速度好空间大又廉价的服务器也不容易,所以时常听到要求Kodcloud尽快支持云存储的需求。在KOD团队开发出完善的云存储支持之前,我先在此介绍一个小工具满足大伙的临时之需——rclone.

介绍

  rclone是一款用来同步文件的命令行工具,支持非常多的存储,比如各大网盘,onedrive,google drive.dropbox….此外还支持FTP.SFTP,非常强大,完整的存储支持列表如下:

  • Amazon Drive
  • Amazon S3
  • Backblaze B2
  • Box
  • Ceph
  • DigitalOcean Spaces
  • Dreamhost
  • Dropbox
  • FTP
  • Google Cloud Storage
  • Google Drive
  • HTTP
  • Hubic
  • Memset Memstore
  • Microsoft Azure Blob Storage
  • Microsoft OneDrive
  • Minio
  • Nextloud
  • OVH
  • Openstack Swift
  • Oracle Cloud Storage
  • Ownloud
  • pCloud
  • put.io
  • QingStor
  • Rackspace Cloud Files
  • SFTP
  • Wasabi
  • WebDAV
  • Yandex Disk
  • The local filesystem

  至于它怎么方便强大,以及相关命令的使用请各位自行去了解,在此只介绍我们Kodcloud非常需要的功能——挂载。在服务器支持fuse的情况下,我们可以将上述列表中任何存储挂载至本地,这样你的服务器就“多了一块硬盘”,而我们的kodcloud就可以像管理本地文件一样管理这个“新硬盘”了!不再废话,教程开始~

配置

  • 安装rclone

    1
    wget https://downloads.rclone.org/rclone-v1.39-linux-amd64.zip
    2
    unzip rclone-v1.39-linux-amd64.zip
    3
    chmod 0777 ./rclone-*/rclone
    4
    cp ./rclone-*/rclone /usr/bin/
    5
    rm -rf ./rclone-*

    这里我们直接下载的可执行文件,如果你想自行编译,或者你是arm的机器请去rclone官网了解相关信息.

  • 配置存储,我手上有一个2T硬盘的服务器…开启了FTP,所以在此就以FTP存储为例。

    1
    root@iiiih:~# rclone config
    2
    No remotes found - make a new one
    3
    n) New remote
    4
    s) Set configuration password
    5
    q) Quit config
    6
    n/s/q> n
    7
    name> ftp
    8
    Type of storage to configure.
    9
    Choose a number from below, or type in your own value
    10
    1 / Amazon Drive
    11
    \ "amazon cloud drive"
    12
    2 / Amazon S3 (also Dreamhost, Ceph, Minio)
    13
    \ "s3"
    14
    3 / Backblaze B2
    15
    \ "b2"
    16
    4 / Box
    17
    \ "box"
    18
    5 / Cache a remote
    19
    \ "cache"
    20
    6 / Dropbox
    21
    \ "dropbox"
    22
    7 / Encrypt/Decrypt a remote
    23
    \ "crypt"
    24
    8 / FTP Connection
    25
    \ "ftp"
    26
    9 / Google Cloud Storage (this is not Google Drive)
    27
    \ "google cloud storage"
    28
    10 / Google Drive
    29
    \ "drive"
    30
    11 / Hubic
    31
    \ "hubic"
    32
    12 / Local Disk
    33
    \ "local"
    34
    13 / Microsoft Azure Blob Storage
    35
    \ "azureblob"
    36
    14 / Microsoft OneDrive
    37
    \ "onedrive"
    38
    15 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
    39
    \ "swift"
    40
    16 / Pcloud
    41
    \ "pcloud"
    42
    17 / QingCloud Object Storage
    43
    \ "qingstor"
    44
    18 / SSH/SFTP Connection
    45
    \ "sftp"
    46
    19 / Webdav
    47
    \ "webdav"
    48
    20 / Yandex Disk
    49
    \ "yandex"
    50
    21 / http Connection
    51
    \ "http"
    52
    Storage> 8
    53
    FTP host to connect to
    54
    Choose a number from below, or type in your own value
    55
    1 / Connect to ftp.example.com
    56
    \ "ftp.example.com"
    57
    host> 91.121.94.4
    58
    FTP username, leave blank for current username, root
    59
    user> Ashin
    60
    FTP port, leave blank to use default (21) 
    61
    port> 21
    62
    FTP password
    63
    y) Yes type in my own password
    64
    g) Generate random password
    65
    y/g> y
    66
    Enter the password:
    67
    password:
    68
    Confirm the password:
    69
    password:
    70
    Remote config
    71
    --------------------
    72
    [ftp]
    73
    host = 91.121.94.4
    74
    user = Ashin
    75
    port = 21
    76
    pass = *** ENCRYPTED ***
    77
    --------------------
    78
    y) Yes this is OK
    79
    e) Edit this remote
    80
    d) Delete this remote
    81
    y/e/d> y
    82
    Current remotes:
    83
    84
    Name Type
    85
    ==== ====
    86
    ftp ftp
    87
    88
    e) Edit existing remote
    89
    n) New remote
    90
    d) Delete remote
    91
    r) Rename remote
    92
    c) Copy remote
    93
    s) Set configuration password
    94
    q) Quit config
    95
    e/n/d/r/c/s/q> q
    96
    root@iiiih:~#

    整个过程按照提示很容易操作,不再赘述。

  • 挂载
      rclone的挂载需要fuse支持,一般的KVM架构服务器都是没问题的,openvz架构的可以工单咨询要求支持,搞不搞的定就看你自己了。。。
    nohup rclone mount ftp: 本地目录 --allow-other &
      只需一条命令,其中ftp:指的是你创建存储时自定义的命名再加上冒号,上面例子中我命名就为ftp。就这么简单,现在刷新Kod网页,你就可以像在本地一样地管理文件啦。

卸载套路云“不干净”的东西

  1. 1. 背景
  2. 2. 介绍
  3. 3. 配置