My NAS scrubs were taking all day until I realized the expansion card was the problem

My NAS scrubs were taking all day until I realized the expansion card was the problem

Published Sep 21, 2026, 10:01 AM EDT Korbin is a Linux system administrator who spends most of his time in a terminal figuring out how things actually work. Over the last decade he's written hundreds of articles about Linux configuration, troubleshooting weird problems, and using open-source tools in the real world. He also works a lot with Windows systems and networking, especially in mixed environments where things don't always behave the way the documentation says they should. Writing things down is how he makes sense of it all and hopefully saves someone else a few hours. When I expanded the storage to six hard drives in my NAS, I also had to grab a $15 SATA expansion card off Amazon, since I'd run out of ports on the motherboard. It seemed like the easiest way to squeeze more disks into the system without spending much money. Two of the drives used onboard SATA, and the other four plugged into the new card. Even though that setup technically worked, the pool size had grown large enough that scrubs and resilvers were dragging on for the better part of a day. At first, I assumed the wait times came with the territory of traditional, spinning hard disks, and began to accept it. But once I sat down and actually measured the I/O throughput of my storage, I realized they were running incredibly slow, even for 5400 RPM drives. Looking for the common denominator of these drives led me to the culprit: the SATA expansion card they were plugged into. An unexpected bottleneck in my setup The real problem was the expansion card Credit: Dāvis Mosāns via Flickr The two onboard SATA ports were never in question, since they're wired straight to the chipset and run at full SATA III speed as expected. The expansion card was another story. It was a basic ASMedia card that plugged into a PCIe 1x slot and produced four SATA ports. The interface it plugs into was the entire problem, and it wasn't an obvious issue on paper because a PCIe 2.0 1x lane tops out around 500 MB/s. However, that speed drops a lot once you factor in the overhead. My four drives can only deliver 100 to 150 MB/s of sequential read and write speed, so the lane's theoretical (that's the keyword) maximum of 500 MB/s sounded like enough. In reality, the card couldn't get anywhere near that speed, which is what I get for cheaping out when buying an expansion card. The drives easily overwhelmed the card's bandwidth during a scrub or resilver, since ZFS reads data across all disks in the pool at once. My first instinct was to blame the drives themselves, since they're low-RPM rust anyway. But reseating cables and swapping out a suspect drive didn't get me any closer to a solution. SMART data on the pool also wasn't showing anything suspicious. To confirm that the drives weren't the problem, I benchmarked each one individually with the dd command. All of them performed at expected speeds, which were within the advertised range from the manufacturer. But I wasn't getting that same kind of performance during a scrub. The scrub always plateaued at less than 400 MB/s, which told me there was something else bottlenecking the operation. That made the culprit easy to deduce, since that card was the only thing sitting between the drives and the motherboard. I swapped in a real HBA with better speed Now I have more bandwidth and more slots Running out of SATA ports is surely the reason most people (a typical consumer, not a business) end up buying an HBA in the first place. It's a good reason to buy one, and it's what I should've done from the beginning. I ended up replacing that SATA card with an LSI 9211-8i in IT mode for about $30, and hooked up two SFF-8087 breakout cables, which gave me eight extra ports to plug drives into. I'd avoided an HBA before because the breakout cables seemed like an extra step, and the SATA card was even cheaper. The extra slots alone are a good reason to pick up an HBA, but having a better card also solved my performance problem. Scrub speeds are now where they should be, with the HBA occupying a PCIe x8 slot, which is leagues ahead of the single x1 lane split four ways. The results were noticeable during the first scrub after swapping the cards. It used to take most of a day and was now finishing in a few hours. Best of all, I've still got two ports free on the HBA for whenever I add more drives. An HBA still isn't faster than the motherboard Don't expect it to outrun ports that already work fine For most people, buying an HBA has nothing to do with fixing a bottleneck. It's almost always about running out of ports to plug drives into, and the HBA provides additional ports. Onboard SATA ports should always be running at full speed, so an HBA isn't going to boost performance for any individual drive. That's why the real advantage of an HBA is just getting more ports. The only exception is if you're already relying on a cheap expansion card like I was. Those cards are easy to come by; they don't cost much, and they seem good enough for light use, but plenty of them are bottlenecked by a slower PCIe slot. If your motherboard is running out of SATA ports and you're looking to expand storage further, it can be tempting to go for a cheap SATA card that doesn't require breakout cables. My advice is to pay a few more dollars to get a proper HBA in IT mode instead. It'll give you more ports and better speed. One card solved two problems I bought this HBA to get a faster storage pool, and the two extra ports it came with are an added bonus. If your NAS is dragging during scrubs or heavy multi-drive access, keep in mind that the drives aren't always the problem. The cables and the interface they're plugged into are worth checking. For me, the new card solved the speed problem and gave me a path to further expansion down the road.

Original Source

Read the full article at Xda-developers →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.