如何将树莓PI改造成低功耗的网络存储设备

把一个树莓PI和少量廉价的外置硬盘混合在一起,你就有了一个超低功耗和永远在线的网络存储设备的配方。请继续阅读,我们将向您展示如何设置您自己的基于PI的NAS。

我为什么要这么做?

拥有始终在线的网络存储设备的好处是让您的数据(或备份目标)始终可供网络内外的计算机访问,这非常方便。在大多数情况下,缺点是为了方便您消耗了相当多的电力。

例如,我们的办公服务器全天候运行,每年耗电近200美元。另一方面,基于Raspberry PI的网络存储设备每年耗电约5美元。

我们将率先向您保证,一台功能齐全的服务器将拥有更大的存储空间和执行更多工作的能力(例如,在合理的时间跨度内对数TB的视频集合进行代码转换)。然而,对于大多数人来说,在家里的某个地方放置一台始终在线的计算机的主要目的是充当文件服务器和文件备份存储库。对于这样的任务,树莓圆周率是足够强大的,并将节省您的电力使用的一大块变化。

我需要什么?

本教程建立在我们上一个教程的基础上:HTG Raspberry PI入门指南,我们假设您已经完成了该教程-换句话说,您已经有了Raspberry PI,通电,连接到鼠标和键盘,并且已经在上面安装了Raspbian。

除了Raspberry PI快速入门教程中需要的设备外,您将只需要以下硬件:

一个(至少)USB外置硬盘,用于简单的网络备份和文件服务

或者 / 还是 / 即 / 否则

两个(至少)USB外置硬盘用于本地数据冗余

就这样!。如果你只想要一个简单的网络连接驱动器,你只需要一个硬盘。我们强烈建议至少使用两个硬盘,以实现本地(在Raspberry PI)数据冗余。出于本教程的目的,我们使用一对匹配的Seagate Backup Plus 1TB便携式外置硬盘。它们超小,不需要外部电源,在我们购买零部件的时候就在打折。

您可以使用手头的任何外置硬盘驱动器,但如果可能的话,最好使用小型低功耗驱动器,因为该项目的整个主题是设置一个小型、低功耗的NAS,您可以随心所欲地将其抛诸脑后。

在我们继续之前,我们在如何配置我们的Raspberry Pi NAS方面做出了一些设计选择,您应该知道这一点。虽然大多数用户希望完全按照我们所做的那样操作,但您可能希望调整特定的步骤,以更好地满足您的需求以及如何使用网络上的计算机。

首先,我们使用的是NTFS格式的硬盘。如果Raspberry Pi NAS由于某种原因出现故障,或者我们想要通过USB 3.0连接而不是通过网络快速复制信息,拥有NTFS格式的磁盘使我们可以非常简单地取出我们在NAS构建中使用的便携式USB驱动器,并将它们直接插入我们每天使用的众多Windows计算机中的一台。

其次,我们将Samba用于我们的网络共享,同样是因为Raspberry Pi NAS与我们主要的Windows网络相结合很方便。

准备并安装外部硬盘驱动器

一旦您准备好了硬件,按照Raspberry PI入门教程了解最新情况(并且正在运行Raspian),就可以开始将您的PI设置为NAS了。

首先要做的是将硬盘连接到Raspberry PI(或所连接的USB集线器,具体取决于您的配置以及硬盘是自供电还是外置)。一旦连接了硬盘并且PI通电,就可以开始工作了。

注:我们使用的是两个硬盘。如果您决定只使用一个硬盘,只需忽略本节中用于挂载/修改第二个硬盘或以其他方式与第二个硬盘交互的所有命令。

我们所有的工作都将在航站楼内进行。因此,您可以使用Raspian中的LXTerminal直接在Raspberry PI上工作,也可以使用像Putty这样的工具通过SSH进入您的Raspberry PI。哪种方式都可以。

进入命令行后,您需要做的第一件事是添加对NTFS格式化磁盘的Rasbian的支持。为此,请键入以下命令:

下载、解包和安装软件包需要一两分钟时间。一旦安装了NTFS软件包,就可以查找所连接的外部硬盘驱动器的未挂载分区了。

第一个磁盘/dev/mmcb1k0是Raspberry PI内的SD卡,其中包含我们安装的Raspbian。我们不会去管那件事的。

第二个磁盘/dev/sda是我们的第一个1TB外置硬盘。第三个磁盘/dev/sdb是我们的第二个1TB外部硬盘。我们感兴趣的这两个磁盘上的实际分区分别是/sda1/和/sdb1/。记下硬盘名称。

在可以挂载驱动器之前,我们需要创建一个要挂载驱动器的目录。为简单起见,我们将为每个驱动器创建名为USBHDD1和USBHDD2的目录。首先,我们得把车开走。在命令行中输入以下命令:

创建两个目录后,就可以将外部驱动器挂载到每个位置了。同样,在命令行中输入以下命令:

此时,我们已经将两个外部硬盘驱动器分别挂载到USBHDD1和USBHDD2目录。现在是时候在两个驱动器中添加一个特定的目录来保存我们的共享文件夹了(为了保持整洁和划分我们在驱动器上的工作)。输入以下命令:

现在是安装Samba的时候了,这样我们就可以从网络上的其他地方访问存储了。在命令行中输入:

当提示继续时,键入Y并按Enter键。当所有东西都打开并安装时,请坐下来放松。一旦Samba包安装完毕,就可以进行一些配置了。在我们做任何其他事情之前,让我们先备份一下Samba配置文件,以防我们需要恢复到它。在命令行中,键入以下命令行:

这只会创建文件名为smb.conf.old的配置文件的备份,并将其保留在与原始配置文件相同的目录中。

一旦我们创建了备份,就可以在Samba配置文件中进行一些基本编辑了。在命令行中键入以下内容:

这将打开Nano文本编辑器,并允许我们进行一些简单的更改。如果这是您第一次使用Nano,我们强烈建议您阅读Linux命令行文本编辑器Nano入门指南。您应该在终端窗口中看到类似以下内容:

Nano完全由键盘控制,请使用箭头键将光标移动到要编辑的位置。当您向下单击配置设置时,您将看到一些值得注意或更改的内容。

第一个是工作组标识符,默认情况下为WORKGROUP=WORKGROUP。如果您正在为您的家庭工作组使用不同的名称,请继续并箭头指向以立即更改该名称,否则将其保留为默认名称。

我们的下一站是为我们的samba存储打开用户身份验证,否则任何对我们网络具有一般访问权限的人(如访客Wi-Fi用户)都可以直接进入。在Samba配置文件中向下滚动,直到您看到下面的部分:

从security=user行中删除#符号(用光标突出显示并按DELETE键),以启用Samba共享的用户名/密码验证。

接下来,我们将向配置文件添加一个全新的部分。一直向下滚动到文件的最底部,然后输入以下文本:

注意:您放在顶行括号中的任何内容都将是网络共享上显示的文件夹的名称。如果您想要“BACKUP”之外的其他名称,现在是编辑它的时候了。

按CTRL+X退出,当询问是否要保留更改并覆盖现有配置文件时按Y。返回命令提示符后,输入以下命令以重新启动Samba守护进程:

此时,我们需要添加一个可以访问PI的samba共享的用户。我们将使用用户名backups和密码backups4ever创建一个帐户。您可以随心所欲地设置用户名和密码。为此,请键入以下命令:

系统将提示您键入密码两次以进行确认。确认密码后,就可以将“备份”添加为合法的Samba用户。输入以下命令:

出现提示时,输入备份帐户的密码。一旦您创建了用户帐户和密码,就不需要再次重新启动Samba守护进程,因为我们已经指示它寻找经过身份验证的用户。现在,我们可以跳到网络上任何支持Samba的机器上,并测试到网络共享的连通性。

在附近的Windows计算机上,我们打开Windows文件资源管理器,单击网络,确认主机名raspbercrypi在工作组工作组中,然后单击共享文件夹备份:

出现提示时,输入您在上一步中创建的凭据(如果您逐行跟踪,则登录名为backups,密码为backups4ever)。

一旦您的凭据被接受,您将被视为空文件夹,因为共享中还没有任何内容。为了再次检查一切是否正常运行,让我们从测试连接的计算机(在我们的例子中是Windows7桌面)创建一个简单的文件。创建一个txt文件,如下所示:

现在,通过我们一直在使用的命令行,让我们检查一下我们在Windows桌面上创建的文件是否正确显示在我们创建的共享目录中。在命令行中键入以下命令:

hello-is-me-you-are-looking.txt在目录中;我们的简单共享目录实验成功了!

在我们结束本教程的这一部分之前,我们只有一件事要做。我们需要配置PI,以便在它重新启动时自动挂载外部硬盘驱动器。为此,我们需要启动Nano编辑器并进行快速编辑。在命令行中键入:

这将在Nano中打开文件系统表,因此我们可以添加一些快速条目。在Nano编辑器中添加以下行:

按CTRL+X退出,按Y保存,覆盖现有文件。

如果您只使用单个硬盘驱动器进行简单的网络共享,而没有冗余,那么就是这样!您已经完成了配置过程,可以开始享受您的超低功耗NAS了。

配置Raspberry PI NAS以实现简单的数据冗余

到目前为止,我们的Raspberry Pi NAS已经连接到网络上,文件传输正常,但有一件事是明显的遗漏了。该辅助硬盘已配置,但完全处于空闲状态。

在本教程的这一节中,我们将使用两个简单但功能强大的Linux工具rsync和cron来配置我们的Raspberry PI NAS,以执行从主驱动器上的/Shares/文件夹到辅助驱动器上的/Shares/文件夹的夜间数据镜像。这不会是像RAID一样的实时数据镜像,但是每天(或半天)备份到辅助驱动器的数据是增加另一层数据安全性的好方法。

首先,我们需要将rsync添加到我们的Rasbian安装中。如果这是您第一次使用rsync,并且希望更好地了解该命令,我们建议了解如何使用rsync在Linux上备份数据。

在命令行中输入以下命令:

一旦安装了rsync,就可以设置cron作业来自动执行将文件从USBHDD1复制到USBHDD2的过程。在命令行中输入以下命令:

该命令将在Nano文本编辑器中打开您的cron调度表,本教程中的这一点您应该非常熟悉。请继续向下滚动到文档底部,然后输入以下行:

此命令指定每天早上5:00(第0 5部分),每一天(*,年、月、日地点中的通配符),我们希望rsync比较两个目录,将HDD1到HDD2的所有内容复制到HDD2,并删除备份目录中与主目录中的内容不再匹配的任何内容-即,如果我们删除HDD1上的电影文件,我们还希望在下次同步时将该文件从备份中删除。

有关配置此命令的重要部分是,您选择的时间不会干扰您可能已安排的共享文件夹的任何其他网络活动。例如,如果您使用Raspberry PI NAS作为某种自动软件的备份目标,该软件会在每天凌晨5点将您的文件复制到NAS,那么您需要调整备份软件中的备份时间,或者您需要调整PI上cron作业的时间-但您不能同时让远程备份将数据转储到网络共享和Raspberry PI尝试在本地驱动器之间同步该数据。

输入crontab条目后,单击CTRL+X退出并保存文件。如果您希望立即运行rsync以更快地镜像数据,并减轻初始cron作业对系统的影响,请继续在命令行中输入您在crontab中输入的相同rsync命令,如下所示:

就这样!。此时,您需要做的就是在接下来的一两天内签入Raspberry PI,以确保计划的作业按预期启动,并且来自/USBHDD1/Shares/的数据显示在/USBHDD2/Shares/中。

从现在开始,你放入树莓PI驱动的NAS的任何东西都将每天在两个硬盘上进行镜像。

在我们完全离开这个主题之前,这里是一些额外的How-to Geek文章,您可能希望查看这些文章,为您的基于Raspberry Pi的新NAS增添更多活力:

如何使用您的Ubuntu PC备份您的Gmail帐户-尽管说明是针对Ubuntu的,但您可以很容易地将它们修改为Rasbian,以便将您的Pi NAS转换为自动电子邮件备份机器。 您应该在Windows PC上备份哪些文件?-如果您不确定应该将哪些文件备份到您的NAS,这是一个很好的起点。 如何使用CrashPlan免费远程备份您的数据-CrashPlan是一款适用于Windows、Mac和Linux计算机的免费备份应用程序,可轻松安排定期备份到NAS。

有没有一个树莓派项目你想看我们承接?无论大小,我们都喜欢在评论中玩弄PI-Sound Off与您的想法。

相关文章