DIY Raspberry / Orange Pi NAS That Looks Like a NAS – 2023 Edition
instructables.com
instructables.com
1) Stability due to power delivery. Having dedicated, local power delivery can make a HUGE difference with SBCs.
2) Reliability of SD card media. Spinning rust, or even real SSDs, are worlds more reliable than SD cards. If an SD card is used just for booting, then it'll last forever.
3) Overall reliability of stored data. Having two drives in a proper mirror is definitely desirable.
It matches my criteria for my own colocated 1U Raspberry Pi server. Mine has additional criteria: I have another Pi for OOB serial and remote reset, an ethernet switch so I don't have to pay extra for a separate drop, and USB-3 to SATA adapters with UASP because the Pi 4 supports USB-3 (> 200MB/sec per drive, simultaneously).
https://twitter.com/AnachronistJohn/status/15515998004533084...
That doesn't seem worth it compared to just buying some old used server, especially if you going to get separate pi just for oob.
Hell, currently on ovh/kimsufi $6/mo gives you 2c/4t atom with 1TB of disk and 4GB of RAM
I pay ~10 eur for colocated 2c/4t atom with 2TB
See, I know that my hardware is secure. I don't have to worry about bullsh*t closed-stack IPMI / iLO that requires a specific JVM from a decade ago. My server takes less power than "some old used server", which means I pay less money, anyway.
Also, my server is my own hardware that I own. Is your €10 a month "2c/4t atom" your own hardware, or is it a "dedicated server" that is controlled and managed by OVH / Kimsufi? If the latter, then how do you know it's secure? You don't. You have to trust OVH / Kimsufi. Real, owned hardware is not comparable to "dedicated servers" when it comes to security.
What's fine for you isn't fine for me. I actually care about who has direct access to the systems I run.
In terms of physical security, I don't think there would be much difference between rented and owned hardware.
At least with hardware I own, I know every part of it has been configured by me and by nobody else.
Of course rented hardware, where the customer has full control of a whole system, is preferable to any sort of "dedicated server", but IPMI / iLO is, quite literally, a hardware back door. Yes, the biggest issue is the remote management.
2U servers are really noisy, but colocating is expensive.
I thought a server made out of Pi's would make it more affordable to keep at home, if anything.
It's a wonderful arrangement you have there. I'm embarrassed to say my idea of a cluster is a handful of netbooks.
If your NAS also handles offsite backups and you’re using something like borg or rsync then that too is going to require quite a lot of compute to be able to checksum entire filesystems.
Are there SBCs that have these features? I would be surprised (but delighted) if there were any.
Not hot swappable though. The advantage of hot swapping is that, in a data centre, your ops team doesn’t have to coordinate with your server admin team so that the host is powered off at the exact same time as the operator comes past your rack with a trolley of new disks. Hot swappable means new disks can be added without having to synchronise the host being shut down.
If you’re doing this at home it’s easier to coordinate your admin (you) running sudo poweroff right before site operations (also you) comes around with a new drive.
Too bad though that general purpose SBC's kind of suck for NAS/Storage though. Both the rpi4 and orange pi zero mentioned in the project lack any kind of SATA port and relies on usb to sata.
The best project I saw was the Helios4/Helios64 (https://kobol.io/), but sadly, they folded in 2021. Is there anything even remotely similar around?
Right now I am still using intel-based mini-pc's for diy NAS storage as they simply work better.
https://www.thingiverse.com/thing:5441566
There’s also this one that I did not try, which might fit 15mm drives a little better:
If you pickup a Rock 5b (rk3588 as well) you will get 2.5g ethernet too.
https://www.reddit.com/r/OrangePI/comments/zm3sms/does_the_o...
https://linuxgizmos.com/pi-like-rk3568-sbc-grows-sata-out-of...
"The Rock 3 Model A exploits the RK3568’s ability to multiplex SERDES lanes to enable SATA support on the dual USB 3.0 ports (OTG and host) via a SATA breakout cable."
https://morefine.com/products/morefine-s500-mini-pc
And it has 2 NVME slots.
[0] https://www.en.galagomarket.com//item/display/3130/10443_ohi...
There is GnuBee [1] with two models for 2.5" drives [2] and 3.5" drives [3].
Also weird that they acknowledge that the GNU foundation asked them to change the name yet they seemingly won't ever do that.
Usage (few years of happy usage):
* openwrt custom build with patches
* FDE for all drives using linux cryptsetup, including custom patches for cryptoengine (critical)
* big (read x TB) repos served by locally (on gnubee) run syncthing
* big files served for local media devices over ksmbd, (read 4k streams ;)
* drives in raid1 (linux mdraid)
ultra low power for 24/7, with 90% of energy budget for drives.
Highly recommended! But yes, I agree that it required tinkering, skills and time to set up.
For most things, particularly video streaming, 100 Mbps is more than enough. If you want faster, a Pi 4 can saturate gigabit with mirrored storage on USB. You don't need dedicated SATA ports to do that.
I eventually built a full x86 desktop but found nextcloud is slow with any amount of processing power. Put 20k photos in a directory and it just stops functioning.
Gave up and went with Google Drive.
In practice you often get weird timeout issues and unintelligible errors in kernel logs, hard resets, drives disconnecting or worst, data corruption. It's also always difficult to tell if it is a failing drive, or if it's a controller bug, or power supply issue.
Some are OK, some are great, and some are garbage before they make it to a warehouse shelf.
My 1U Raspberry Pi server with two mirrored spinning rust disks on USB-SATA has been up continuously since September and has been busy with running SearXNG, DNS, email, web (including dynamic sites), MySQL, and so on, while also being used to compile while heavily going in to swap.
In other words, it has been doing non-stop disk I/O since September without an issue.
This is because everything in the machine has excellent power :)
[0] https://www.axzez.com/product-page/interceptor-carrier-board
[1] The module version of the RasPi4.
I clustered five raspberry PIs using Ceph. It's not super great performing, but currently getting 30MBps reads and writes for different pool types; most notably 3 times replicated and 3+2 erasure coded one. There are 6 Adata HD720 2.5" 2TB USB spinning drives. Planning to add SSD for Journaling and wal now.
I've put that cluster through hell - like pulling one straight out and resoldered one USB PSU pass through mod and it didn't lose data at all.
I'm mightily impressed that it works at all
I meant 256-512GB. In my logic it must decrease power consumption when keeping the same IO performance as external ssd connected through USB.
SD cards - class 10 tested on RPI show the same performance 21-27Mbyte/sec
So the issue mostly in throughput performance of the interface
This lack of name recognition is a real pain for people. A lot of folks in the 3D printing community kind of hurt themselves by scouring the internet for marked-up Raspberry Pis from scalpers when a Le Potato or an Orange Pi or a NanoPi or a Rock64 would do just fine. (I use Rock64 boards when I don't need wifi, and Orange Pi 3 LTS boards when I do.) My printer hub is now a Raspberry Pi only because all of the decent touchscreens I found really depend on the Raspberry Pi pinouts to connect power and HDMI, but if you just need a computer in a case, the alternatives are very good and reasonably priced.
These days with EUR 22 no-VAT EU import limit gone, and post COVID price hikes, it's not such a great deal anymore. The price of Orange Pi PC is 2x it was 7 years ago, and the technology is now 7 years out of date.
If you read Step 15, the writer mentions some sort of sandboxing built in to their operating system. I'd say that's the RAID you're apparently missing.
If it is the sd-card then poor installation.
I've had several Raspberry installations get corrupted due to power outage, which the sd-card can't handle at all.
Back then I didn't get booting from SSD through a USB-Sata adapter working. I've read that it is easier now though.
What is your experience?
Quite functional so far.
With normal install you can just configure unattended-upgrades (on Debian at least) and mostly forget about security updates, they will just happen (can even set a schedule for reboots for kernel updates IIRC).
But IIRC boot on card + root FS on SATA or USB-SATA works just fine and you only get some writes off occasional kernel update
[0] https://github.com/billw2/rpi-clone
[1] https://www.jeffgeerling.com/blog/2020/raspberry-pi-usb-boot...
Almost all BSD and Linux distros can boot off the SD card and mount their root on USB attached storage. This is better than doing the permanent fusing stuff, for instance, on Raspberry Pis, and there's absolutely nothing wrong with it at all.