[树莓派]搭建NAS存储

首先,你需要:

树莓派,移动硬盘,带有供电功能的USB分线器(Ps:一张SD卡也是可以的)

只用一个硬盘,也可以搭建分享文件的网络存储器,但是用两个硬盘,就可以设置数据备份,以防有一个硬盘坏掉。

 

Step 1:准备硬盘

最初的步骤是在台式机上格式化硬盘。这是为了方便,如果出了问题,我们可以把硬盘从NAS上拔下来,还可以在一台PC上读上面的数据。

可以在树莓派上格式化,但是会花上几个小时,从台式机上格式化会快很多。现在就去做吧。

设置SSH,开启root用户,首先为root用户设置密码:

(输入你的密码)

然后在命令行下面运行raspi-config脚本,可以用sudo命令,也可以注销当前用户,然后以root用户的身份登陆。在高级选项菜单中,开启SSH。

重启后,你应该可以从联网的另一台机器登陆(如果在windows上,可以使用Putty):

登陆之后,搞清楚插上去的硬盘在/dev下面的编号是什么。下文假设使用两个硬盘,创建数据备份。输入

会显示出已经挂载的存储设备。你应该看到类似于这样的画面:

/dev/mmc是树莓派系统的分区,mmc指的是SD卡。/dev/sda1和/dev/sdb1和SD卡没有关系,这些是你插上去的USB硬盘(本意是SCSI驱动器,但是现在用来指任何SATA口的或其他存储器)

安装ntfs-3g模块,于是我们就能读写NTFS格式的硬盘了。

然后创建一个目录,以这个目录作为挂载点挂载硬盘。为简单起见,下文用1和2来指代。

 

Step 2:Samba

下一步我们来设置Samba。Samba是Windows使用的网络文件共享协议:

如果你不熟悉这类配置文件,行首的#表示这一行是注释,于是这一行的配置也就不会生效。要开启一项功能,可以自己添加一行,也可以把某一行前面的注释符号去掉,让它生效。


如果你不需要配置密码,可以略过下面的步骤,参考[树莓派]Samba实现无密码访问


我们先来启动用户安全;按下Ctrl+W然后输入”security”,来找到相关的选项。去掉这一行前面的注释符号:

然后,移动到文本末尾(或者按住Ctrl+V直到移动到了末尾),添加网络共享,数目取决于你自己的需求。使用这种格式:

只有第一块硬盘的配置——之后我们将用第二块硬盘和第一块同步,以进行备份。

完成编辑之后,按下Ctrl+X然后按y来退出。

然后用下面的命令重启Samba。

现在给你的树莓派添加一个用户,假设你不想用同一个用户来访问(下文的”usermane”是用户名)

输入下面的命令给新用户设置密码,完成后确认。

然后我们把这个用户加入到Samba中。你需要两次确认你的密码。

然后就去测试网络存储功能吧,应该可以在其他机器上看到了(Windows或Mac),而且你应该可以往上面写入文件。

现在还剩一个问题,你重启树莓派,驱动器的挂载就会失效。为了解决这个问题,我们需要安装autofs。

现在就可以安全重启,不会破坏配置了。

 

Step 3:数据备份(如果你有两块硬盘的话)

如果你安装了两个硬盘,我们现在就可以用一个脚本来同步数据,如果一块硬盘坏了,还有一份备份的。我们用rsync来做备份。

linux下面的crontab是用来自动运行某个任务的一个软件。加上这一行:

数字的格式是这样子的:
分钟|小时|一个月中哪一天|月份|一个星期中哪一天

所以我们加进去的那一行,rsync命令会在每天的早晨5点30分运行(*通配符表示“所有”,所以会在“每个月的每一天”运行)

如果你想立刻进行一次备份,只要粘贴这个rsync的命令:

取决于共享文件夹里放的东西,耗费的时间可能只要几秒钟,也可能会长一些,在完成之后会给你一个报告。rsync最棒的地方在于它会记录哪些文件更新了,哪些文件添加近来或是应该被删除。你可以再试一遍那个命令,应该立刻就会完成的,因为rsync知道没有文件发生了变动。

虽然自建的NAS没有市面上的产品特性多,但是毕竟树莓派的功耗是非常小的。


2016.7.21 更新:

debian下samba的服务名为smbd 对应的服务名注意修改,否则可能出现Failed to start samba.service: Unit samba.service is masked.的错误

0 条评论
发表一条评论