用树莓派制造一个像样的 NAS

用树莓派制造一个像样的 NAS

详细说明


用树莓派做网络存储服务器(NAS) 的案例很多,我也一直在寻找用树莓派 DIY NAS 所需要的各种零部件,要求是外观漂亮、节省空间,然而一无所获。我所看到的很多案例都是用木板粘接,集成度较低的方案,其散热性和可靠性将受到影响,想想你多年珍藏的电影资源和重要数据可能因此而丢失,这是很难以接受的。因此我决定自己做一个真正的NAS方案,它不仅外观上长得更像专业级的NAS,其内部核心部件也都是市面上买到的和专业NAS同等性能的部件。树莓派仅作为一个低功耗的主机存在,来运行 NAS 操作系统。

最初的设计草图。


在这个项目中,我不会使用任何专为树莓派 NAS 设计的部件。 相反,我将使用可以在电商平台上轻松找到的一些常见部件。 那么,开始吧!

链接表


文件库

Cap+v2.stl
[55284 Bytes at 2018-10-19, 84 次下载]

Side+Case+v2+Lower.stl
[136384 Bytes at 2018-10-19, 83 次下载]

Front+panel.stl
[175084 Bytes at 2018-10-19, 77 次下载]

Side+Case.stl
[417884 Bytes at 2018-10-19, 79 次下载]

Side+Case+v2+Upper.stl
[416284 Bytes at 2018-10-19, 75 次下载]



教程

组件清单
  • 树莓派3B+ × 1
  • 硬盘 × 若干
  • 热插播硬盘托架 × 若干
  • 电源管理开发板 × 1
  • 继电器 × 1
  • 按钮 × 若干
  • LED × 若干
  • 亚克力板 × 若干
  • 电源线 × 若干
  • 热熔胶 × 若干
  • 双面胶 × 若干
  • 螺丝 × 若干

材料清单

Raspberry Pi(树莓派)3B+ × 1
硬盘 × 若干
热插播硬盘托架 × 若干
电源管理开发板 × 1
继电器 × 1
按钮 × 若干
LED × 若干
亚克力板 × 若干
电源线 × 若干
热熔胶 × 若干
双面胶 × 若干
螺丝 × 若干

设计3D建模





在Autodesk Inventor中设计NAS外壳,并测试它们是否适合,检查每个组装点是否设计正确。
NAS外壳分为三个部分。左侧部分用于电源管理板和树莓派3B +。你也可以使用树莓派3或2B,它们的打印面积是相同。但使用树莓派3B +会更好一些,因为它更快。我稍后会详细说明。

右边部分是用于容纳两个5英寸硬盘,安装方式如图所示。背面的额外7厘米的空间用于安装风扇,直流插孔和布线。

3D模型文件,在项目文件库中下载。
https://make.quwj.com/project/79

打印和组装







打印完成后,我们可以开始组装外壳。
外壳由前面提到的三个部分组成,将它们用五个M3螺钉和十个M3(用于顶部和底部螺孔的连接)固定在一起。将按钮帽安装到位后,后续你就可以准备电子元件了。

按钮和信号LED





按钮和LED通过一些简单的电路连接,信号从树莓派的GPIO接到前面板。除了按钮安装有点棘手,其他都很简单。建议你用胶水将电路板安装到外壳之前进行一些测试打印。确保按钮的质量良好,开合方便。在我的设计中,由于红色的LED需要5V电源,所以我添加一个电阻,并计划将LED 的VCC引脚直接连接到电源管理板的5V输出上。你也可以使用树莓派上的3.3V GPIO引脚,不用额外增加电阻。

测试配件






1、右侧底部和顶部放置了两个2mm厚的亚克力板。用于加强对两个热插播硬盘托架的支持,因为硬盘在插入托架后有点沉。
2、使用了一个旧的USB硬盘驱动器,通常包含某种SATA转USB转换器电路板。对于我购买的那款,它配备了预先焊接的12V输入端口,可以支持3.5英寸硬盘驱动器的12V电源输入。

我将它们连接到两个HDD热插拔托架的末端,并将两根电缆连接到它的末端。其中一根带2.1mm DC插孔的电源线用于12V输入,另一根mini USB接头的电源线用于数据传送和5V电源。两根电源线排列有序,都向底部弯曲并保留一定空间。

硬盘的固定






将硬盘热插拔托架粘贴到外壳中。
1、在金属支架的外框上粘贴双面胶带,插入并固定托架。
2、在亚克力板和金属支架之间用强力胶粘合。记住将亚克力板上的纸取下来。
完成后,右侧外壳中的两个插槽,你可以通过热插拔托架上的手柄进行关开。

测试适合度



现在可以将硬盘插入托架了,它应该完全适合。 (如果没有,你应该考虑是否托架不匹配)
你可能会注意到右侧箱子顶部后面有两个圆形槽。这些是为USB电缆预留的。现在,你可以将电缆放入,这样看起来更整洁。

电源管理开发板



这是电源管理开发板。中间是一个Tinduino,它是一个定制版的Arduino,成本较低,此版本用于我们实验室的开发。当然,你可以使用Arduino UNO进行此操作,并在按下按钮时关闭继电器。
网上有很多教程可以教你如何制作这样的电路板,例如:
https://www.instructables.com/id/Toggle-Switch-With-Relay/

它是NAS的电源开关,所以你可以选择你想要的风格。

右边是降压转换器。它将树莓派和Arduino的电压从12V降低到5V。
最后,从左到右的底部第三个端口是12V电源输入,HDD1为12V电源输出,HDD2为12V电源输出。

将所有东西组装在一起


现在,将电源管理板与树莓派相连,如图所示。
插入12V电源输入,一切都应该会跑起来。(如果没有,也许你可以轻触按钮并激活Arduino继电器切换系统)

安装操作系统并开始创建自己的NAS接口






现在拧上所有螺丝,插上电源线,你认为这样就好了吗?
当然还没有。我们仍然需要安装软件。现在硬件的安装已经全部完成。

由于该软件仍处于开发阶段,我建议安装一些开源OS /NAS系统,如FreeNAS或开放式媒体库。但如果要构建自己的NAS,我建议从头开始。下一步,编写我自己的NAS操作系统!

1、从树莓派网站安装Raspbian Lite。
https://www.raspberrypi.org/downloads/raspbian/
2、将其安装在SD卡上。我认为网上有很多教程,此内容我不在复述。
http://shumeipai.nxez.com/2013/09/07/how-to-install-and-activate-raspberry-pi.html

ArOZ在线系统!








树莓派的媒体中心系统ArOZ Online(Alpha)
https://www.instructables.com/id/Simplest-Media-Center-for-Raspberry-Pi-Web-Server/
现在,我已将其完全重写为一个全新的DSM,如Web UI,称为ArOZ Online(Beta)
该系统适用于Window Host和Linux Host(当然还有Raspbian)。

系统有待完善


目前为止我写的系统检测到我已插入NAS的1TB驱动器。
接下来呢?该软件仍需要多年的开发才能顺利运行。
目前,5G WiFi到HDD的最大传输速度约为100Mbps。它对于小型计算机来说,可以完全处理你的所有请求,效果还是不错的。使用Samba(Window SMB / Network Disk)进行传输时,它可以达到93Mbps左右。这可能是使用树莓派 3B+的优势。

编者按
树莓派上搭建NAS的软件系统有多种选择,你可以直接使用完成度较高的系统
OpenMediaVault NAS 系统

也可以使用最新版的 Raspbian 系统,并自行安装所需服务
DLNA服务器
Aria2 下载服务器

 

出处:https://www.quwj.com/2018/11/01/a-raspberry-pi-nas-that-really-look-like-a-nas.html

https://make.quwj.com/project/79

==================================================================================

用树莓派制造一台像样的 NAS 升级版

详细说明


我们之前介绍过 Toby Chui 的项目《用树莓派制造一台像样的 NAS》,受到不少 Maker 的关注。时隔五年,Toby Chui 推出了该项目的升级版,在功能和构造细节方面都有所提升。

原本 NUC 只有一个 2.5 英寸硬盘插槽,但使用多年之后,它已经开始没有空间。我想趁此次机会,寻找一个低成本的解决方案,在提升它的功能的同时对外形做了小型化。

特点:
1、更小的外形尺寸,尽量利用好设备内部的每一寸空间。
2、成本低,尽量使用低成本的组件,实现设备的最佳性能。
3、兼容性高,部件可以方便购买。
4、依赖性低,对单个制造商的依赖小。
5、可接受的速度,满足为 1-2 人播放 1080p 的视频,上升/下降速度至少 100Mbps。

链接表


文件库

aroz_nas_psu.zip
[113133 Bytes at 2023-02-05, 14 次下载]

stl-files.zip
[591719 Bytes at 2023-02-05, 12 次下载]



教程

组件清单
  • SATA to USB2.0 适配器 × 1
  • 树莓派4B(任何 SBC 都可以,包括香橙派零等) × 1
  • 自定义电源管理 PCB × 1
  • XL6009 可调/固定电压转换器(2x12V或1x5V) × 1
  • 2.1mm 直流电源插孔 × 1
  • 6010 直流风扇(5V、12V或24V) × 1
  • M3 × 4 × 若干
  • M3 × 5 × 若干
  • M3 × 6 × 若干
  • M3 × 10 × 若干
  • 12V 6A、24V 3A 电源砖或 65W GaN 充电器 + 20V 3.25A 触发线 × 1
  • 热熔胶 × 1
  • 焊接工具 × 1
  • 电线 × 若干

3D 模型

使用香橙派 Zero 和 USB 转 SATA 适配器的用户,可以直接跳至 3D 打印那一步。

如果你使用树莓派或其他 SBC,则需要对模型进行微调。下载 backplate_generic.stl 文件,并将其导入 TinkerCAD 或 aPrint Editor。

根据你选择的主板,在背板模板上创建打孔。

3D 模型调整文件,在项目文件库中下载。
https://make.quwj.com/project/457

如果你使用的是 SATA 转 USB 适配器,模型修改过程可能会稍微复杂一些。如图所示,SATA 转 USB 适配器的安装尺寸。

注意外壳拐角处的四个螺丝孔,它们是用于安装背部的孔。请不要在设计适配器时使用这些螺丝孔,否则你还需要更改后盖设计。

在我的设计中,我利用适配器上的两个螺丝孔将其安装到定制的 3D 打印外壳上。如果你的适配器上也有类似的孔,你可以利用这些孔来安装它。或者你可以设计一个简单的安装臂,并用热胶将它们粘合到位。

模板的挂载的 stl 文件,在项目文件库中下载。
https://make.quwj.com/project/457

开始 3D 打印

3D 打印的部分大约花了两天的时间,我使用 Ender 3 以 0.2mm 的层高和每秒 35mm 的速度打印。

legs.stl:NAS 的腿部支撑。
psu_mount.stl:功率调节 PCB 的安装。
SATA adapter mount:SATA 到 USB 适配器的安装。
wide_case、wide_cover、case_back:NAS 的主体 PC。
front_panel:NAS 的前板,包含状态 LED 的孔。
pull_handle,tray:硬盘托盘组件。
backplate:NAS 背面的防尘罩,包括 6010 风扇支架。

所有文件在项目文件库中下载。
https://make.quwj.com/project/457

订购 PCB 并组装

你可以在项目文件库中下载 gerber 文件:
https://make.quwj.com/project/457

https://drive.google.com/file/d/1Tmfq3RrY0x8C9qf5TM5jI6WkntdhGjJz/view?usp=sharing

然后从 PCB 打样服务商处订购 PCB 成品。如上图所示,可以在 PCB 上挖一个方形孔(无需额外的服务费),然后将降压-升压转换器焊接到 PCB上。

如图所示,从左到右分别是 HDD1、2 和 SBC 的 12V、12V 和 5V 的电源通道。再焊接了一些小部件,包括用于 SBC 纹波滤波的电容器、5.1v 齐纳二极管(可选,当我的 XL6009 转换器发生故障时,它救了我的 SBC 一次)和电源 LED+ 电阻器。

如果你的预算非常紧张,你可以手动将导线焊接到 HDD/SATA 适配器的转换器上。但如果我需要建造更多的单元,制作 PCB 将使整个项目在未来更具可重复性。

拆除 SATA 转 USB 适配器并组装

SATA 转 USB 适配器使用 M3x5 螺钉固定到适配器支撑臂上。接下来,在电源转换器板开始布线,HDD 电源线和 USB 信号线。

这个过程取决于你使用的适配器。在此,我只展示我的适配器的使用情况。

1、找到适配器的 USB 端口,将其连接到电源转换板上的 HDD1/2 USB 的端口引脚上。

2、找到适配器的 12V 输入端口,将其连接到 HDD1/2 12V 输出。注意,转换器板的输出有四条线路,承载 12V 或 GND 电源。如果你的磁盘不需要那么多电源,你可以只使用其中的两条,或者你也可以使用所有四条电线供电。

3、将 USB 主机连接到 PC 或 SBC,并测试其是否正常工作。

接线完成后,用四组 M3x10 的螺钉将适配器固定到机箱的背面。

组装硬盘托盘

硬盘托盘由两部分组成。

首先,你需要将一个螺纹插入件(通常由铜制成)插入拉手,并在另一侧用两组 M3x5 螺钉固定。完成后,你再使用六组 M3x6 的螺钉将硬盘拧入到托盘。

完成后,将两个硬盘插入机箱并用力推动,使 SATA 端口与背面的适配器连接。

如图所示,我 3D 打印了一个侧面通明的特殊版本,以显示插入的方向。

为适配器板和 SBC 选择定制支架

3D 打印或使用任何你想要创建支架的方法,将电源转换板和 SBC 固定到位。将支架粘接到主壳体的内侧。

如果你有任何其他修改,或者希望内置更多硬件(如 ESP32)用于远程管理,也可以将其放置在此处。

将 SBC 连接到功率调节板

1、将电源调节板的 5V 输出连接到 SBC。如果你使用的是树莓派 4B 产品这类耗电型的 SBC,你可能需要使用电源调节板的所有四个输出来获得 5V 电源。否则,你可以使用一对5V/GND 电缆连接状态 LED 或背面的风扇。

2、将 USB 主机引脚连接到 SBC。根据你的 SBC,你可能需要在内部添加 USB 集线器(例如树莓派 zero 2w)。以我为例,我不想直接焊接到 SBC GPIO 引脚(香橙派 Zero 使用GPIO 用于 USB2 和 USB3 的输出,并且只将 USB1 作为物理 USB-A 的端口),我使用了一个预处理板,使它成为一个简单的即插即用适配器,以便于将来的维护和使用。我还添加了一个电容器,以防止启动期间的电流浪涌。

如图所示,可参考 SBC 的连接方式。请注意,如果是树莓派 4B 的主板,可能需要将电路板上下翻转,并将导线直接焊接到底部测试焊盘。

在关闭之前,请将 Armbian(不适用于树莓派)或 Raspberry Pi OS(适用于树莓派)安装到容量为 32GB 或更高容量的 SD 卡上(建议64GB)。

软件

完成以上步骤后,就可以关闭它了。使用 M3x5 螺钉将所有零件拧在一起,现在,它看起来像一个真正专业的 NAS!
接下来就是软件安装的部分。

安装 ArozOS

此次的操作系统是对 2018 版的一次巨大的更新。

我为 NAS 开发的软件名为“ArozOS”。它是一个带 web 桌面的 web 操作系统,可方便在浏览器中为你提供全面的桌面体验。只需要使用网络浏览器,即可访问音乐、视频、照片和文档,所有这些都只需使用一个浏览器窗口。同时它也适用于移动设备。如果你想了解更多关于 ArozOS 的信息,请访问 https://arozos.com

对于那些有软件工作经验的人来说,可直接点击 https://github.com/tobychui/arozos 查看。

当然,你也可以选择其他 NAS 操作系统,如 Open Media Vault 或 FreeNAS 与硬件一起使用(考虑兼容性,在我的版本中是兼容的)。当然你也可以试试我的操作系统。

设置 SBC 并安装 Arozos

按照标准步骤使用根帐户和个人帐户设置 linux。对于个人账户,建议使用一个简单易记的名字,比如 “aroz” 或 “pi”,如果你是那种经常忘记账户的人。完成后,你可以从官方页面下载 arozos。以下命令可以让你快速入门。

提示:如果你担心将来会丢失你的帐户,你可以在备忘录纸上写下你的管理帐户和密码,并将其粘贴在 NAS 机箱上。

首先,在主目录中为 arozos 创建一个文件夹。

cd ~/
mkdir arozos
cd arozos

接下来,转到 arozos Github 发布页面,下载适合 SBC 的最新 arozos 二进制文件。以下是一些示例:https://github.com/tobychui/arozos/releases

香橙派使用 H3/H5 CPU,pick:arozos_linux_arm

香橙派使用 H616 CPU、树莓派 4B 或其他 arm64 SBC,pick:arozos_linux_arm64

目前最新版本是 1.124。因此,从 github 复制链接并运行以下命令。但如果你发现 v2.0xx 已过时,我建议改用最新版本。

wget https://github.com/tobychui/arozos/releases/download/v1.124/arozos_linux_arm
wget https://github.com/tobychui/arozos/releases/download/v1.124/web.tar.gz
mv arozos_linux_arm arozos

注意:v2.0即将推出。

下载完成后,安装所需的依赖项。

sudo apt-get update
sudo apt-get install ffmpeg samba -y

给予它运行 ArozOS 的许可。如果你不在乎权限,不在乎是否你是唯一一个可以登录到此服务器的人,只要一切正常,你可以使用以下命令。

sudo chmod 777 -R ./

我通常推荐 775 或 755,可根据你的需要更改。

最后使用 sudo 执行 arozos(如果不需要硬件、电源和 WiFi 管理,请跳过sudo)。

sudo ./arozos

解压缩关键文件并启动系统需要一段时间。如果 SSH 窗口停留了一段时间,请不要按Ctrl+C 或关闭 SSH 窗口。

安装 Launcher 并将服务添加到 Systemd(可选)

使 arozos 在启动时启动并向启动器添加 OTA Update 功能,你可以选择下载启动器并将 arozos 启动服务添加到 systemd。

下载并安装 ArozOS OTA 更新启动器(可选)

如果你想在 ArozOS 系统中安装 OTA 更新功能,你可以选择安装启动器,并在启动时使用启动器启动 ArozOS。
https://github.com/aroz-online/launcher

安装启动器,只需将启动器二进制文件放在 arozos 二进制文件旁边,并将 start 命令指向启动器,而不是 arozos 的二进制文件。例如,如果你的 SBC 使用的是 H3 处理器,该处理器是 armv7 处理器,则可以使用以下命令下载并启动 arozos。

wget https://github.com/aroz-online/launcher/releases/download/v1.120/launcher_linux_arm
mv launcher_linux_arm launcher
./launcher -port 8080 -tls=true -hostname="My NAS"
# Or pass any startup paramter to it, it will relay to arozos binary

成功设置并启动启动程序后,你将发现 System Setting 中有一个名为 “Updatess” 的新选项卡。从那里,你可以一键更新 arozos NAS 系统。是不是很酷呢!

将 ArozOS 添加到 Systemd(可选)

如果你的 Linux 发行版正在使用 systemd(现在大多数都使用),你可以将其添加到 systemd 中,以便在开机时使用 NAS 启动 arozos。如果你知道如何使用 nano,命令很简单。

cd /etc/systemd/system/
sudo systemctl enable systemd-networkd.service systemd-networkd-wait-online.service
sudo nano arozos.service

并将以下内容添加到文件中(假设用户名:pi)

[Unit]
Description=ArozOS Cloud Service
After=systemd-networkd-wait-online.service
Wants=systemd-networkd-wait-online.service

[Service]
Type=simple
ExecStartPre=/bin/sleep 10
WorkingDirectory=/home/pi/arozos/
ExecStart=/bin/bash /home/pi/arozos/start.sh

Restart=always
RestartSec=10


[Install]
WantedBy=multi-user.target

如果用户名不是 “pi”,请更改 WorkingDirectory 和 ExecStart 参数中的路径。
接下来,使用以下启动参数在~/arozos下创建 start.sh

#!/bin/bash
sudo ./arozos -hostname="My NAS" -port 8080

最后启动 systemd 服务。

sudo systemctl start arozos.service
sudo systemctl enable arozos.service

现在,你的 arozos 系统应该可以在启动 NAS 时启动。

在 ArozOZ 上设置根帐户

arozos 系统运行后(要检查,请使用“sudo systemctl status arozos”),打开 web 浏览器并导航到。

http://{your_pi_IP_Addr}:8080

然后,你将看到此用户注册页面。输入你首选的用户名和密码作为 root 管理员帐户。

提交后,你将被重定向到登录界面。如果一切正常,登录后你将看到一个桌面界面。你可以通过右键单击并选择内置主题或在“个性化”设置中设置自定义路径来更改墙纸。

重要注意事项
1、用户名中只能使用英文,最好不要空格。
2、如果不是以英语为母语的国家,请不要打开浏览器翻译功能,因为这会导致根帐户设置阶段出现一些奇怪的错误。(在 v2.010 或更高版本中修复)

将两个硬盘安装到 ArozOS

在此阶段,你将无法看到磁盘。你需要将它们安装到 arozos 上,以便 arozos 可以为磁盘提供沙盒层来保护你的数据。

要设置你的磁盘,首先你需要知道磁盘在哪里,以及其中的分区。如果你不知道磁盘格式或分区,并且其中没有重要数据,可以使用 fdisk 命令对其进行完全格式化。
https://linuxhint.com/use-fdisk-format-partition/

格式化并创建文件系统(例如 ext4 或 ntfs)后,你将看到 /dev/sda1 或 /dev/sdb1 下的新设备文件。
假设每个磁盘只有一个 EXT4 格式的分区,并且检测为 /dev/sda1 和 /dev/sdb1。现在,你可以通过在 /mediaroot 中创建两个文件夹来为它们创建装载点。

mkdir /media/storage1
mkdir /media/storage2

然后转到 ArozOS 的 System Settings > Disk & Storage > Storage Pools,并按如下方式进行设置(请参阅随附的示例配置)。

在示例配置中,我们使用 sda1 作为 disk1,使用 sdb1 作为 disk2。

你可能会注意到,除了磁盘名称、ID、设备路径和装载点不同,“存储层次结构”也不同。

“存储层次结构”如果设置为“公共访问文件夹”,则表示每个用户都可以通过“共享磁盘”访问磁盘。任何有权访问磁盘的用户都可以查看、写入和删除上载到磁盘的任何内容。

“存储层次结构”如果设置为“独立用户文件夹”,则表示每个用户在磁盘上都有自己的专用空间,用户无法查看其他人的文件。但是,用户仍然可以通过系统中的“共享”功能共享其文件,并为其他用户提供文件共享链接。
上图显示均来自 v2.010 版。

完成

现在,你已经拥有了一个完整的开源、低成本的 NAS 系统,可以支持多达两个 4TB 的硬盘。
未来,当你需要更多存储时,你可以简单地构建更多存储,因为 ArozOS 提供集群和交叉安装功能(即将所有低功耗 ARM NAS 作为“网络驱动器”安装到一个强大的网关节点中,由Intel/AMD CPU 供电,并通过你的专用域进行访问)

目前,我还正在研究一个替代版本(最后一张照片),用于旧的二手旧硬盘,其中磁盘更容易更换/热插拔。该版本仍处于原型阶段,未来也会开源这个版本。想动手拥有自己的 NAS ,就赶紧试试吧!

 

出处:https://make.quwj.com/project/457

https://shumeipai.nxez.com/2023/04/19/diy-raspberry-orange-pi-nas-that-really-looks-like.html

posted on 2023-06-02 09:42  jack_Meng  阅读(319)  评论(0编辑  收藏  举报

导航