Raspberry Pi NAS, 2.5" SATA disks

The 2 USB-to-SATA adapter boards being soldered right to the Raspberry Pi’s USB port pins (on the Raspberry Pi’s underside) is a brilliant hack.

Works well with a Raspberry Pi 3.


Note: if and when the instructions are re-written to wire up to the USB3 ports of a Raspberry Pi 4, then the disk performance would go up a lot. It would go from, say 20MB/sec up to, say, 80MB/sec. That’s a rough estimate.

1 Like

I want to create a low cost ceph cluster using pi s…and usb 3 to sata i/f and redundant 10/100/1000 ports , wi/fi, bt, …in a bonded software defined network.

The primary function would be de-duplication it could be extended to GUID embeddeded blockchaining.
I just want a i n tell i lligently guided restructuring of my thoughts.

That’s a pretty tall order. If and when you get that all working, I suggest you do some thorough torture testing on it in various ways before you really trust it for production.

You might want to consider putting a few dabs of hobby glue (hot glue-gun glue) around those plugged-in USB3 connectors so that they don’t get accidentally unplugged or jostled during production!

Also, I recommend USB enclosures with a JMicron JMS456 or JMS578 controller chips. Although perhaps tricky to find, they work great in Linux, and they are FAST! Another great USB3 enclosure: The Vantec CB-STU3-2PB

I would also suggest you let go of your idea about redundant Gigabit ethernet ports. If you add, say, a Gigabit ethernet USB dongle to your Raspberry Pi 4, it will “compete” with the USB-attached disks themselves on the USB bus, thereby crippling your disk array performance.

One Gigabit connection should be just fine (and it has it’s own separate bus connection on a Raspberry Pi 4), and maybe test the ethernet connection thoroughly with the command-line app called “iperf3” (on both ends of the connection, “man iperf3”), to ensure you are getting true Gigabit speeds through the Cat6 cable.

Actually, now that I think of it, that 80MB/sec I mentioned above (for spinning-rust 2.5" SATA drives, which of course have much bigger capacities for cheaper, compared to SSD’s) would probably only happen without RAID. It’s probably the case that the Raspberry Pi 4 can only write to one disk at a time at 80 MB/sec. Myself, I would have 2 disks attached, but not in a RAID arrangement. One disk would simply be a backup of the other (maybe doing an rsync from one disk to another from a cronjob, once a day, late at night). Couple this arrangement with BTRFS on both disks, with snapper set up to do some snapshotting, and you have lots of nice rollback goodness.

Here are some disk benchmarks on the Pi 4.

I’ve even gone so far as to check out some 2.5" spinning-rust SATA disks. The Toshiba L200 1TB (or 2TB) has a 3-year warranty, and is like 1/4 the cost of comparable SSDs, in similar capacity, and warranty length! Not too shabby!

Here’s a Raspberry Pi 4 in a NAS kit with 4 x 2.5" disks, in a RAID5, with EXT4. He got a speed of 90-100 MB/sec, which I consider impressive.

Edit: there’s no distributor in North America yet for this NAS kit. Only Asia and Europe. Also, I’m not convinced yet that the drivers are mature enough to handle heavy loads, and other torturous real-world NAS usage. The disk controllers are J Microns, that’s good, but I have no sense yet for the reputations for those particular chips (as supported in the Linux Kernel currently shipped with Raspbian): JMS561’s.

Edit 2: I asked about the JMS561 more here: Radxa quad-SATA HAT: really-stable JMS561 disk controller performance in Linux? Raspbian? - Raspberry Pi Forums