I’m unimpressed with the selection/price of large-disk-quantity cases, don’t need hot-swap, and would like to build my own drive shelf that holds a bunch of disks and attaches to a separate computer.
I think fabricating a large case with drive-holding hardware seems pretty straightforward. But what electronic components do I need in order to make this work and are they available al la carte?
I think I need:
A power supply for the drives that can turn on and off without a motherboard. Most ATX power supplies need a motherboard signal. What do we do here, short the wires to make an always-on supply and switch it on with the physical switch before booting the computer? Use a relay?
1b. A power supply for this would need a hefty 5v rail, where all the bigger supplies assume big graphics cards and boost the 12v instead (I think). Also need options for distributing to many SATA connectors without breaking the bank. Could we use something like the bus bar for an electrical panel and wire our own SATA to bare wire connectors on to make our own massive rail? Maybe not an ATX power supply at all, but the kind that’s just 5v output.
Back plane: Something that the SATA drives can plug into that lives inside the drive shelf case, and has a single wire that goes out the back and into a card installed in the computer. What powers this? Part suggestions?
PCIe card - goes in the real computer and accepts the connection from the back plane. Might need more than one of these. I think you can get one drive per PCIe lane?
I’d like to try to get 16 disks going to start with as a proof of concept.
You’ll find that, certainly after factoring in your time spend on the project, making a one-off unit isn’t going to be any cheaper then buying one of those “expensive” cases and stuffing it with electronics you’d have to design and build yourself.
Hotswap is a feature of the SATA spec, so even in your own design, drives can be hot-swapped. And if you really don’t want that, use a tower case w/o hotswap bays as Linus showed earlier this year. (search for the 320TB case on their LTT YT channel)
I’ve done something similar with an old fractal case and adding a bunch of spare drive cages to it. For the PSU I just used an old ATX PSU I had and found a switch that connects to the 24 pin connector so I can turn it on and off without a mother board. Then I found some sff-8088 to sff-8087 adapters that fit in to a PCI slot and use sff-8087 to sata breakout cables to connect the disks internally and use sff-8088 cables to connect to the server.
Just make sure you have good cooling as it will get hot. I accidentally unplugged my front fans when I was working on it recently and everything got up to close to 100 degrees.
For the server I have a 16 port LSI HBA card which has 4 external sff-8088 ports (each of which does 4x sata). You could even use sata multipliers to add even more disks without needing more HBA cards or just use more cards.
If all you need is a cheap way to stick a bunch of drives together, perhaps think outside the box and use one or more cheap USB 3.0 connected drive bays, connected with a dirt-cheap ARM-based small server card (a bit better than the RPi that is)?
If it’s mechanical HDDs, USB 3.0 is good enough to saturate the pipe in either case.