I have a question regarding mixing SAS & SATA drives with the same controller.
For the question, I will use a P420i as an example.
I can mix SAS & SATA drives on this same controller, but I can’t mix them into the same array. I understand SAS and SATA are different protocols using different instruction sets, signaling, and voltages.
But for this example, the card can clearly sifferentiate between the disks and run both without issue so long as they are on separate arrays. But if it CAN differentiate between types of disks and signaling protocols, why can’t it mix them within arrays? Clearly the controller has the ability to see and signal to both.
If it’s because once an array is ‘locked in’ to one protocol it can’t use different instruction sets, what is preventing a more advanced controller from tailoring the instruction set per drive? Or is it because it can’t mix full and half duplex? If that is so, since full duplex commands aren’t common in most environment, couldn’t a controller theoretically limit the instruction set to half duplex to allow compatability?
Or am I just completely wrong and missing something.
You don’t mix SATA and SAS on the same array. The reason for that is that SATA drives can have compatibility issues with backplanes that will cause the drives to drop out. SAS can encapsulate SATA traffic and serve it to the drives, but in this situation, SATA drives are MUCH more likely to drop out of the array.
Generally though for HP and Dell, it’s just because they said so. Prevents a customer from buying SAS drives at the start, and then replacing failed units with SATA drives.
Never Mix SAS and SATA. If you have SAS, use it. SATA is terrible for large raid arrays and SAS gives you two paths to each drive.
I understand that you can’t mix them. For most RAID cards it’s not even possible to mix them, it simply prevents you from mixing them.
But if the SATA drives can have compatibility issues with the backplanes themselves, why wouldn’t that manifest outside of the RAID array? If the issue is with SATA and the backplane, then shouldn’t they disconnect/drop out regardless of being in an array with SAS drives? And shouldn’t they drop out of a SATA-only array as well if the issue lies with the backplane?
And since SAS encapsulates SATA traffic and serve it without issue, then what exactly is the issue causing it to drop out of the array/be incompatible?
Am I missing something obvious? What is the actual technical limitation, simply a bandwidth/duplexing issue?
The issue is timeouts. SATA drives if they have any kind of issue, just hang. SAS drives still communicate with the host system while being busy. Too much load and SATA drives will fly off a SAS backplane, even with no SAS drives connected. Some backplanes are worse than others. For example, I have a Netapp DS4246 that HATES SATA Drives. My DS2246 is fine with them.
The bigger issue with SATA is that multi drive connections have always been kinda crap. I used to have SATA Port Multipliers and ended up tossing em. One of the imaging units I bought for my shop used one, so any time you were imaging a drive, if one was bad, the others would fail too.
Basically, SATA is not Enterprise Grade. If you want maximum reliability, get Enterprise gear. If you want cheap, go SATA with a backplane that is SATA friendly. This will take a bunch of research and head scratching as most SAS backplane providers only support a single type of SATA drive.
So then it essentially boils down to an artificial limitation that is in place because SATA is less reliable/stable? I’m not saying it’s worth mixing SAS and SATA, only that the reason that it isn’t available as an option is due to no one in an enterprise environment wanting to use it. If I understand it correctly.
And nothing is truly preventing SAS/SATA from mixing other than no RAID card manufacturer thinking it’s worth doing since 99% of all RAID cards are sold to enterprise/business environments.
You can mix them all you like with an HBA. The thing to be aware of is that SAS voltages are different than SATA. So if you mix drives on a non-capable backplane, you are going to have SATA paperweights.
But then the issue lies with the HBA, not the RAID controller. And at least most enterprise HBA’s I’ve used in my work and homelab have had no issues running SATA drives without dropouts, so then I’m just curious why the RAID cards couldn’t ‘unofficially’ support it.
Are you talking about scterc/TLER (Error Recovery Control settings). That’s typically the difference between enterprise and consumer drives, and can usually be configured with smartctl.
It may be possible, but it’s going to require extra work for the controller to generate two different sets of commands for each read/write. Even a small difference like different models of hard drives can hose up your RAID array and is warned against in the instructions, so why would they go out of their way and do extra work to enable you to do something inherently foolish?
Again, the voltages are different. Mixing SATA and SAS on incorrect backplanes is no fault of the HBA. The backplane is a separate component with it’s own controller hardware.
To answer you though, yes, you can unofficially do it. Most Raid cards can be used in HBA mode which works around the mixed drive problems. You can also load custom / hacked firmware that disables that check as well.
I believe Highpoint doesn’t care if you mix drives. They are terribly RAID cards though and I wouldn’t recommend them to my worst enemy.
TLER is a whole other story. You put a non-TLER drive into a raid and it’s going to drop out, just a matter of when, not if.
No, I’m talking about when some backplanes have heavy traffic, the SATA commands don’t arrive in correct sequence and you get a drive floating off your array. It basically dumps off as an errored drive or if you use ZFS, you’ll see checksum errors.
If you clear the error, resilver will be normal. If you’re using raid, you get to sit through a rebuild. The problem is, now you are putting load on the disks so another drive drops out. Now you’ve got no redundancy and you still need to rebuild another two drives.
I’ve only ever observed this over a SAS connection to SATA Drives via backplane. Direct connect will work perfectly fine (4X splitter 8087-SFF cable.) It is supposed to work, but I’ve observed that it often does not. Direct connect or using the internal backplane on a server is what I do now for any SATA drives.
It’s not that I necessarily want to go out and do this, I was just discussing things with my coworkers over drinks tonight and it dawned upon me that I hadn’t really thought about why they couldn’t work together. And the more I thought, the more I came to the conclusion that, regardless of how inadvisable it may be, there wasn’t a technical reason I could think of that would outright prevent this from being possible, only software limitations/no one in their right mind doing it outside of a homelab “Just to prove I could” scenario.
And I’m probably mixing up terms this late in the night. But while the voltages are different, they aren’t significant enough to actually be out of spec to damage SATA, unless I am misunderstanding what you mean, which is entirely possible. Again, alcohol and a very long day has been involved.
Out of spec voltages introduce bit errors into the stream. Part of the reason why SAS expanders are terrible with SATA Drives. Direct Connect works great, but Expanders do not like SATA to begin with, let alone mixing the drives. If you truly desire mixing, you want to use interposers.