我的房子非常整洁有序,但一提到我的数字生活,我就会想到“囤积狂”这个词。如果这听起来像你的话网络连接存储设备-或简称为NAS -是让您的文件在家中任何设备上无线可用的完美投资。但这些设备可能会很贵,所以省钱的一种方法是自己制造一个以树莓派为核心的廉价设备。
NAS是什么?
网络连接存储允许您共享文件从一个,始终在你的房子设备。通过网络上的NAS,您可以使用它来存储您的电影,并从多个地方播放它们科迪盒子、存储备份在你的电脑上,或使用它作为一个bt全天候保存文件的盒子。
当然,你可以用你的主PC来完成所有这些,但是NAS的功耗更低,而且它的设计可以日夜运行,即使你的桌面没有工作。一旦你开始使用,就很难再回头了。
市面上有很多现成的NAS设备,来自Synology、QNAP和Asustor等公司。只要买一个,放一个磁盘驱动器,然后你就开始比赛了。但是它们可能很贵,而且如果您不确定NAS是否适合您,就很难证明投资的合理性——特别是如果您想要可以随存储需求增长的NAS。
另一方面,树莓派是一个如此多功能的小板,它可以作为一个便宜的试用NAS,一旦你长大了,它可以被重新用于其他用途。它不像Synology NAS单元那样坚如磐石,如果你想要数据冗余,RAID在Pi上的效果也不是特别好。您需要确保基于pi的NAS上的任何重要数据也在其他地方备份。
然而,如果你身边有一个圆周率,想看看NAS生活是怎么回事,这是一个很棒的项目。然后,一旦你上瘾了,你就可以升级到适合你长期需求的Synology或QNAP模型。
你需要什么?
配备齐全的树莓派
显然,这个项目需要一个树莓派,以及必要的配件:一个电源,一个microSD卡,一个鼠标,一个键盘和一个显示器,用于初始设置。任何最新型号的pi都应该适用于这个项目,您可以阅读更多关于其他配件的信息我们的入门指南树莓派。
一个磁盘驱动器(或两个,或三个)
除非您只共享几个文件,否则您的microSD卡可能没有足够的存储空间用于NAS。你需要一些驱动器来装满电影、音乐或其他你想在设备间共享的文件。一个标准的外置驱动器在大多数情况下都可以,尽管你可能需要一个单独插在墙上的插头,或者一个供电USB集线器(在新窗口打开)-因为Pi可能无法为你所有的硬盘提供足够的电量。如果你想要一个更干净的设置,你可以使用内置驱动器(在新窗口打开)也为网络连接存储设计,但这需要一个盒子。
nas友好的case(可选):
如果你想让你的系统看起来很干净,你可能应该为你的Pi和驱动器买一个外壳,这样它就不仅仅是一堆电线和磁盘了。例如,Geekworm制作了一种名为X825(在新窗口打开)它可以让你对接一个2.5英寸的内置硬盘,将其连接到你的Pi,并将其安装在一个修整小箱子(在新窗口打开).(只要确保你买了一个与你的Pi兼容的——Pi 3、Pi 4等等都有不同的情况。)
目前,我只是使用一个标准的树莓派外壳,上面有一个USB外置驱动器,但如果你愿意发挥创意,这个世界就是你的牡蛎。有了所有组件之后,就可以启动和运行NAS了。
安装操作系统
有一些特殊的操作系统,比如Openmediavault,可以把你的Pi变成NAS,但对于初学者来说,我实际上推荐常规的老raspbian——它灵活、易于使用,而且足够通过网络共享一些文件。首先使用中所描述的推荐软件安装Raspbian初学者指南.
我建议将你的Pi通过以太网连接到网络上,以便快速传输文件,但Wi-Fi在紧急情况下也可以。一旦你第一次启动了Raspbian,指定了新密码,下载了所有的更新,将你的硬盘连接到Pi的一个USB端口上。
您将看到它显示在桌面上,但我们将在终端中完成大部分工作。如果你愿意,你可以SSH到你的Pi并从另一台PC上执行这些命令。)
卸载驱动器
在继续之前,我们需要擦除您附加的驱动器,因此如果您有重要文件在上面,您必须将它们存储在其他地方,然后再将它们传输到您的Pi-NAS。在终端窗口中,运行以下命令查看连接到Pi的磁盘:
Sudo fdisk -l
找到您想要用于文件的外部驱动器——在我的例子中,它是一个名为“MyExternalDrive”的80GB驱动器——并注意它的路径。在上面的截图中,插入我Pi的80GB驱动器对应于/dev/sda。(请绝对确保您记下了正确的驱动器,因为我们即将删除它!)首先,您需要卸载驱动器。如果你使用的是Raspbian界面,你可以点击驱动器旁边的弹出按钮来卸载它。但如果你是通过SSH使用终端,你必须运行:
umount /dev/sda1来
根据驱动器的不同,您可能还需要运行umount /dev/sda2来,umount /dev/sda3来,等等,这取决于驱动器上以前使用的分区的数量。
然后,为Linux使用擦除和格式化您的闪存驱动器,运行:
Sudo parted /dev/sda
这将打开一个名为Parted的向导,它将允许您在驱动器上创建一个新分区。运行此命令,在向导中的每个答案后按Enter并替换MyExternalDrive与您想用于驱动器的名称:
mklabel gpt
如果提示要擦除驱动器,请键入y,按“Enter”。然后运行:
mkpart
MyExternalDrive
ext4
0%
100%
辞职
最后一个辞职命令将退出Parted向导。显然,您可以调整这些命令以适应驱动器的名称、希望在其上创建的分区的数量和大小等等,但是对于刚开始使用这些命令的大多数基本用户来说,这些命令应该可以很好地工作。
分区你的硬盘
接下来,我们需要格式化该分区。如果您的驱动器位于sda,新分区将位于/dev/sda1(如果驱动器是/dev/sdb,你将使用/ dev / sdb1,以此类推):
sudo mkfs。ext4/dev/sda1
新闻y当被问到是否要继续时,请输入。然后运行:
sudo e2label /dev/sda1 MyExternalDrive
只是替换MyExternalDrive随你怎么命名你的硬盘。格式化需要几分钟的时间,特别是如果您的驱动器很大,所以请耐心等待。当你完成后,运行这个命令重新启动你的Pi:
Sudo现在关闭-r
当你的Pi重新启动时,你应该会发现外部驱动器自动出现在桌面上,随时可以操作。但是,您必须运行最后一个命令来允许自己将新文件写入驱动器。在终端中运行:
sudo chown -R pi/ media/pi/MyExternalDrive
共享硬盘
现在是时候在你的网络上共享这个驱动器了,这样你就可以添加文件并从家里的任何设备访问它们。为此,我们将使用一个名为Samba的工具,它是Windows SMB/CIFS文件共享协议的开源实现。它不是你共享文件的唯一选择,但它很容易设置,并且与你在网络上可能拥有的任何系统兼容,所以它是我推荐的。
默认情况下,Raspbian没有安装Samba,因此您需要安装Samba确保您的存储库是最新的并使用以下命令安装它:
Sudo apt更新
Sudo apt升级
Sudo apt安装samba samba-common
安装程序将询问您是否要修改smb.conf以使用来自DHCP的WINS设置。选择“Yes”,按“Enter”。现在您可以自己编辑该配置文件,以共享您的驱动器。运行:
Sudo nano /etc/samba/smb.conf
然后,在出现的命令行文本编辑器中,使用箭头键滚动到文档底部。你需要添加一个文本块,看起来像这样:
(玛雅资讯)
path = /media/pi/MyExternalDrive/
可写= yes
创建掩码= 0775
目录掩码= 0775
公共=没有
在你的版本里玛雅资讯你的股份的名字(你想怎么叫都行)和/媒体/π/ MyExternalDrive将是您驱动器的安装位置。(您可能需要打开文件管理器并转到/媒体/π/弄清楚它叫什么。)完成后,按Ctrl+X退出nano,按下y当被问到是否保存文件时,按Enter键。
创建密码并添加用户
最后,您需要为Samba创建一个密码,以便从其他机器上查看您的共享。(有一些方法可以在不需要密码的情况下配置Samba,但这通常不是好的安全实践,因此我建议添加密码。)为已创建的Pi用户添加密码。
Sudo smbpasswd -a PI
当提示时输入你想要的密码——它不必与你在Pi上的用户密码相同,但可以是——然后按Enter。
您可以添加其他用户Sudo adduser Jeff,在那里杰夫是要添加并运行的用户吗Sudo smbpasswd -a Jeff给用户自己的密码。这并不是严格必要的,但如果您希望在某些共享上给予多个家庭成员不同的读写权限,则这可能很有用。
一旦完成了这一切,运行以下命令重新启动Samba:
Sudo systemctl restart SMBD
使用你的媒体
一切准备就绪。打开你的Windows电脑,打开文件资源管理器窗口,然后输入\ \ raspberrypi \玛雅资讯在地址栏中(替换玛雅资讯不管你的那份叫什么名字)。如果按Enter,您应该能够输入您的Samba用户名(pi)和密码,并看到您的共享驱动器。如果你遇到麻烦,你可能不得不使用Pi的IP地址,比如\ \ 192.168.1.10 \玛雅资讯代替。
要在Mac上连接,打开Finder并单击>连接到服务器,输入smb: / / raspberrypi当提示。
这仅仅是使用基于pi的NAS所能做的事情的皮毛。随着您的存储需求的发展,您可以添加更多的驱动器和共享,添加更多具有不同权限的用户,或者设置一个RAID阵列,以避免在硬盘故障时数据丢失。不过,一旦达到了这一点,为了获得更好的性能,在专用NAS设备上多花点钱可能是值得的。