Anonim

网络附加存储(NAS)是使文件在家庭网络中的任何位置均可访问的好方法。 这些文件可以是文档,图片,甚至是您想一次流式传输到多个房间的媒体。 NAS服务器的行为就像普通的硬盘驱动器一样,因此可能性是无限的。

市场上有很多现成的NAS产品,但是大多数产品价格昂贵。 您可以仅使用Raspberry Pi和外部硬盘为您的家庭网络构建一个简单的NAS,并获得NAS的所有好处而无需付出疯狂的代价。

你需要什么

快速链接

  • 你需要什么
  • 速度注意事项
  • 刷新您的MicroSD
  • 连接一切
  • 设置树莓派
    • Raspberry Pi配置
    • 连接到WiFi
    • 通过SSH连接
    • 硬盘
  • 配置NFS
  • 配置Samba
  • 连接到您的NAS
    • NFS
    • 桑巴舞
      • 视窗
      • 的Linux
  • 总结思想

在开始之前,需要完成一些事情来设置NAS。

  • 树莓派3
  • Class 10 MicroSD卡(首选16GB以上)
  • 覆盆子皮套
  • 带AC适配器的Micro USB充电器
  • 鼠标,键盘和显示器(仅适用于安装程序)
  • SD / MicroSD读卡器,带适配器(如果需要)
  • USB外置硬盘

要么

  • USB硬盘驱动器机箱和内部硬盘驱动器

速度注意事项

请记住,这是Raspberry Pi。 这是一台运行ARM CPU的小型单板计算机。 它从来没有打算作为您的业务服务器来处理大量事务。 这是一件简单的小事,仅支持USB 2.0并具有10 / 100Mb / s以太网端口。 这意味着,如果您尝试将其加载过多,将会遇到瓶颈。

这是否意味着您的NAS会像垃圾一样表现? 不可以。USB2.0支持最高480Mb / s的传输速率,而以太网则可以达到100Mb / s。 实际上,传输大文件的速度约为5-7MB / s(兆字节而不是兆比特)。 速度不是很快,但是对于您的家庭和家庭来说,一切都会做得很好。 您也可以毫无问题地从Raspberry Pi NAS流式传输视频。 在这里符合您的期望。 它不是本地驱动器,并且确实有局限性。

刷新您的MicroSD

NAS系统是服务器,因此Linux可能是最佳选择。 从第一天开始,Linux和Raspberry Pi并驾齐驱也没有什么坏处。

Raspberry Pi的默认操作系统映像称为Raspbian。 本质上,这是为Pi移植和预配置的Debian Linux发行版。

下载最新版本的Raspbian Lite。 该图像位于相当大的Zip存档中,因此需要几分钟。 下载完成后,将档案解压缩最为方便。

解压缩后,剩下的就是磁盘映像。 您需要将该图像刷新到MicroSD卡上。 将读卡器连接到计算机,然后插入卡。 确保您的计算机可以识别它。

如果您已经在Linux上,并且想要使用dd来刷新映像,则可以。

对于其他所有人,请下载Etcher并将其安装在您的计算机上。 Etcher可用于Windows,Mac和Linux。

打开Etcher并选择刚提取的.img。 然后,找到您的MicroSD卡。 当您完全确定已正确选择所有内容时,请单击“ Flash!”。这将从SD卡中删除所有内容并将图像直接写入其中。

Etcher完成后,您可以删除MicroSD。

连接一切

设置好映像并准备启动后,就可以连接硬件了。 将Pi放入盒中,然后插入SD卡。 将其连接到鼠标,键盘和显示器。 也将硬盘驱动器插入Pi的USB端口之一。

连接完所有其他组件后,您可以插入Raspberry Pi。默认情况下,Pi没有电源开关,因此您需要将其插入才能打开。

设置树莓派

一旦您的Rasberry Pi启动,就可以使用了。 Raspbian映像是完整的无头Debian安装。 不,无头并不意味着残缺不全,或者您会像无头鸡一样四处奔波,试图找出答案。 这仅意味着没有图形桌面。 您不需要一个。 毕竟,您的NAS是一台服务器。

Raspberry Pi配置

您应该在Raspberry Pi上做的第一件事就是更改一些默认设置,例如用户密码和时区。 要访问这些内容,Raspberry Pi具有特定的菜单。 使用以下命令将其打开。

$ sudo raspi-config

该界面相当不言自明,因此请环顾四周并设置适合您的选项。 在开始之前,请转到“接口选项”,然后选择“ SSH”。当询问您是否要启用SSH时,请选择“是”。

连接到WiFi

因此,有线连接是最好的。 它更快,更可靠。 如果您坚持使用WiFi,则需要进行设置。

首先找到您的无线接口。 运行ip a列出可用的网络接口。 您的无线设备可能是wlan0。

接下来,您需要将网络信息添加到wpa_supplicant配置中。 别担心,这将很容易。

$ sudo wpa_passphrase“网络名称”“密码” >> /etc/wpa_supplicant/wpa_supplicant.conf

您可以手动仔细检查它是否有效。

您将需要在Pi上重新启动网络才能使更改生效。 继续做吧。

$ sudo systemctl重新启动网络

再次运行ip,检查其是否有效。 如果您在无线接口旁边没有看到IP地址,请立即使用$ sudo shutdown -r重新启动Pi。 有时网络只是无法正常重启。

通过SSH连接

您不一定需要执行此部分,但是比起临时设置要方便得多。 您可以从常规计算机通过SSH远程访问Raspberry Pi。 如果您使用的是Linux或Mac,则可以连接:

$ ssh

使用分配给您Pi的IP地址。

Windows用户将需要另一种连接方式。 有一个适用于Windows的SSH客户端,称为PuTTY ,您可以下载该客户端以进行连接。 将Pi的信息插入PuTTY,然后像在Unix系统上一样进行连接。

硬盘

每次需要重新启动外部硬盘驱动器时,我都必须手动将其安装在NAS上,这真是太糟糕了。 因此,要让系统自动挂载驱动器,您需要对其进行配置。

首先,找出您的硬盘在Pi上的位置。

$ sudo fdisk -l

在输出中找到您的硬盘。 每个驱动器都分配了一个标识位置,例如/ dev / sda。 驱动器上的每个分区都由一个后面的数字指定,例如/ dev / sda1。 如果您的驱动器未分区,请不要担心。 下一节将对此进行介绍。

如果需要对驱动器进行分区,可以使用一个名为cfdisk的工具进行设置。

$ sudo cfdisk / dev / sdb

这是一个简单的命令行工具。 选择可用空间,然后输入分区的大小。 然后,选择分区并使用左右箭头设置“类型”。如果要单独在Linux上使用它,请选择Linux类型。 如果网络上的任何地方都有Windows,请使用NTFS。

当您拥有所需的所有内容后,导航至并选择“ Write”。这将擦除驱动器并设置新的分区方案。 完成后,退出。

现在,如果您仅在/ dev / sdb上创建了一个分区,那么Debian将在/ dev / sdb1上识别该分区。 您始终可以使用fdisk -l进行仔细检查。

接下来,格式化分区。 Linux用户应使用EXT4。 如果您的网络上有Windows,请选择NTFS。

$ sudo mkfs.ext4 / dev / sdb1 $ sudo mkfs.ntfs / dev / sdb1

格式完成后,您需要找到分区的UUID。 UUID是分区的唯一标识符,与/ dev /分开,并且不会更改。 UUID是挂载分区时识别分区的最佳方法。

$ sudo blkid / dev / sdb1

记下UUID。

自动安装硬盘驱动器由/ etc / fstab文件处理。 它已经包含系统分区的默认配置。 打开文件,并添加如下所示的一行。

UUID = YOURDRIVEUUID / media / storage ntfs默认值,用户,执行0 0

插入驱动器的UUID,然后使用ext4替换ntfs。

最后,创建/ media / storage文件夹并安装驱动器。

$ sudo mkdir / media / storage $ sudo mount -a

为防止出现奇怪的权限问题,请将目录的所有权更改为nobody。

$ sudo chown -R none:nogroup / media / storage

配置NFS

NFS是Unix系统共享网络文件的一种方式。 Windows在某些情况下受支持,但主要适用于Mac,Linux和BSD。 如果网络的其余部分仅适用于Windows,则不要理会这部分。 跳到桑巴舞。

对于其他所有人,NFS比Samba更加易于使用和配置。 它为基于Unix的系统与NAS交互提供了绝佳的方法。

在Pi上安装NFS软件包。

$ sudo apt安装nfs-common nfs-kernel-server

完成后,使用文本编辑器打开/ etc / exports。

纳米/ etc / exports

在此文件中,您可以列出要通过网络使用的目录以及要使它们可访问的计算机。 如果您不想花很多时间弄乱它,请添加以下行,以使您的外部驱动器可供网络上的所有计算机访问。

/ media / storage 192.168.1.0/24(rw, sync, no_subtree_check)

保存文件并退出。 然后,重新启动NFS服务器。

$ sudo systemctl重新启动nfs-kernel-server

配置Samba

Samba是Windows文件共享协议的开源重新实现。 它允许Linux“说Windows语言”,以便他们可以传输文件。 使Linux与Windows技术兼容要容易得多,要使Windows与Linux兼容就容易得多。 这就是为什么如果您的网络上有Windows机器,那么到目前为止,所有内容都旨在适应Windows的原因。 Samba也不例外。

首先在Raspberry Pi上安装Samba。

$ sudo apt安装samba

安装将在/etc/samba/smb.conf中为您提供默认的Samba配置。

首次打开该文件时,看上去会令人生畏。 不用担心 您无需触摸大部分内容。 您需要在主配置中进行更改的唯一一件事是工作组。 查找下面的行并将其设置为等于您的实际Windows worgroup。

工作组= WORKGROUP

Samba处理块中的份额。 您可以在配置文件的末尾看到一些默认块。 您需要为Samba共享创建一个新块。

像这样设置:

评论= NAS只读=否锁定=否路径= / media / storage guest ok =是

在允许访问Samba共享时,您有两个主要选择。 您可以允许访客,以授予对网络上任何人的访问权限,也可以将访问权限限制为在服务器上拥有帐户的用户。 由于此服务器只是一个NAS,因此允许来宾是最容易的。

重新启动Samba服务以加载您的更改。

$ sudo systemctl重新启动smbd

连接到您的NAS

如果您网络上的计算机无法连接到NAS,那您就不好了,对吧? 好吧,如果您一直在遵循,并且一切都准备妥当,那么连接将很容易。

对于不同的计算机,连接过程是不同的。 NFS和Samba也有所不同,因此请为您的计算机使用正确的配置。

NFS

有多种图形方式可以连接到NFS。 有些很好。 其他人真的不是。 在Linux上打开文件管理器,以查看您的NFS共享是否可用。 它通常会显示在“网络”部分下。 如果没有,请不要担心。 只要您在客户端上安装了NFS支持,就可以连接。

首先,请确保您确实安装了NFS支持。 在Debian和Ubuntu上,软件包为nfs-common。 然后,您可以使用root特权将NFS驱动器安装到您选择的任何位置。

$ sudo mount 192.168.1.110:/media/storage / media / nfs

如果要使其永久保存,可以按照上面/ etc / fstab的步骤进行操作,但是要使用共享的网络地址而不是UUID。 在某些系统上,您还需要将nfs指定为filsystem类型,而不是ext4。

桑巴舞

Samba在Windows和Linux上以图形方式处理都非常简单。 无论哪种情况,都可以通过普通文件管理器访问共享。

视窗

打开Windows资源管理器。 在侧栏上,您将看到“网络”部分。 当您单击它时,您将看到它与您位于同一网络上的设备一起填充。 在“计算机”部分下,您会看到Raspberry Pi在配置过程中使用的名称下方列出。 单击树莓派,您将看到您设置的共享。 单击它们,您将可以访问和使用文件,就像它们在计算机上本地存在一样。

的Linux

在Linux上尝试连接到Samba之前,需要确保系统上已安装Samba客户端。 默认情况下,许多Linux发行版都附带了该版本,但是如果要确保通过安装来安装,则该软件包在Debian和Ubuntu上为samba-client。

在Ubuntu上,您可以在文件管理器中的“其他位置”下访问Samba共享。该共享将显示在“网络”子标题下。 单击设备,然后单击共享。 Samba共享将像计算机上的任何其他驱动器一样挂载。

总结思想

而已! 您拥有自己的网络附加存储,价格仅为商业解决方案的一小部分。 一旦超出当前的硬盘驱动器,您也可以随时选择添加更多存储空间。

Debian非常稳定,因此您不必担心重新启动NAS或使其崩溃。 不过,您可能需要经常运行一次更新。 您现在也可以通过SSH进行此操作,因此不再需要将其连接到键盘,鼠标或显示器。

如何使用树莓派和Linux构建自己的nas