I've built a storage server using:
All twelve ports on the cards are populated with storage drives, as are three of the ones on the motherboard, plus the boot drive, which is also on the motherboard. If I put load on the storage drives by copying a large file to them, the ones on the motherboard work fine, but the ones on the cards slowly start getting errors and eventually the system gives up and disables the controllers entirely, necessitating a reboot to get them back. Clearly not good.
For the record, if I have only one of the three cards in the system, things seem to work fine. It's only when I have multiples in that everything becomes brittle.
The Syba people are pretty useless, giving me a lot of handwaving about how Marvell only supports Windows and how Ubuntu must be "having an issue with prioritizing which controller card is being used". And how I might investigate how to assign each card its own IRQ and I/O ports. But the logs below show that this is already being done.
And, of course, how the solution is to trash two of my brand-new cards and pay for another, different controller of theirs to replace them. ಠ_ಠ
What can I do to make these things behave and play nice together?
For the logs below, I did
tee /srv/storage/c1d2/randombytes /srv/storage/c1d3/randombytes /srv/storage/c1d4/randombytes /srv/storage/c1d5/randombytes > /dev/null < randombytes
randombytes is a 60GiB file of random bytes.