目录
一、电脑端的 NAS 部署与测试(syncthing)
二、树莓派部署 24H 不间断运行 NAS——作为主同步服务端器(syncthing)
三、扩展的同步拓扑
四、代码同步的选择(GIT/SVN/NAS)
五、适用于个人
需求(按重要性排序):
跨平台
自动备份
数据安全(非云盘同步,最近云盘数据安全事件频发,优先考虑本地同步)
有版本控制(代码文件)
流量、容量不限(受限于自身的硬盘空间,这可以扩展)
管理同步文件方便
稳定性好
速度要快
开源免费
…
背景:
坚果云用了有两三年的时间,也用爽了,免费版不限空间,但限制流量(每个月1G上传,3G下载)有多个系统版本可供下载,同步根据文件夹来同步,不管小文件、大文件的同步,都很有效率,但是最近随着需要同步的内容越来越多,发现时常见到坚果云一直在扫描、分析,比较耗费时间,当然还有另外一个选择,面对企业用的亿方云,也是挺好用的。不想折腾的可以考虑用这两个软件之一来用作文件NAS(受限于免费版的空间与流量,都不适合当作媒体NAS,但是适合做文档、代码NAS)。
基于目前的收入≈生存支出的尴尬情景,还未能实现真正的黄焖鸡自由,暂且忍住不买专业版,恰逢发现了 syncthing ,感觉有种相见恨晚,syncthing 是一个开源的云端同步工具,源码/release版本都可以在github上下载下来。这里是 syncthing 的 github 下载页面
NAS 介绍
摘自百度百科,简单来说就是有两个常用基本功能:1、存储数据;2、共享(同步/备份)
一、电脑端的 NAS 部署与测试(syncthing)
在操作之前,若两台电脑不在身边的话,可以考虑先安装一个 TeamViewer 来远程控制,贼好用噢。
(为了区分电脑A和电脑B,下面描述用家里的电脑与远端电脑,远端电脑将通过 TeamViewer 来连接)
去 github 下载电脑端的 syncthing 安装包 下载页面同上(下载页面)。
找到 syncthing-windows-amd64-v1.4.2-rc.1.zip下载到本地(下载最新就好)
解压打开,运行有且仅有一个exe文件。选是或否都OK,这里不会上传敏感数据,就选是了。
这是家里的电脑第一次运行,自弹出来的 web UI 设置界面。
这是远端的电脑,已经提前运行过,并添加过一台小米8(局域网下)测试。
现在需要将两台电脑连接起来 ,此处两电脑是处于 非内网 (公网)连接。
随便一台电脑选择添加远程设备,这里就选用家里的电脑去添加远端电脑。
首先在远端电脑,选择 Web UI 右上方的 操作,显示 ID
复制图片红框内ID号
在家里的电脑,添加远程设备,输入远端电脑的 设备ID
这里说下第二个栏目,“共享”,有三个设置项
作为中介:如果已经在2台设备上已经有同步的文件(或建立连接)。那么在添加第三个设备的时候勾选了作为中介,这个时候,新添加的设备就会将所有的“除自己外”的设备都添加到他自身的“远程设备”里。(有点拗口,可以自己感受下)
自动接收:不建议勾选,因为不是每一个同步的文件夹,都想要接接收下来,将主动权放在自己手上,有新文件夹同步时,在确认是否添加,若不想每次手动选择,也可以将这个勾选上。
共享指定文件夹:就是大家约定共享的默认文件夹,可以不勾,自己添加想要共享的文件夹。
点击保存,此时,在远端设备上,会弹出一个确认的消息框,(会根据网络情况,有所延时,可以刷新一下)点击 “添加设备”
到了这一步,就可以选择一个共享文件夹了,点击添加文件夹,填上想要共享的文件夹。
选择共享,勾选想要共享的设备(这里需要勾选远端的电脑,才能将文件同步过去),版本控制按照需要来选,若是存放音视频文件,可以不用勾选,若是存放文档、代码等可迭代修改的,建议选择版本控制。
同样,在远端电脑的 Web UI 会弹出一个提示框,同步该文件夹就勾选添加,选择路径,不想同步就直接点忽略。
测试同步效果
在远端电脑往同步文件夹丢几个视频看看同步效果(同步方向:远端电脑——>家里的电脑)。受限于家里 渣渣的59元20M宽带,只有2.85MB/s,换算过来也有22.8Mbps的传输速率,因此也是跑满带宽的,家里有百兆/千兆光纤的可以测试下哦,说不定有惊喜噢。
反过来,在家里的电脑,往同步文件夹丢点内容,远端电脑也同样会下载到它本地同步文件夹内。
至此,个人的NAS服务已经打通,接着就可以愉快的新建同步文件夹,并且实现多设备同步啦。
二、树莓派部署 24H 不间断运行 NAS——作为主同步服务端器(syncthing)
选用树莓派的主要原因有:
(1)这块树莓派处于吃灰的边缘,需要好好利用起来;
(2)功耗低(租房电费1.3/度,长期运行必须考虑功耗),考虑到网速关系,决定将树莓派放在家里,家里的电脑与树莓派在局域网的同步较快,同步到远端可以等树莓派慢慢同步(补充:后面测了下功耗,是真的很低,闲时挂机 5V 0.26A 1.3W,有同步任务时 5V 0.67A 3.35W,拿个5V1A的闲置手机充电头给树莓派供电,妥妥的)。
(3)没有旧电脑,有的话就会选择黑群晖了,也相当于免费(等现在这台退休就有了)。
下图是配置完成后,继续丢角落头24H带电吃灰的树莓派(外壳还在路上- -。)
好了废话不多说,开始正文。
首先,要安装好树莓派系统,可以参考我的博文来手把手教你烧录树莓派系统,并且完成基本配置。——> 树莓派——完整烧录及配置过程(超详细)<——
查看树莓派系统位数,返回值就是系统位数。
getconf LONG_BIT
去 github 下载树莓派的 syncthing 安装包 ,展开 Assets 找到 syncthing-openbsd-arm-v1.4.2-rc.1.tar.gz ,右键复制链接地址,修改下面的wget(这个软件更新比较勤快,你们可以直接找到最新的来下载,方法一样)
执行下面命令下载 syncthing
mkdir ~/syncthing
cd ~/syncthing
wget https://github.com/syncthing/syncthing/releases/download/v1.4.2-rc.1/syncthing-openbsd-arm-v1.4.2-rc.1.tar.gz
1
2
3
(如果树莓派下载太慢的话,可以在电脑下载好,用ssh传过去)
执行解压命令,增加执行权限,并运行一次(运行后才能生成配置文件)
tar -zxvf syncthing-linux-arm-v1.4.2-rc.1.tar.gz
cd syncthing-linux-arm-v1.4.2-rc.1/
chmod +x syncthing
./syncthing
1
2
3
4
运行信息如下:
因为树莓派不打算接显示器与鼠标键盘,为了能够在其他局域网内的电脑来访问树莓派的Web页面,需要开放IP出来让局域网的其他电脑来连接并设置。
sudo nano /home/pi/.config/syncthing/config.xml
1
重新运行 syncthing
./syncthing
1
在电脑端浏览器输入 树莓派ip:8384 访问 WEB UI 界面
按照提示,需要修改密码,点击设置,选择“图形用户界面”,输入用户名和密码,为了方便记忆,可以直接用树莓派的用户名和密码就行。
如果你有公网IP(或部署到云服务器),或只需要在内网操作,那么可以将连接选项里 启用NAT遍历 和 全球发现 关闭,如果想接入外网,通过外网进行同步,又没有固定公网IP,那么需要将这两个选项打开
保存后需要重新连接登陆 pi 的 syncthing 网页,输入账号密码登陆即可回到之前页面。
OK,完成设置后,可以根据上一节的方法来对树莓派进行相同的设置,直到同步成功。
好了,来到这一步,需要在之前的基础上,修改一下同步的路径(数据同步的方向),由于树莓派是24H不间断运行,因此就用它来做同步的主NAS(即树莓派上的内容,会一直保持最新),此时我们需要断开设备间的同步。操作步骤如下:
1、树莓派上的远程设备选项设置:对所有远程设备都共享需要的文件夹
2、其他设备上的远程设备选项设置:只用在远程设备选项里设置下同步树莓派的文件夹。
上一步骤的图示如下:
设置完后,就可以愉快地添加真正需要同步的文件夹啦。
(1)文件夹下的 “同步完成” 代表着 syncthing 的本地同步状态已就绪,可以向远端设备进行同步(这里是树莓派)
(2)远端设备下的 “同步完成” 代表着在远端已经下载好最新的文件,本地与远端的文件对比一致。
(3)如果此时在其他远端设备上进行同步,将会从树莓派上下载最新的文件到本地文件夹内。
三、扩展的同步拓扑
在下一篇文章里《手把手教你搭建入门级免费私有云盘NAS——基于syncthing——扩展篇》将展示如何利用云服务器,搭建专用共享网络,来替代全球发现,提高同步的速率。
最终的拓扑图如下:
四、代码同步的选择(GIT/SVN/NAS)
下述纯粹是个人使用感受,不属于工具好坏的比较(工具都是好用的)
SVN 的方法比较适合不同项目,不同版本,但是功能已经较为完善的代码或文档来同步。
GIT 与 SVN实际使用起来类似,也是需要commit-push操作才能同步,与svn比起来却要方便一些,也好用一些。
NAS 代码同步,对于小型项目的文件、学习过程中随时敲打的代码、未能形成版本的零碎源码文件、突发奇想临时写出来的文件,甚至是觉得好笑的段子/小片子,等等都可以同步到NAS,并且在其他设备上可以随时查看与编辑,关键是这么好用还不限量不限速不收费!
总结:所以三种方法都各有好处与用途,对于需要以项目来区分并控制版本的,我会选用SVN/GIT,对零碎个人文件、不需要严格版本控制的同步临时代码文件、音视频及图片、我会选用NAS同步。
五、适用于个人
该文章分享的方法适用于个人/家庭的文件同步,如果多人协作的代码/文档开发,请选用svn或git,不然文件冲突不好处理。这里是默认了只有一个人在使用文件时,不会在2台以上设备同时打开并写一个文件的情况。
举个栗子,就是你在公司写的文档,走之前保存关闭,回到家能够打开能够继续在公司离开前的编辑,同样第二天到公司后,能够继续昨晚在家睡觉前的编辑。而当然你不会在同一时间在家和公司编辑同一文件,这样会有文件冲突,就需要先同步一份(其实git同理也是如此,只不过不用手动push)。
至此,一个入门级免费个人私有云盘NAS已经搭建完毕。已经足以应对日常使用,更多的高级使用技巧请参考下文
《手把手教你搭建入门级免费私有云盘NAS——基于syncthing——扩展篇》
————————————————
版权声明:本文为CSDN博主「Mr-Ma Technology」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_29225913/article/details/105376000