The ULTIMATE Raspberry Pi 5 NAS

Jeff Geerling
4 Apr 202432:14

Summary

TLDR视频脚本讲述了一个关于构建Raspberry Pi NAS(网络附加存储)的实验。作者从使用Raspberry Pi 4和Compute Module 4开始,由于性能限制,无法达到每秒100兆字节的网络速度。随着Raspberry Pi 5的发布,作者尝试使用新的硬件和Radxa SATA HAT来构建一个成本更低的NAS系统。通过添加12V电源、风扇和microSD卡,作者以不到150美元的成本构建了一个小型NAS。尽管存在一些限制,如千兆以太网连接和缺乏热插拔硬盘托架,但作者通过使用HatBRICK! Commander和HatNET! 2.5G扩展卡,成功实现了2.5G网络连接。最终,作者通过Open Media Vault(OMV)操作系统,实现了RAID配置和网络文件共享,展示了DIY NAS在成本、功耗和性能上的优势。

Takeaways

  • 🚀 Raspberry Pi 5的发布带来了更快的处理速度和PCI Express支持,使得基于Pi的NAS(网络附加存储)性能得到提升。
  • 💾 使用Radxa提供的SATA HAT和Raspberry Pi 5,可以构建一个成本低廉的NAS系统,总价不到150美元。
  • 🔌 Raspberry Pi 5通过GPIO引脚为附加的SATA HAT提供电源,简化了电源管理。
  • 🔩 组装过程中需要注意的是,确保所有连接都正确且稳固,避免使用过多力量导致损坏。
  • 📶 Raspberry Pi 5虽然只支持千兆以太网,但通过HatBRICK! Commander和HatNET! 2.5G可以探索2.5千兆网络的可能性。
  • 🔥 在高负载工作时,Raspberry Pi 5的SATA控制器芯片温度可能升至60摄氏度,因此推荐使用散热风扇或散热片。
  • 📈 通过测试,Raspberry Pi 5 NAS在RAID 0配置下达到了接近900MB/s的读写速度,表现令人满意。
  • 🌟 Open Media Vault (OMV) 7在Raspberry Pi 5上运行良好,提供了一个用户友好的界面来管理存储和文件共享。
  • 💻 使用ZFS文件系统和RAIDZ1配置,虽然写入速度略低于RAID 0,但提供了数据保护和良好的读取性能。
  • ⚙️ Raspberry Pi 5 NAS的功耗相对较低,在做大量数据传输时,功率消耗在8到22瓦特之间,能效比较高。
  • 🛠️ DIY NAS意味着用户需要自行负责软件的维护和更新,但同时也提供了更多的定制化可能性。
  • 📊 使用Windows PC进行网络文件复制的测试结果比Mac更好,突显了不同操作系统在文件传输性能上的差异。

Q & A

  • Raspberry Pi 5 相比前代产品有哪些显著的提升?

    -Raspberry Pi 5 相比前代产品,速度更快,具有 PCI Express 接口,并且用户现在可以相对容易地购买到。尽管价格略高于 Pi 4,但考虑到市面上现成的 4 盘位 NAS 价格通常在 300 美元以上,Pi 5 可能提供了一个成本更低的 NAS 解决方案。

  • 在构建 Raspberry Pi NAS 时,作者遇到了哪些挑战?

    -作者在构建 Raspberry Pi NAS 时遇到的挑战包括网络传输速度无法达到每秒 100 兆字节,以及之前尝试的两个有前景的项目(Wiretrustee SATA 板和 Radxa Taco)因 Raspberry Pi 短缺而失败。

  • 作者如何尝试解决 Raspberry Pi 5 的千兆以太网限制?

    -作者尝试通过使用 PineBerry Pi 制作的 HatNET! 2.5G 扩展帽和 HatBRICK! Commander 来解决 Raspberry Pi 5 的千兆以太网限制,后者是一个 PCI Express Gen 2 交换机,允许同时连接 SATA 驱动器和 2.5G 网络接口。

  • 作者在测试 Raspberry Pi 5 NAS 的性能时,使用了哪些工具和方法?

    -作者使用了 FIO 工具进行磁盘基准测试,通过 SSH 连接到 Raspberry Pi 并运行命令来检查硬盘驱动器是否被识别。此外,作者还使用了 iperf 测试来评估网络性能,并尝试了不同的 RAID 配置,包括 RAID 0 和 RAID Z1。

  • 在构建过程中,作者提到了哪些可能影响性能的因素?

    -作者提到了多个可能影响性能的因素,包括 Raspberry Pi 5 的 PCI Express 接口的速度(PCIe Gen 2 vs. Gen 3),SATA 控制器的带宽,以及网络接口的速度。此外,作者还提到了散热问题,特别是对于 JMB585 芯片的散热,以及可能存在的内核或驱动程序瓶颈。

  • 作者为什么选择使用 Open Media Vault (OMV) 作为 NAS 的操作系统?

    -作者选择使用 Open Media Vault (OMV) 作为 NAS 的操作系统是因为它易于使用,具有良好的用户界面,并且提供了 RAID 管理、文件系统创建、网络共享和 Samba 集成等功能。

  • 在测试过程中,作者遇到了哪些安装或配置问题?

    -在测试过程中,作者遇到了一些安装或配置问题,例如在尝试识别连接的硬盘驱动器时出现问题,需要手动启用 PCI Express。此外,在尝试使用 Open Media Vault 时,作者发现没有直接创建 RAID 的选项,但最终通过使用 ZFS RAIDZ1 配置找到了解决方案。

  • 作者在测试 Raspberry Pi 5 NAS 的散热性能时使用了哪些工具?

    -作者在测试 Raspberry Pi 5 NAS 的散热性能时使用了 InfraRay P2 热成像相机,以及通过触摸来感受硬件组件的温度。

  • 作者对于 Raspberry Pi 5 NAS 的最终性能和成本效益有何评价?

    -作者认为 Raspberry Pi 5 NAS 在读取速度上表现良好,写入速度虽然受到一些限制,但整体性能超出了他的预期。在成本效益方面,作者指出整个系统的构建成本不到 200 美元,远低于市面上的现成 NAS 设备,且功耗相对较低。

  • 作者在测试中使用了哪些硬盘驱动器,它们的容量是多少?

    -作者在测试中使用了四个硬盘驱动器,每个硬盘的容量是 8 兆字节(TB)。

  • 作者在测试 Raspberry Pi 5 NAS 时,提到了哪些可能的软件或硬件升级?

    -作者提到了可能的软件升级包括使用不同的 NAS 操作系统,如 Open Media Vault (OMV) 和尝试使用 ZFS 文件系统。在硬件方面,作者考虑了使用 RK3588 芯片的 NAS 设备,以及期待 Raspberry Pi Compute Module 5 可能带来的更多 PCI Express 功能。

Outlines

00:00

😀 Raspberry Pi NAS 构建经验分享

视频作者分享了自己构建多种 Raspberry Pi NAS(网络附加存储)设备的经验,从小型全SSD NAS到Petabyte Pi项目。提到了Pi 4和Compute Module 4的性能局限性,以及两个有前景的项目因Pi短缺而失败。随着Raspberry Pi 5的发布,作者探讨了使用Pi 5构建NAS的可能性,包括成本效益、性能以及潜在的瓶颈问题。介绍了使用Radxa SATA HAT的方案,以及如何通过12V电源、风扇和microSD卡构建成本低廉的NAS。

05:04

🛠️ NAS 组装与初步测试

作者详细介绍了组装Raspberry Pi 5 NAS的过程,包括连接FFC(Flexible Flat Cable)和GPIO引脚供电。讨论了散热问题,尝试安装散热器并解决了电源插口与散热器冲突的问题。提到了OLED和风扇控制板的缺失,以及使用Zigbee智能插座进行功率测量。最后,作者启动了系统,并计划通过网络登录进行进一步的测试。

10:08

🔍 硬件检测与PCIe 配置

在系统启动后,作者检查了硬件是否被正确识别。最初未检测到硬盘驱动器,通过查阅文档和配置PCIe设置后,成功识别了硬盘。作者还检查了PCIe的连接速度,发现当前为Gen 2,尝试提升至Gen 3以提高性能。此外,作者进行了硬盘的基准测试,包括RAID 0和RAID 10配置,并使用热成像相机检查了设备的温度。

15:10

📡 网络性能测试与Samba共享设置

作者对构建的NAS进行了网络性能测试,包括通过Samba共享进行文件传输,测试了写入和读取速度。发现读取速度能够达到122MB/s,而写入速度则略低。此外,作者还提到了Open Sauce活动,并鼓励观众参与。在测试中,作者发现Mac OS在网络文件复制方面的性能不佳,建议使用Windows PC进行更准确的基准测试。

20:15

🔌 2.5G网络适配与性能提升

作者尝试为NAS添加2.5G网络支持,使用了PineBerry Pi的HatNET! 2.5G适配器和HatBRICK! Commander来实现。尽管存在PCIe接口的限制,但通过使用PCIe开关,成功连接了SATA硬盘和2.5G网络适配器。测试了网络传输速度,发现写入速度有所提升,而读取速度则显著提高,达到了2.5Gbps的预期。

25:20

📚 OpenMediaVault 7 安装与RAID管理

作者尝试在NAS上安装OpenMediaVault 7(OMV 7),探索了其RAID管理功能。通过OMV的界面,作者成功创建了ZFS存储池,并配置了RAIDZ1阵列,提供了一定程度的数据保护。在测试中,作者发现ZFS在写入性能上略逊于RAID 0,但读取速度相当,且整体功耗较低。

30:23

🔧 总结与未来展望

视频最后,作者总结了整个构建过程,指出了DIY NAS的成本效益、性能和维护责任。提到了使用Raspberry Pi 5和相关硬件构建的NAS总成本低于200美元,并讨论了其功耗效率。作者表达了对未来实验的期待,包括探索Compute Module 5的潜力,并鼓励观众关注后续内容。

Mindmap

Keywords

💡Raspberry Pi NAS

Raspberry Pi NAS是指使用树莓派(Raspberry Pi)构建的网络附加存储设备。在视频中,作者尝试构建从小型SSD NAS到Petabyte Pi项目等不同规模的NAS系统。这个概念与视频主题紧密相关,因为整个视频都围绕如何使用树莓派5和相关硬件构建NAS系统展开。

💡PCI Express

PCI Express(PCIe)是一种计算机总线技术,用于计算机硬件之间的高速连接。在视频中,作者提到树莓派5支持PCI Express,这是实现更快数据传输和连接外部存储设备的关键特性。PCIe的使用对于提高NAS系统性能至关重要。

💡SATA HAT

SATA HAT是一種为树莓派设计的硬件附加模块,它提供SATA接口连接存储设备。在视频中,作者使用了Radxa提供的SATA HAT,该模块具有五个SATA连接,用于连接硬盘驱动器,是构建NAS系统的核心组件之一。

💡FFC(Flat Flexible Circuit)

FFC,即平面柔性电路板,是一种柔性电路板,允许在有限空间内进行复杂的电路连接。在视频中,作者使用FFC来连接树莓派5的PCI Express接口和SATA HAT,展示了FFC在紧凑空间内实现硬件连接的应用。

💡RAID

RAID(冗余阵列独立磁盘)是一种将多个硬盘驱动器组合成一个逻辑单元的数据存储虚拟化技术。在视频中,作者提到了RAID 0和RAID 10配置,以及尝试使用ZFS的RAIDZ1配置,以提高存储性能和数据冗余。RAID是构建高效NAS系统的关键技术之一。

💡ZFS

ZFS是一种先进的文件系统和体积管理器,它结合了文件系统和卷管理功能,提供了数据完整性、可扩展性和灵活性。在视频中,作者安装并使用了Open Media Vault 7,尝试使用ZFS创建存储池和文件系统,展示了ZFS在NAS系统中的应用。

💡HatNET! 2.5G

HatNET! 2.5G是为树莓派设计的网络附加模块,提供2.5千兆以太网连接。在视频中,作者尝试使用HatNET! 2.5G来提升NAS系统的网络传输速度,以达到比标准千兆以太网更高的数据传输速率。

💡HatBRICK! Commander

HatBRICK! Commander是Pineberry Pi提供的一款PCI Express开关,允许多个PCIe设备共享树莓派上的单个PCIe连接器。在视频中,作者使用HatBRICK! Commander连接SATA HAT和HatNET! 2.5G,展示了如何通过该设备实现更复杂的硬件配置。

💡功耗

功耗是指电子设备在运行时消耗的电力量,通常以瓦特(W)为单位。在视频中,作者关注了整个NAS系统的功耗,特别是与商用NAS设备相比,树莓派5构建的NAS系统展现出了较低的功耗,这在长期使用中可以节省能源成本。

💡散热

散热是指从电子设备中移除多余热量的过程,以保持设备在安全温度下运行。在视频中,作者讨论了为NAS系统添加散热设备的重要性,包括为SATA控制器芯片安装风扇或散热器,以避免过热导致的性能下降或损坏。

💡Open Media Vault

Open Media Vault(OMV)是一个基于Linux的开源NAS解决方案。在视频中,作者安装并配置了OMV,用于管理树莓派上的存储设备,并提供了一个用户友好的界面来管理文件共享、用户权限和系统维护。OMV的使用展示了如何将树莓派转变为一个功能完备的NAS设备。

Highlights

构建了多种树莓派NAS设备,从小型全SSD NAS到地球上最大的Pi项目,Petabyte Pi。

树莓派4和Compute Module 4的性能勉强够用,但无法达到每秒100兆字节的网络速度,即使使用SSD。

Wiretrustee SATA板和Radxa Taco两个有前景的项目因树莓派短缺而失败。

树莓派5的发布带来了更快的速度和PCI Express支持,并且可以实际购买到。

使用Radxa发送的小型SATA HAT,成本仅为45美元,已经发货,可以构建成本不到150美元的小型NAS。

树莓派5仅支持千兆网络,而其他NAS支持2.5千兆,但DIY项目总是存在权衡。

可能会有2.5千兆网络的解决方案,作者计划组装并测试是否能够打造终极的树莓派5 NAS。

Radxa的Penta SATA HAT包括五个SATA连接,可以连接四个硬盘,并使用外部连接增加一个。

通过12V电源或ATX Molex电源供应器供电,可以为树莓派5通过GPIO引脚提供电源。

树莓派5使用FFC(柔性扁平电缆)连接到SATA HAT,这种连接非常精细。

组装时需要注意FFC电缆的正确安装,以避免损坏。

在组装过程中可能需要螺丝和支架等小配件,Radxa通常提供所有必需的小配件。

OLED和风扇控制板尚未可用,对于使用较热的2.5英寸硬盘的情况,风扇非常重要。

作者意识到需要为树莓派本身添加散热装置,因为没有内置风扇。

通过修改散热器,成功为树莓派安装了主动式散热器。

使用JMB585 PCIe Gen 3x2控制器的主板,即使升级到Gen 3,也会损失一些带宽。

使用Open Media Vault(OMV)作为NAS操作系统,并成功识别了所有连接的硬盘。

在RAID 0配置下,硬盘阵列的写入速度接近每秒900兆字节,而4K随机写入速度为每秒152兆字节。

通过Samba共享,尝试持续饱和1 Gbps的连接,写入速度稳定在每秒110兆字节。

尝试使用PineBerry Pi的HatNET! 2.5G和HatBRICK! Commander实现2.5千兆网络连接。

在使用2.5千兆网络时,读取速度可以达到每秒250兆字节,而写入速度略有提升,但未超过千兆。

安装并尝试使用Open Media Vault 7,创建了ZFS存储池并进行了测试。

ZFS在RAID Z1配置下的性能与RAID 0相似,但写入速度略慢,而读取速度基本相同。

整个系统的功耗在8到16瓦特之间,与其他NAS相比具有更高的能效。

作者建议不要使用Mac进行网络文件复制的基准测试,因为Mac OS在文件复制方面表现不佳。

整个DIY NAS项目的成本不到200美元,包括所有额外的板卡和组件。

Transcripts

00:00

I've built a bunch of Raspberry Pi NASes, from a little tiny all-SSD NAS to the biggest

00:05

one on Earth, the Petabyte Pi project.

00:08

But the Pi 4 and Compute Module 4 were just barely adequate.

00:11

I could never get even 100 megabytes per second or the network, even with SSDs.

00:17

The two most promising projects, the Wiretrustee SATA board and Radxa Taco, were both dead

00:22

in the water.

00:23

They launched right before the great Pi shortages, when you couldn't get a Raspberry Pi for

00:27

love or money.

00:28

But the Raspberry Pi 5 is here now.

00:30

It's faster, it has PCI Express—and best of all, you can actually get one.

00:35

Yeah, it's a little more expensive than the Pi 4, but with off-the-shelf 4-bay NASes costing

00:40

$300 and up, could we actually build a Pi NAS for less?

00:45

And would it be any good?

00:46

Well, today I'm going to see.

00:48

And to do it, I'll use this tiny SATA HAT that Radxa sent.

00:52

This costs $45, and it's already shipping.

00:55

Add a 12V power supply, a Raspberry Pi 5, a fan and microSD card, and we have a tiny

01:00

NAS for less than $150.

01:03

But will bottlenecks kill this thing like they did with the Pi 4?

01:05

I mean, the Pi 5 only gets a gigabit, those other NASes can do 2.5.

01:10

And they have hot-swap drive bays...

01:13

And vendor support!

01:14

So yeah, comparing just on price alone is silly.

01:17

There's always going to be trade-offs when you go DIY.

01:20

But this thing should have a lot fewer compromises than the jankier builds I did in the past.

01:25

At least, I hope.

01:26

And 2.5 gig networking?

01:28

I might have a fix for that.

01:30

I'm going to put this thing together and see if it could be the ultimate Raspberry Pi 5

01:34

NAS.

01:35

I do not know exactly what tools will be required, and I don't know what's in the box.

01:40

Hopefully it includes everything I need.

01:43

But Radxa usually does a pretty good job including all the little bits and bobs you

01:47

need for this.

01:48

Looks like it includes this extra cable.

01:50

This is, after all, the 'Penta' SATA HAT,

01:53

so five SATA connections.

01:55

I have four drives here, but you can add on another one using this strange external– I

02:00

guess this might be eSATA or something?

02:03

But it has SATA and power from this board.

02:07

Something important to think about is how you're going to supply power to it.

02:12

I know some people in comments have mentioned, "Oh, you need to supply power to the Pi and

02:15

this board."

02:16

But no, I believe that you can just power this board through the 12-volt barrel jack

02:21

or through an ATX Molex power supply here.

02:25

So if you have it in a PC case or something, you could do it that way.

02:29

And this will supply power to the Pi 5 through the GPIO pins.

02:33

This should be able to provide adequate power as long as the power circuitry on here is

02:38

good enough to take that 12-volt signal and give a clean 3 to 5 amps on the Pi's 5-volt

02:45

rail.

02:46

This doesn't have the normal PCI Express connector that you see on the Pi 5.

02:54

So the Pi 5 has this little guy here.

02:58

This has a much larger connector with more pins.

03:02

That could be an interesting thing.

03:04

I believe that they have an adapter for it, though.

03:06

So yeah, here it is.

03:08

So this is called an FFC or Flat Flexible Circuit board.

03:14

And it looks like they've included two, which is nice because these little connectors are

03:22

a little bit delicate.

03:23

You can see how thin they are.

03:24

They're kind of like paper-thin.

03:27

But these are Flat Flexible Circuit boards or FFCs.

03:31

And they connect from the Pi's PCI Express connector here over to this guy here.

03:38

And the GPIO pins over here are going to provide power to the Pi.

03:42

At least that's my hope.

03:45

There is a getting started guide on here, but I'm going to YOLO this thing and see what

03:51

happens.

03:52

One important thing whenever you're doing these is make sure you get the connector seated

03:55

all the way.

03:56

And it should go in pretty easy.

03:58

If you're pushing hard, then you're going to break the cable.

04:00

So don't do that.

04:01

If you're pushing hard, you might need to pull this little connection up and always

04:04

do it on both sides so that it doesn't come off.

04:08

Because if it comes off, it might break and then you would not have a way to hold the

04:11

cable down.

04:12

Push down on this little top part and this cable is now affixed to the Pi very well.

04:20

And then I'm going to plug it into here.

04:23

So it looks like it goes like this.

04:26

The funny thing is these kind of connectors are often used inside of cameras and other

04:31

things that are put together at factories.

04:34

And there they're very careful.

04:35

They have their methodologies.

04:36

They even have tools to help with it.

04:39

When you give these things to people in the general public, like you and me, we tend to

04:43

break our first one.

04:45

So I guess it is a really good idea that they included a second one here.

04:49

They probably have some screws too.

04:51

Let's check.

04:52

Yeah, there's a little kit full of screws here.

04:55

There's some standoffs and things.

04:59

And then now I'm going to put this in.

05:04

I'm going to carefully put this over and plug in the GPIO pins that provide power.

05:13

But that fits nicely together.

05:16

There is a connector here for an OLED and fan control board that sits on top of the

05:21

hard drives at the top.

05:23

They don't have that available yet.

05:25

I think they used to make it.

05:26

I don't know if they needed to revise it for this or what, but I asked about it and it's

05:31

not yet available.

05:32

So it would be nice to have that, especially, these are not that hot of drives, but if you

05:36

use hard drives, if you use 2.5 inch hard drives, then those can get pretty toasty and

05:41

it's nice to have a fan blowing air over them.

05:44

I just realized I don't have any fan on the Pi itself and I probably should do that because

05:49

it could get pretty hot and toasty inside here.

05:52

Let's get our little active cooler here.

05:54

I hope this will fit.

05:56

I don't know if there was a warning against using this, but the Pi does need some sort

06:00

of cooling, whether it's a heat sink or a fan.

06:03

There's no fan built into this.

06:05

It would be cool if there was a little fan under here or an option for one, but it doesn't

06:10

seem like that's the case.

06:11

Okay, please still fit.

06:15

Looks like it will fit.

06:16

Oh no, you know what?

06:20

The barrel plug is just touching on the top of the heat sink.

06:29

There's literally just three of the fins on the heat sink.

06:33

You know what I might do?

06:34

I might see if I can bend those off.

06:37

Take this back off again.

06:39

I'm going to pull this connection off.

06:45

This is a terrible idea.

06:46

I would not recommend doing it.

06:49

Just bending this back and forth.

06:51

There's one.

06:54

Shouldn't affect the performance that badly.

06:56

I removed the middle portion from the middle point up of these three little fins on the

07:03

heat sink.

07:07

There's a side view of it.

07:08

You can kind of make it out.

07:10

It's kind of hard to make out.

07:11

Sorry about that.

07:13

Let's get this all back together now and see if it fits.

07:16

This time, if I go down, it can go down all the way.

07:20

Look at that!

07:21

That's just enough clearance.

07:23

As long as it works in the end, it's all good.

07:27

I use this huge guy.

07:31

Just give these a little snug.

07:33

Generally, I'd use a nut driver for this, but this works in a pinch.

07:38

Literally.

07:39

[voiceover Jeff] My top-down recorder decided to corrupt the rest of the video, so I lost all that footage.

07:44

But in that footage, I mentioned the board uses the JMB585 PCIe Gen 3x2 controller, which

07:50

means even if we upgrade the Pi 5's bus to Gen 3 from its normal Gen 2, we'll miss out

07:55

on a little bandwidth.

07:56

And also, the kit comes with two side supports that hold all the 2.5" drives together, though

08:02

there may be a case available at some point in the future.

08:04

They actually had one in the past when it was sold for the ROCK 4 or Pi 4, I think, but

08:09

I'm guessing that they'll have to make another batch if they get enough interest in this

08:13

new version of the Penta SATA hat.

08:15

Okay, so everything is put together now.

08:17

It's all looking nice, and I think there will be enough airflow.

08:21

There's holes in the sides, holes in the middle, so enough air will convect through for these

08:26

drives at least.

08:27

And I have a 5A 12V power supply.

08:30

This should be adequate for these drives and the Raspberry Pi 5.

08:34

I'd budget maybe 3 to 5 watts per drive, or if you have 3.5" drives, maybe a little more,

08:40

and you might want to get an 8A or maybe even 10 or 12A power supply.

08:45

But definitely don't use a 2A power supply and expect this to work.

08:48

It's going to have all kinds of issues.

08:50

I also have Raspberry Pi OS, 64-bit light version, and I might try Open Media Vault.

08:55

I'm going to take the microSD card and put it into the slot, and then I'll grab this

09:01

power adapter.

09:04

One other reason why I'm over at the desk is I have my little, this is a Zigbee– Third

09:08

Reality Zigbee outlet that has power measurement built in, which is very handy for testing.

09:15

I'll go ahead and bring that up on here.

09:17

If I go to Home Assistant and then go to Power, you can see that right now there's 0 watts

09:24

because there's nothing plugged into it.

09:26

Power is going to come in.

09:27

Looks like they wanted to align the power with the USB-C port, not that that matters.

09:33

First I'm going to plug in network, and I'll plug in power and we'll see what happens.

09:37

Hopefully no sparks.

09:38

All right.

09:39

I have a green light on the board, and the Pi is booting up.

09:47

Power usage is up to 14.2 watts at boot, and now the Pi is doing its reboot, so it's going

09:54

to reboot a couple times this first time that I turn it on because it expands the file system

09:59

to fill up the microSD card, all that kind of stuff.

10:02

So we'll fast forward a bit until it's all booted up, and then we can log into it on

10:07

the network and see if it's actually working.

10:09

I don't see any lights.

10:11

There's just one green LED on the board over here, but I don't see any other lights.

10:15

So I don't know if there's lights per hard drive.

10:18

So I'm going to log into it and we'll see what we can see.

10:21

SSH pi at pi-nas.local.

10:26

There it is.

10:27

And if I say lsblk, hopefully we see those hard drives.

10:31

No, we're not seeing them.

10:33

Let's try lspci.

10:36

And I'm not seeing the device at all.

10:39

I don't see any errors in here.

10:42

Let's go to the URL on this box and see if there's any other tips that we're missing.

10:49

rock.sh/penta-sata-hat.

10:51

...penta-sata-hat.

10:57

So we did that.

10:58

We did that.

11:00

Oh. [hehe]

11:01

So maybe I should actually do that.

11:04

Let's try that.

11:07

Go in here.

11:09

You'd think it would do it automatically, but it does not.

11:14

So we're going to enable PCI Express, save and reboot.

11:17

So save that and reboot.

11:20

So let's check again.

11:25

There we go.

11:26

We have one, two, three, four hard drives.

11:28

And if I say lspci, I can see the Jmicron SATA controller.

11:33

Now, right now it should be PCI Express Gen 2.

11:36

We can check that with sudo lspci -vvvv.

11:42

This is going to give us all the information about PCI Express devices.

11:46

And if I go up to here, this is AHCI.

11:48

That's the kernel module for the SATA controller.

11:52

And we can go up to the top section.

11:54

See, it's Jmicron JMB585.

11:57

And if I go down to link capabilities, it says speed 8 gigatransfers per second width

12:03

x2.

12:04

That's PCIe Gen 3x2.

12:06

But the status says it's 5 gigatransfers x1.

12:10

So definitely less bandwidth than the chip is capable of.

12:14

So I'm going to try PCIe Gen 3.

12:17

And I can do that following my own guide.

12:19

If I go down here, turn that on like this and reboot.

12:26

And we'll see if it gives us Gen 3 speeds instead of Gen 2 speeds, which would give

12:31

us the maximum performance that we can get on the Pi 5.

12:35

I have four drives that have nothing on them.

12:37

I'm going to try-- we should probably just benchmark the drives first in like RAID 10

12:42

just to see what the maximum speed is or maybe even RAID 0.

12:45

So let's do that.

12:46

It'll take a couple minutes.

12:48

And we have blinking!

12:50

So you can see that the LEDs actually do work.

12:53

I didn't see those when I was looking earlier, but it has some LEDs.

12:57

And you can see them blinking when the drives are accessed.

12:59

So nice job.

13:00

I should check.

13:02

It does feel a little bit hot.

13:06

InfraRay, I found them at CES.

13:08

And they actually sent me home with a couple goodies.

13:11

This is the P2.

13:12

And the reason why I wanted them to send me home with one to test was it has this snap-on

13:19

macro lens that you can see individual resistors or things on your PCB very close up, which

13:25

is kind of cool.

13:27

But their software is a little bit iffy.

13:31

Not the best software that I've used for IR cameras.

13:34

But the camera itself is really good quality and works better than my old Seek thermal.

13:39

But let's check the temperatures on here.

13:42

And it looks like the drives themselves-- well, they're a little bit reflective.

13:47

So we might not be seeing the actual drive value.

13:50

But the board is up to 50 degrees or so.

13:56

The SATA controller is down there.

13:58

It looks like it's the hottest part of this thing.

14:00

And it is getting up there to 60 degrees Celsius.

14:03

So it might be good to have at least an active fan blowing down on top.

14:09

There's the cold soda can;

14:10

16 degrees Celsius.

14:12

And there's the hot SATA chip.

14:14

So I'm going to put this cover on and see up nice and close.

14:18

If I get in there, we can see that the chip itself is 60 degrees Celsius.

14:26

So it's pretty toasty in there.

14:28

I would definitely do a fan or heat sink on this if you're going to deploy this long term.

14:34

Another fun thing with thermal imaging is you can see all kinds of fun details.

14:38

Like, you can see that this is where my hand was resting.

14:42

And if I just put my hand on the table and take it off, there's a hand print.

14:47

And apparently this little screen on here also generates a teeny tiny bit of heat.

14:53

And now it has my fingerprint on it, which is also warm.

14:56

Looks like the formatting is finished.

14:58

And what's our next step here?

15:00

Mount the array.

15:01

OK, mount RAID 0.

15:04

So now let's do a disk benchmark on it.

15:06

And I'll run the disk benchmarks and see how fast this array can go.

15:10

OK, here goes FIO.

15:12

Hey, that's not bad at all.

15:14

850 to [8]60 megabytes per second.

15:17

And that's mebibytes.

15:20

So let's see how fast it was in megabytes.

15:24

Almost 900 megabytes per second across all four drives in RAID 0, of course.

15:29

But random reads of 687 megabytes per second and random writes of 758.

15:37

And then we have 4K block size, 44 megs read and 152 megs write at 4K, which is not bad

15:45

at all.

15:47

I'm interested in seeing-- I think what I'll do is I'll just put a Samba share on this,

15:52

and we'll see if we can saturate a 1 Gbps connection continuously.

15:55

Restart Samba and create a password.

16:00

Now I should be able to connect on my Mac.

16:03

pi-nas.local, we'll do the shared directory.

16:08

Here it is.

16:09

So I'm going to copy over a folder with all of the footage of the build.

16:15

It's 100 gigs.

16:19

And let's check this out.

16:20

Let's see how fast it is.

16:24

That is line speed.

16:25

110 megabytes per second is pretty typical.

16:28

Let's see if it can keep up that data rate.

16:30

I can smell that slight off-gassing here.

16:33

So I do think that I would put some sort of cooling on here just for that JMB585 chip.

16:39

On my other NASes, over 1 gigabit, you can just hammer it, and it'll stay 110, 115 megabytes

16:45

the entire time.

16:47

This is a lot faster than the Pi 4 NASes I've set up before, though.

16:50

And we'll just let the screen recorder keep going at 18 minutes, and we'll just keep moving.

16:55

While that's copying, I want to take a brief opportunity to tell you about Open Sauce.

16:59

Open Sauce is going to be June 15 to 16 in San Francisco, and I'll be there.

17:04

I'll be there along with a ton of other creators in the Maker areas, electronics, hacking,

17:10

all kinds of fun things.

17:12

If you want to go, there's a way that you can get in for free, and you can come to the

17:16

party that's beforehand, where all the other YouTubers and everyone will be present.

17:21

If you want to do that, you can apply to be an exhibitor.

17:24

They have tons of space for exhibits this year.

17:26

It'd be really cool to see your project.

17:29

So if you want to do that, go to opensauce.com and apply to be an exhibitor.

17:33

Otherwise you can also come as just a normal person who's not exhibiting things too.

17:38

So hopefully I'll see you there June 15 to 16.

17:40

If not, I will definitely be posting some things on Twitter and maybe something on YouTube.

17:44

I don't know.

17:45

So make sure you're subscribed.

17:49

It copied everything over to the Pi.

17:52

Now let's check the read speed.

17:53

I'm going to copy it back into a different folder on my local computer.

17:58

And we'll see if it can give me 110 megabytes per second.

18:01

Oh, look at that.

18:02

It's giving me 122, which is a little faster than the write speed.

18:07

And you can see that the drives are reading pretty much flat out right now.

18:10

I don't know if that'll fill up the cache, but you can see that the data is flowing a

18:15

lot more smoothly coming off the Pi than writing to it.

18:20

So there are some bottlenecks.

18:21

I don't think it's Samba, and I don't think it's the drives themselves.

18:25

I think there's a bottleneck somewhere in the Pi's kernel or something when it's writing

18:29

through because I had that problem on the Pi 4, but on the Pi 4, it wouldn't even hit

18:33

like 120 megabytes per second all the time.

18:36

But reading, that's not an issue at all here.

18:39

We're cranking at 120 megabytes per second.

18:44

I deleted everything off of there, and it looks like obviously read speeds are much

18:49

more consistent than write speeds.

18:52

But I'm going to try something else that I mentioned at the beginning of this video.

18:55

What about 2.5 gig networking?

18:58

Now PineBerry Pi makes the HatNET! 2.5G.

19:02

This is a 2.5 gigabit hat for the Raspberry Pi 5.

19:06

But you'll probably already notice there's a problem.

19:09

It has one PCI Express input.

19:11

There's only one PCI Express connector on the Raspberry Pi 5.

19:15

How do we solve this problem?

19:16

Because this needs that, and I want to put it on here too to see if I can get 2.5 gig

19:20

networking.

19:21

Well, I can try the HatBRICK! Commander from Pineberry Pi.

19:26

And yes, they sent me these things.

19:27

I would be buying them myself anyway, but I'm going to disclose that Radxa sent me this,

19:32

and Pineberry Pi sent me this.

19:34

I'm testing these things out to see if they can work together and do some crazy things.

19:39

But Pineberry also sent me all of these extra cables of varying lengths.

19:45

One thing that can be a problem with when you start connecting multiple things together

19:48

is the PCI Express signaling.

19:51

So I'm going to try to use the shortest cables I can for these experiments.

19:56

But I'm going to basically put this, which is a PCI Express Gen 2 switch, off of the

20:01

Pi's bus, and then connect one connector to the SATA drives and the other connector to

20:06

the HatNET! 2.5G.

20:09

The downside is this is going to make everything be PCI Express Gen 2 speed instead of 3, so

20:14

I wouldn't be able to get 800 megabytes per second on these hard drives.

20:18

But on the flip side, this is 2.5 gig networking, and if we say, let's say 2 gigs for networking

20:25

and 2 gigabits for the hard drives, we might be able to do that to almost saturate 2.5

20:30

gig network if the Pi 5 can support that.

20:33

I don't know if it can or not.

20:34

I don't think it will be able to, but we'll see if any of this even works.

20:39

It might also not have enough power.

20:41

I don't know.

20:42

But I'm going to unplug this.

20:45

Okay, we got that connector out of here.

20:52

There is some risk here.

20:55

If we are mixing these cables from different vendors and connections, there's a little

20:59

risk that something's going to go wrong, but hopefully that doesn't happen.

21:04

It's definitely not my finest work.

21:10

There's an LED on here, and I see a light on the switch, and there's a power LED on

21:16

the HatBRICK! Commander, and there's lights on here.

21:19

Let's see if this is actually going to work.

21:22

lspci...

21:23

Hey, look at that.

21:26

So we have the switch here.

21:28

We have the SATA controller here, and we have the 2.5 gig controller here.

21:35

Let's do ip a, and we have an IP address on that.

21:41

So let's do an iperf test.

21:43

Now we're getting 2 gigabits.

21:45

It's not 2.5 gigabits, but it's not nothing.

21:48

So coming back only 1.6 gigabits, that's not horrible.

21:52

It's still more than a gigabit.

21:53

This is probably going to get 2.5 gigabits if you connect it straight to the Pi.

21:57

I think that some of the overhead comes out of that packet switching that is running to

22:02

the drives as well.

22:03

So if I say lsblk, we still have the drives, and they're mounted.

22:08

So we'll see if we get any faster write speeds.

22:12

It's doing 110, 117.

22:15

That's about the same as what we were seeing before.

22:17

So we're not getting faster than a gigabit over the 2.5 gig connection, at least for

22:23

writes.

22:24

I do see a few peaks up to about 125 megabytes per second, so better than a gigabit.

22:30

And it's interesting, the overall rate seems a little steadier with the 2.5 gig.

22:36

Maybe the Pi's internal controller is a little funky, but I don't know.

22:41

But it's giving us a little bit more in the write speeds.

22:44

I'm really interested to see the read speeds, though.

22:47

Hopefully we can get more than 1 gigabit.

22:49

Let's check.

22:51

There we go.

22:52

217 megabytes, 250 megabytes per second.

22:55

That's more what I'm expecting out of a 2.5 gig connection.

23:00

So this can put through that data.

23:02

It's interesting.

23:03

I think it's pulling from RAM because I don't see the drives blinking at all here.

23:07

It's probably copying all this data from RAM, and now it's hitting the drives.

23:10

And you can see it dips a tiny bit there, so down to 230 megabytes per second.

23:16

So Linux usually caches files on the RAM as it's copying them back and forth, so that

23:20

if you have a file that you're accessing a lot, it's a lot faster.

23:23

But now that it's hitting the drives, it only dipped down 10 megabytes per second, so that's

23:28

not bad at all.

23:30

So for a read-heavy NAS, this isn't looking like that bad of a setup.

23:35

Now that I know that everything is going to work on here hardware-wise, I think it's time

23:40

to put OMV on here and see how that runs.

23:42

I haven't used OMV 7 yet, so this will be new for me.

23:46

I don't think it's that much different than OMV 5 and 6, but let me grab this script and

23:52

go over here, and this hopefully will just work.

23:55

I'm going to SSH into the Pi and just paste in their script, the installer, and here it

24:02

goes.

24:03

Let's check power consumption.

24:05

So during the install, it was used in between 8 to 10 watts, and it looks like the baseline

24:09

for this build is 8 watts with the 2.5 gig network adapter and everything else.

24:15

But let's go to pi-nas.local, and does this work?

24:23

Maybe I have to use the IP address.

24:25

Let's try that.

24:31

Well there it is.

24:32

I guess it was still booting up.

24:33

Okay, so that was not the problem there.

24:37

So 'admin' and 'openmediavault' are the password logging in.

24:43

There it is.

24:45

There's no dashboard, that's okay.

24:47

Storage is where we should see our disks.

24:49

They should show up.

24:50

Yep, 1, 2, 3, 4.

24:52

All of them are 8 terabytes.

24:55

And I want to create an array.

24:59

File systems.

25:00

Is this where we create it?

25:02

Create and mount a file system, ext4.

25:07

But I want to create a RAID array.

25:08

How do I create a RAID array?

25:10

Am I totally missing something?

25:14

I thought there was a thing over here for creating RAID, but I don't see it anymore.

25:19

What does this say?

25:24

See, this has RAID management, but I'm not seeing RAID management anywhere.

25:30

Do you see RAID management anywhere?

25:32

We could try ZFS instead of RAID, but that's instead of like mdadmin RAID.

25:38

So we can try it out on openmediavault.

25:40

I've never tried it on OMV before, but we'll see how it works here.

25:45

I like this little END OF LINE here.

25:48

I guess a nod back to Tron, the 1974 version.

25:52

And we'll do RAIDZ1 since we have three drives.

25:55

A RAIDZ1 will use one drive, the equivalent of that for parity data.

26:00

That way I could lose one of these four drives and all the data would be intact.

26:04

But here we go.

26:06

It says pending changes, 21 terabytes available.

26:11

Let's apply this.

26:12

So now the tank should exist.

26:15

Compression is on.

26:16

I don't know if I would need compression on, but I'm not going to mess with any of that

26:21

right now.

26:22

If we go to pools, is there anything else I can do?

26:26

Tools, what do we got?

26:27

So you can scrub it.

26:28

I don't know if it automatically scrubs in here, but it gives us the pool information.

26:34

That's nice.

26:35

So this is a good interface.

26:37

It's not the, maybe not the best thing ever.

26:40

And I don't know if it comes with schedules and things by default, but it'd be nice to

26:44

have a scheduled snapshot and a pool scrubbing scheduled.

26:49

That might be something that you can figure under scheduled tasks.

26:52

Yeah, so you'd have to do some of these things.

26:57

You'd have to add your own scheduled tasks.

26:58

It'd be cool if that added some things by default, but I can see why they don't as well.

27:04

But now let's add a file system.

27:07

So we have one tank ZFS.

27:10

I'll add a shared under tank shared, and we'll just set everyone read/write, right now,

27:20

save, turn on Samba enabled 10.0.2.2– 11.

27:28

Okay.

27:29

So it wants me to use the IP and there's our shared volume.

27:34

So let's, I'm going to copy some stuff over to it.

27:37

I have this, this folder has a hundred gigabytes.

27:43

So I'll do that.

27:44

And here it goes.

27:46

So it seems similar to the copies that we were getting with RAID 0.

27:52

It's interesting.

27:53

It goes a little bit faster sometimes than those copies were.

27:57

So I'm wondering if ZFS's caching is actually helping here.

28:00

So far, I'm pretty impressed.

28:02

I think read speeds are where this wins.

28:06

Write speeds are where this loses a little bit because you're not going to be able to

28:09

get full 2.5 gigabit networking on that.

28:12

But but it's better than I was expecting.

28:15

And the big win for me, besides the fact that this can be made smaller, if we kind of reconfigure

28:20

these boards the big one is the power efficiency, because right now we're using 15 or 16 Watts.

28:29

Probably the other NASs that I've built using, you know, prebuilt NASs, they use, they use

28:35

10 to 20 Watts idle and they use 25 to 30 Watts when they're doing a lot of stuff.

28:40

So this little guy is only using 16 Watts doing the same amount of work which is probably

28:47

about half of what most prebuilt NASs would use.

28:51

On the flip side, if you build a NAS with the RK3588 chip, you could probably get even

28:56

more efficient and more speed.

28:58

So there's a couple boards out there that are interesting that I might take a look at

29:01

at some point.

29:02

But the nice thing is all of this, this is all really well supported.

29:06

Like the software just click some buttons and you have everything working.

29:10

I haven't always had that same kind of experience when I'm using the RockChip boards.

29:16

Some of them are getting pretty good though.

29:17

I'm going to go ahead and let this write finish and I'm going to do a full read of that 100

29:21

gigs of data and we'll see where we end up.

29:24

At the end of the copy, it looks like the system used 22 Watts for a little while while

29:33

it was doing some sort of processing.

29:35

I don't know what ZFS was doing there.

29:37

Maybe that was part of the compression.

29:38

I don't know.

29:39

It's a lot of power to use at the end there.

29:42

The actual performance was interesting.

29:44

After that initial part where it was faster than RAID 0, it actually slowed down to a

29:49

tiny bit slower than RAID 0 over that long rest of the copy.

29:53

That's why it's good to use a large, large file to test the actual performance of your

29:57

system because especially with ZFS, it's going to cache a lot in the beginning in RAM and

30:01

that throws off how fast your actual disk array is.

30:05

But the CPU usage was not too bad.

30:08

Power consumption was down around 8 to 16 Watts throughout the whole copy.

30:14

But in the end, the file copy was 74 megabytes per second with ZFS in RAID Z1 and it was almost

30:23

100 megabytes per second in RAID 0.

30:26

Now that's for the writing, which is always going to be a little bit slower with a setup

30:29

like this.

30:30

Read speeds for both are practically the same.

30:33

It's just basically line speed.

30:35

It's not hard at all to do the reads.

30:38

[interjection Jeff] So this is a little embarrassing.

30:39

All those conclusions I have are based on the fact I was benchmarking this all on a Mac.

30:45

And I switched to my Windows PC and I was able to get almost line speed for one gigabyte

30:50

file copies writing to the Pi and 150 megabytes per second writing over the 2.5 gig network.

30:57

So that changes my perspective a little bit on it.

31:00

And I think the biggest takeaway is don't use a Mac for benchmarking network file copies,

31:04

even if it has 10 gigabit networking and everything else on it seems to be fine.

31:09

Mac OS for some reason is not great with file copies.

31:12

And I have a whole blog post and I have more details in the GitHub issue linked below.

31:15

But let's get back to the video.

31:17

[normal Jeff] It's not inconceivable to build a system like this.

31:21

All in this one is still under 200 bucks total, including all these extra boards and things.

31:27

So but it always goes back to DIY means you're responsible for the software, you're responsible

31:33

for maintenance and updates and all that kind of stuff.

31:38

So that was a fun experiment.

31:41

And I plan on doing some other fun experiments now that I have this little this little board

31:46

here that lets me split up PCI Express lanes.

31:49

And we'll see how we can bend the Pi 5's PCI Express bus.

31:53

It'd be really cool to see a Compute Module 5 expose even more, but we'll see what happens

31:58

whenever that comes out.

32:00

I know that that was a big change from the Pi 4 to the Compute Module 4.

32:03

It gave us PCI Express.

32:05

Now we have it on the Pi 5, but I think we might be able to do more in a Compute Module

32:09

form factor, but we'll see.

32:11

Until next time, I'm Jeff Geerling.