All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Getting Slow Disk Speed on RAID-1 (Only ~200 MB/s) – Anyone Else Facing This?
I’m facing a strange issue on a new server from GorillaServers.
Issue:
When using RAID-1 (mdadm) on AlmaLinux 9, I get only ~200 MB/s write speed.
If I test each NVMe individually (no RAID), I easily get ~1 GB/s+.
I cross-checked with a friend who has a very similar setup — same result:
RAID-1 = ~200 MB/s
Single disk = 1 GB/s
The datacenter replaced the server, but the issue is still the same.
So I’m wondering if anyone else has experienced this?
⸻
Server Specs
• Asrock Rack B650D4U
• AMD Ryzen 9 9950X
• 2 × 1.92TB NVMe (Kioxia KCD6XLUL1T92)
• AlmaLinux 9
• VirtFusion Platform
• mdadm RAID-1 (default installer)
⸻
What I Tested
• dd test: ~200 MB/s on RAID-1
• On raw NVMe (no RAID): 1 GB/s
• FIO confirms that individual NVMe drives are fast
• Tried reinstalling different times
• Tried another identical server — same issue
⸻
Question
Is anyone else seeing this slow mdadm RAID-1 performance on AlmaLinux 9 with NVMe?
Is this:
• an AlmaLinux 9 kernel issue?
• mdadm RAID-1 sync/write bottleneck?
• something specific with these Kioxia enterprise NVMe drives?
• or something related to the B650D4U board?
Any insights would be appreciated.
-------------------- A Bench.sh Script By Teddysun -------------------
Version : v2025-05-08
Usage : wget -qO- bench.sh | bash
----------------------------------------------------------------------
CPU Model : AMD Ryzen 9 9950X 16-Core Processor
CPU Cores : 32 @ 5603.756 MHz
CPU Cache : 1024 KB
AES-NI : ✓ Enabled
VM-x/AMD-V : ✓ Enabled
Total Disk : 1.7 TB (359.0 GB Used)
Total Mem : 185.8 GB (55.0 GB Used)
Total Swap : 16.0 GB (4.4 GB Used)
System uptime : 0 days, 9 hour 54 min
Load average : 1.33, 1.46, 1.35
OS : AlmaLinux release 9.6 (Sage Margay)
Arch : x86_64 (64 Bit)
Kernel : 5.14.0-570.62.1.el9_6.x86_64
TCP CC : cubic
Virtualization : Dedicated
IPv4/IPv6 : ✓ Online / ✓ Online
Organization : AS53850 GorillaServers, Inc.
Location : Los Angeles / US
Region : California
----------------------------------------------------------------------
I/O Speed(1st run) : 200 MB/s
I/O Speed(2nd run) : 199 MB/s
I/O Speed(3rd run) : 199 MB/s
I/O Speed(average) : 199.3 MB/s
----------------------------------------------------------------------


Comments
I want to know about this.
I don't know but my whole setup runs Almalinux 9/10 with mdadm raid but I've never used Kioxia and only use onboard M.2 generally. I've never had an issue like this with the WD/Samsung consumer drives I mostly use. Multi-gig writes in raid-1, and resyncs with 1-2GB/s sustained. Might just have something to do with the fact these Kioxia models are for read-intensive workloads, and there's some quirk with mdadm raid and a drive/partition setting with them. Compare the 30K write IOPS max with the typical non-DC NVMe I use that have like 1M-1.2M write IOPS max. Maybe you're hitting some bottleneck with the write IOPS and something with the mdadm raid. Tldr you should rule out the operating system and motherboard really.
Wish I had one to test on though, would be interesting to know the cause.
Edit: AI says some mdadm bitmap policy could be the issue with but I don't know
I am also using same Motherboard and on board NVMe in another DC. I am getting 3 GB/s speed.
check
cat /proc/mdstatmdadm’s probably initializing the raid1 in the background
Dumb question but are you sure the disks completed syncing after setting up the raid1 and you testing? Not sure with almalinux but standard will be something like 'cat /proc/mdstat' without the quotes.
If it's fully synced, can you try the single disk mode again and use tmux/screen/multiple shells to test both drives at the same time to see if that causes the same issue to happen?
Lastly, can you temporarly use a different distro (debian/etc) to see if it experiences the same issue? Basically just to confirm if it is or isn't almalinux9 specific.
hehe, got distracted with work stuff and didn't refresh the page before typing/posting my comment. Honestly, I'd bet this is the reason. I know when I first started using mdadm and raid1/5/10 on drives, I was annoyed that it took "forever" to sync the disks/array.
I have been facing this issue for a week. So no chance for raid sync
It's not a raid sync issue. For your satisfaction, I am sharing again
Cool, so that's not it. I figured it was a dumb question but I had to ask... I did copy/paste part of your first post into chatgpt and a short version of the answer is to try something more accurate than dd like
fio --name=seqwrite --filename=/mnt/raid/testfile --rw=write --bs=1M --size=4G --direct=1 --numjobs=1 --iodepth=32Yes, we faced this exact same issue but with KCD6XLUL3T84 drives on ASRockRack B650D4U motherboards.
For some weird reason, one of the disks would always run at 230 MB/s according to hdparm/yabs.sh benchmarks.
It was weird because the slow performance would sometimes "switch" drives (e.g., /dev/nvme0n1 would be slow, we'd reboot, and then /dev/nvme1n1 would be slow). Sometimes the slow performance wouldn't show on the disks individually and sometimes it would.
We replicated it across multiple motherboards and systems where one of the disks would always be a lot slower than the other when using U.2 NVMe disks on the ASRockRack B650D4U platform.
The one solution that we found was to remove one of the disks on the M.2 (we were using M.2 -> U.2) slot closest to the socket and instead move it to the PCIe x4 slot (we are using PCIe -> M.2 -> U.2). This is only an issue with the B650D4U and not on any of our Supermicro AM5 motherboards.
We use Kioxia U.2 Enterprise NVMe on almost all of our Ryzen VPS hypervisors and it has not been an issue since moving one of the disks to the PCIe x4 slot on the board.
We were only able to reproduce this issue when using U.2 NVMe SSD, regular M.2 seems to be fine. We have only tested it with Kioxia U.2 so perhaps it could be some incompatibility between Kioxia and B650D4U, or it could just be a general issue with all U.2 drives, we're not really sure.
That’s pretty strange then. I had to ask too because you mentioned new server and reinstalls so my first thought was the first syncing never completed.
I would try the same on debian with debian’s default settings on mdadm to see if it’s specific to the alma/rhel software stack. ChatGPT however suggested to try disabling bitmap and see if that makes any difference.
Have you tried yabs? Is it giving poor results too?
yabs is also giving the same result.
Just saw the comment by advinservers after I typed it.
@GorillaServers You can also diagnose the system using this method.
Wow, I find it interesting nvme1n1 was like 97.95% while the other disk is only 7.48%
no clue if your results means one of your drives is bad/slow or if it's some type of bus/lane/etc. bottleneck that's only experienced when both drives are being used at the same time.
I did a similar test on a local machine I have (four 2TB nvme drives in a raid10) and as you can see towards the bottom, they're all fairly close in util %
The B650D4U has 2xNVME slots with different speeds and IO paths - one PCIe5.0 x4 from the CPU and the other PCIe4.0 x4 from the FCH. Not a good pairing for RAID 1 - the second drive would do better connected though a PCIe slot that also has lanes directly from the CPU.
@advinservers my new server is build with Asrock Rack EPYC4000D4U !