I’m syncoiding from my normal RAIDz2 to a backup mirror made of 2 disks. I looked at zpool iostat
and I noticed that one of the disks consistently shows less than half the write IOPS of the other:
capacity operations bandwidth
pool alloc free read write read write
------------------------------------ ----- ----- ----- ----- ----- -----
storage-volume-backup 5.03T 11.3T 0 867 0 330M
mirror-0 5.03T 11.3T 0 867 0 330M
wwn-0x5000c500e8736faf - - 0 212 0 164M
wwn-0x5000c500e8737337 - - 0 654 0 165M
This is also evident in iostat
:
f/s f_await aqu-sz %util Device
0.00 0.00 3.48 46.2% sda
0.00 0.00 8.10 99.7% sdb
The difference is also evident in the temperatures of the disks. The busier disk is 4 degrees warmer than the other. The disks are identical on paper and bought at the same time.
Is this behaviour expected?
Turns out the on-CPU SATA controller isn’t available when the NVMe slot is used. 🫢 Swapped SATA ports, no diff. Put the low IOPS disk in a good USB 3 enclosure, hooked to an on-CPU USB controller. Now things are flipped:
capacity operations bandwidth
pool alloc free read write read write
------------------------------------ ----- ----- ----- ----- ----- -----
storage-volume-backup 12.6T 3.74T 0 563 0 293M
mirror-0 12.6T 3.74T 0 563 0 293M
wwn-0x5000c500e8736faf - - 0 406 0 146M
wwn-0x5000c500e8737337 - - 0 156 0 146M