The first issue that I needed to solve was having enough USB 3.0 ports. I looked at many options. I could run a number of Raspberry Pi computers, and link the databases, I could use some crazy expensive cards I found that have as many as 32 USB 3 ports on them, or I could find a motherboard with as many PCIe ports as possible and use cards.
Well, using the R-Pis the costs started to spiral out of control once you started to factor in storage and other needs to run them.
The host cards I found look like this:
They run about $400 each, but just don’t have the bandwidth needed. for 32 ports, it is only using 8 PCI channels. When I started looking at other options, this was just not as economical as I would have hoped.
I finally settled on the Asus B250 Mining Expert motherboard. This has 18 PCIex1 slots, and one PCIex16 slot. I have also ordered a PCIex16 to 8×1 card to further break out channels. This lets me use one Gen3 channel per network card, and have up to 26 available PCIex1 slots for a total of 104 USB 3.0 ports, plus 8 rear, and two more using a connector on the motherboard.
To prototype, I got a bitcoin mining stand, and used extensions for the PCIe slots. I will go into each of these components in other articles.
My second generation prototype looked like this:
I have had little problem with the USB cards to this point. I have been working to tweak the Bios settings, and I believe some of the issues I am having at the moment may be due to some of the options I am locked out of in the Bios. We will see.
I will update later on the new WiFi dongles I am using, and several interesting issues and workarounds I have had to implement as I have begun to scale this up a little at a time. Each stage brings its own challenges.