首页 > 其他分享 >群晖NAS挂载AWS S3存储桶

群晖NAS挂载AWS S3存储桶

时间:2023-04-25 12:03:42浏览次数:69  
标签:配置文件 rclone S3 AWS NAS -- docker

前言

NAS上本身有很多备份同步套件,云存储用的比较多的是cloud sync,如图,支持多家厂商的云存储同步备份

[cloud sync套件](/i/li/?n=2&i=images/202304/e55ae77638eedf0dedc620be491d61f141a136.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=,x-oss-process=image/resize,m_fixed,w_1184)

但cloud sync存在一些局限性,比如本地删除后云端会同步删除(这个应该可以设置单向备份),另外不能随时进行恢复。从而会导致NAS上的数据越来越多,磁盘也越来越满。。。

如果想要只备份到S3上,NAS上不保存数据,而且需要随时恢复文件的话,可以考虑另一种方式:rclone

在NAS上有两种方式使用rclone:

  • 通过docker创建rclonebrowser镜像
  • ssh登录nas后台直接使用rclone

群晖NAS使用rclone

通过docker创建rclonebrowser容器

关于docker的使用就不在此概述了,网上资源很多,本人掌握的也比较浅,有描述不对的也请指正。

创建容器并配置参数

  1. NAS—套件中心—Dokcer

群晖NAS挂载AWS S3存储桶_S3存储

  1. 注册表里搜索rclone,我这里使用的是romancin/rclonebrowser,选latest最新版就好。rclonebrowser是带web界面的。
    其他两个我都试了,启动不成功,不知道是不是配置参数错了,就不深究了。。。

群晖NAS挂载AWS S3存储桶_S3存储_02

  1. 下载完成后在映像里启动。点击高级设置,设置映射的文件夹

群晖NAS挂载AWS S3存储桶_NAS_03

端口可以保持默认,5800和5900,如果与NAS本机有冲突,需要选择其他端口。我这里用的是5802和5902

群晖NAS挂载AWS S3存储桶_S3存储_04

添加环境变量,TZ:Asia/Shanghai,其余可以保持不动

群晖NAS挂载AWS S3存储桶_NAS_05

点击完成,启动即可

群晖NAS挂载AWS S3存储桶_NAS_06

配置rclone

容器启动后需要配置rclone的参数的,这里涉及到一个配置文件,rclone.conf,可以从其他地方拷贝至/docker/test2/config/xdg/config/rclone,这是我的配置路径,不要完全复制了。

另外可以通过命令行创建配置文件。

拷贝配置文件

这是我的配置文件,可以新建一个rclone.conf文件,然后把以下内容复制进去,修改成自己的,再拷贝到配置文件夹下就可以了

[test]
type = s3
provider = AWS
access_key_id = xxxxxxxxxxxxxxxxxxxxxxxxx
secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxx
region = cn-northwest-1
storage_class = STANDARD
acl = private
通过命令行创建配置文件

容器原有的终端是不能敲命令的,只能新建一个窗口。

终端机—新增 以命令行启动—sh,使用sh shell

群晖NAS挂载AWS S3存储桶_NAS_07

群晖NAS挂载AWS S3存储桶_S3存储_08

执行rclone config

群晖NAS挂载AWS S3存储桶_S3存储_09

我这里已经有一个配置文件,可以输入n新建一个配置文件,然后根据提示输入对应选项就可以了

以上是通过web界面创建docker容器,还可以通过命令行创建,以下是配置命令,大家根据具体情况进行替换

docker run -d --name=rclonebrowsertest2 \
--cap-add SYS_ADMIN \
--device /dev/fuse \
--security-opt apparmor=unconfined \
-p 5802:5800 \
-p 5902:5900 \
-v /volume1/docker/test2/config:/config \
-v /volume1/docker/test2/media:/media:shared \
-e GROUP_ID=0 \
-e USER_ID=0 \
-e TZ=Asia/Shanghai \
-e VNC_PASSWORD=123456 \
-e ENABLE_CJK_FONT=1 \
romancin/rclonebrowser:latest

rclonebrowser配置完成后可以通过web界面访问,IP是NAS的IP,端口则是我们配置的映射端口5802。不过还是习惯用命令行,web的操作就不在此概述了,操作起来也很简单,就是点点点。但通过web挂载的话不能手动选择bucket桶,会导致挂载失败。

群晖NAS挂载AWS S3存储桶_NAS_10

在群晖后台使用rclone

群晖底层是ubuntu的定制开发系统,不支持dpkg包管理器。但是可以到rclone官网下载包,解压后直接使用。

登录到nas后台,需要先在web界面把ssh打开,并sudo -i提权到root权限

群晖NAS挂载AWS S3存储桶_rclone_11

在rclone官网Rclone downloads,复制下载链接

群晖NAS挂载AWS S3存储桶_NAS_12

weget https://downloads.rclone.org/v1.62.2/rclone-v1.62.2-linux-amd64.zip

将安装包下载到/opt文件夹下

需要将压缩包解压,群晖NAS本身不支持unzip命令,但可以用7z命令

7z e rclone-v1.62.2-linux-amd64.zip

解压后将rclone拷贝到/bin目录下就可以直接使用了

cp rclone /bin

群晖NAS挂载AWS S3存储桶_NAS_13

一样的,敲rclone config可以新建配置文件

群晖NAS挂载AWS S3存储桶_S3存储_14

也可以拷贝配置文件,路径是/root/.config/rclone/rclone.conf

群晖NAS挂载AWS S3存储桶_S3存储_15

挂载S3存储桶作为NAS本地文件夹

配置完后我们可以测试一下是否连接成功

rclone lsd remote:
#查看S3中所有桶
rclone lsd remote:bucket
#查看S3某个桶中的所有目录

我这里查看S3桶报403了,但是查看桶中所有目录是OK的,估计是权限问题

群晖NAS挂载AWS S3存储桶_NAS_16

连接成功后即可开始挂载了

rclone mount test:xxx-xxx-nas/dev/IT /media --copy-links --allow-other --allow-non-empty --umask 000 -vv --log-file=/
tmp/debug.log

这是我的挂载命令,remote和bucket的名称大家自行修改。挂载完之后在NAS中已经可以看到S3里的文件

群晖NAS挂载AWS S3存储桶_NAS_17

挂载成功后便可下载,删除,S3桶里的文件了。有小伙伴会问了,没有上传或新增吗,是可以的,但貌似只能通过命令执行,通过GUI会报错,如下:

通过命令行成功

群晖NAS挂载AWS S3存储桶_NAS_18

通过GUI界面报错

群晖NAS挂载AWS S3存储桶_rclone_19

日志里会提示找不到这个文件或文件夹

群晖NAS挂载AWS S3存储桶_S3存储_20

所以这就很操蛋了,折腾了很久....无解。google里有很多说这个Bug的,guthub上也有人提了,无奈。。。不折腾了,具体大家可以去看看

https://github.com/rclone/rclone/issues/4046

群晖NAS挂载AWS S3存储桶_NAS_21

总结

群晖NAS可以成功挂载S3到本地文件夹,但是上传/新增功能有限,对于小白来说可能稍显困难。其他厂商的配置应该大同小异。有问题的各位友友们可以留言,看到会及时解答。

本人技术能力有限,如果文中有描述错误的,请及时指正,谢谢。

标签:配置文件,rclone,S3,AWS,NAS,--,docker
From: https://blog.51cto.com/u_12764984/6223714

相关文章

  • ESP32-S3 FLASH 操作
    FLASH读取操作整个分区的读、写、擦除#ESP-IDFPartitionTable#Name,Type,SubType,Offset,Size,Flagsnvs,data,nvs,0x9000,0x4000,otadata,data,ota,,0x2000,phy_init,data,phy,,0x1000,key_data,0x4......
  • CSS3: 利用分层动画让元素沿弧形路径运动
    译者注:部分代码示例中可以看效果(作者写在博文里面了…),我偷懒把它做成Gif图了。 CSS的animations(动画)和transitions(变换)擅于实现从点A到点B的直线运动,运动轨迹是直线路径。给一个元素添加了animation或者transition以后,无论你如何调整贝塞尔曲线,都无法让它沿着弧形路......
  • 从 aws 读取一个文件
    useclap::{Arg,ArgAction,Command};usefuser::{BackgroundSession,MountOption,Session};usemountpoint_s3::fuse::S3FuseFilesystem;usemountpoint_s3::S3FilesystemConfig;usemountpoint_s3_client::{S3ClientConfig,S3CrtClient};usemountpoint_s3_crt::co......
  • mac安装并配置nexus3.5.1版本
    一、安装nexus前置条件:已经安装了JDK1:下载nexus(http://www.sonatype.com/download-oss-sonatype)最新版本(我的是3.5.1).2:解压下载文件,我的放在了/Users/xxx/myApp下3:配置环境变量:打开/etc目录,在profile文件中加入:NEXUS_HOME="/Users/xxx/myApp/nexus-3.5.1-02-mac/nexus-......
  • 11-CSS3属性详解(一)
    title:11-CSS3属性详解(一)publish:true前言我们在上一篇文章中学习了CSS3的选择器,本文来学一下CSS3的一些属性。本文主要内容:文本盒模型中的box-sizing属性处理兼容性问题:私有前缀边框背景属性渐变文本text-shadow:设置文本的阴影格式举例: text-s......
  • 12-CSS3属性详解:动画详解
    title:12-CSS3属性详解:动画详解publish:true前言本文主要内容:过渡:transition2D转换transform3D转换transform动画:animation过渡:transitiontransition的中文含义是过渡。过渡是CSS3中具有颠覆性的一个特征,可以实现元素不同状态间的平滑过渡(补间动画),经常......
  • 13-CSS3属性:Flex布局图文详解
    title:13-CSS3属性:Flex布局图文详解publish:true前言CSS3中的flex属性,在布局方面做了非常大的改进,使得我们对多个元素之间的布局排列变得十分灵活,适应性非常强。其强大的伸缩性和自适应性,在网页开中可以发挥极大的作用。flex初体验我们先来看看下面这个最简单的布局:......
  • 14-CSS3属性详解:Web字体
    title:14-CSS3属性详解:Web字体publish:true前言开发人员可以为自已的网页指定特殊的字体(将指定字体提前下载到站点中),无需考虑用户电脑上是否安装了此特殊字体。从此,把特殊字体处理成图片的方式便成为了过去。支持程度比较好,甚至IE低版本的浏览器也能支持。字体的常见格......
  • 17-CSS3的常见边框汇总
    title:17-CSS3的常见边框汇总publish:trueCSS3常见边框汇总<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>CSS3边框</title><style>body,ul,li,dl,dt,dd,h1,......
  • 使用cistrome BETA整合ChIPseq和RNAseq
     写在前面:在获得同一个样本多种测序数据后,一个自然的目标就是整合,general的问题就是:表观是如何影响转录的?基本的数据种类:TFbinding,ChIP-seq和Cut&RunHistoneprofile,ChIP-seq和Cut&RunOpenchromatin,ATAC-seqGeneexpression,RNA-seq具体的问题就是:表观转录调控是如......