I've been interested in building a DIY NAS out of an SBC for a while now. Not as my main NAS but as a backup I can store offsite at a friend or relative's house. I know any old x86 box will probably do better, this project is just for the fun of it.
The Orange Pi 5 looks pretty decent with its RK3588 chip and M.2 PCIe 3.0 x4 connector. I've seen some adapters that can turn that M.2 slot into a few SATA ports or even a full x16 slot which might let me use an HBA.
Anyway, my question is, assuming the CPU isn't a bottle neck, how do I figure out what kind of throughput this setup could theoretically give me?
After a few google searches:
- PCIe Gen 3 x4 should give me 4 GB/s throughput
- that M.2 to SATA adapter claims 6
GB/sGb/s throughput - a single 7200rpm hard drive should give about 80-160MB/s throughput
My guess is that ultimately, I'm limited by that 4GB/s throughput on the PCIe Gen 3 x4 slot but since I'm using hard drives, I'd never get close to saturating that bandwidth. Even if I was using 4 hard drives in a RAID 0 config (which I wouldn't do), I still wouldn't come close. Am I understanding that correctly; is it really that simple?
yeah you’ve got it about right. Gen 3x4 is 8gb/s*4 == 4GB/s, which is your bottleneck. Hard drives might be closer to ~200-250MB/s each depending on your specific model. That M.2 -> SATA thing seems like it’s more geared towards SATA SSDs with how few ports it has - I wouldn’t be surprised if you could find something with more ports available if needed, or at least for a cheaper price.
Also as you note, RAID0 will be the fastest config but depending on your RAID configuration or workload you’ll probably be getting less than max bandwidth out of each drive anyway.
Based on another comment I read, each SATA port would be 6 gigabits/s which equates to 0.75 gigabytes/s. If I fully saturated all 5 ports, that puts the throughput at 3.75 gigabytes/s. Anything over 5 ports would be bottlenecked by the M.2 PCIe Gen 3 x4 port wouldn’t it?
Yeah but you’re not going to saturate each SATA port with your harddrives, which will be closer to 2 gbps max. The PCIE connector only needs to worry about what actually goes across it. I imagine that card is built to spec with the situation you’re describing in mind, but for more practical purposes I think it shouldn’t be a problem to have even more slots?
Oh that’s right, I didn’t take into account the speed of the hard drives. Sweet