Is there a list of linux compatible RAID/HBA cards?
I purchased an LSI Logic HW RAID controller on ebay without doing much research and discovered the hell of 10-year old proprietary drivers and command line tools with no documentation. I'd like to avoid that experience again, and so I'm looking at what will be compatible before making another purchase.
I understand that this question has been asked before. Here is one example. However, every answer I've seen is horribly outdated and full of broken links. The most liked answer in the question linked above directs people to http://ww1.linuxhcl.com/, a now defunct website.
For the purposes of this question, "linux-compatible" means it is supported out of the box in the linux kernel or has an open-source driver and tooling.
Before asking this question, I also looked at the ubuntu certified hardware page (my server runs ubuntu) but all the hardware listed there seem to be complete systems, not individual components. I will be using this for a home NAS/media server but I'm looking for general information so that answers to this question will be useful to a wide variety of cases. Any help is appreciated!
Edit: in response to a comment, I'm adding that the card I initially tried to use was an LSI Logic SAS9260-8I. However, I want to emphasize that this question is not about help with that card. I am looking for linux-compatible hardware to replace that card.
In the time since I asked this question, I have done some research and even made another purchase. I feel I've gathered enough knowledge to answer my own question.
HBA vs HW RAID
I am not aware of any up-to-date list of linux-compatible hardware, and I'm afraid that if one existed, it would quickly become out of date or defunct like the other websites I've seen. However, after reading through the wikipedia page for "SCSI host adapter" and some closely related serverfault questions, I felt that if compatibility and ease of use out-of-the-box are a priority, I should prefer an HBA over a hardware RAID card.
From what I understand, an HBA is incredibly simple, and its only job is to provide its own data (the data from the SCSI bus, in my case) to the motherboard's I/O bus. I gathered that my frustrations came mostly from the fact that RAID cards have to do all the work handling RAID before providing a single volume to the motherboard. At this point I was pretty confident that if I just bought an HBA, the drives would probably appear in linux and I could use mdadm
or something else to manage RAID, instead of wrestling with proprietary tools to configure RAID on the HW RAID card.
My Second Purchase
Feeling pretty confident, I purchased an LSI SAS9200-16e and a breakout cable for under $50 on ebay. Today I installed the hba, plugged in my drives, installed mdadm
, and rebooted. Immediately, I was able to see the drives with lsblk
. No more wrestling with obscure tools. mdadm
is well understood and documented.
Conclusion
If compatibility and ease-of-use are important issues, prefer an HBA over a HW RAID card. Of course, this is a highly-opinionated solution that isn't reasonable for everyone. HW RAID cards exit for a reason. I am not a sysadmin or an infrastructure expert, but my instinct is that if a HW RAID card is a good fit for your needs, then you're probably a professional engineer with far more knowledge on the subject than I have. Additionally, if you're looking for an industry-grade solution, you probably also have vendor support for new and expensive RAID cards.
I approached this question hoping to provide broad, general information. Unfortunately my answer isn't able to help as many people as I had hoped, but I think my answer will still be useful for many of the people here, as I'm sure lots of you are just trying to configure a small home server.