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?
You could just swap the two disks and see if it follows the drive or the link.
If the drive, rma it. I don’t put a lot of faith in smart data.
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