@oarphoarph
Indeed, I see a similar behavior to you. After about 1TB of data written...
The drives appear totally fine for like 5 seconds, then speeds drop down to the 10MBps, then 5MBps, then 1MBps, then plateau at nothing. ZFS logs indicated that the drives were not responding
or were slow to respond. Then my ZFS pool kicks offline (after much waiting for the drives to respond).
It does seem to be agitated and initiated by intensive writing, but it doesn’t matter what drive I put into it. It happens with SanDisk SSD Plus 1TB, ADATA SU635 256GB, and Crutial BX500 1TB, Seagate Exos 14TB drives, and Seagate 8TB drives.
My best guess is that the SATA controller has a firmware bug, or the linux drivers associated with them are bugged. I also tried passing through drives to a windows machine via the qemu scsi adapter, and they do continue to work for long periods of time, but, they are no where near as performant as they should be and I have no real idea if they’re kicking out bad data or not (haven’t tested).
The way that I have worked around this issue is to use the U.2/MINISAS style connectors in SATA mode (must change in bios). When plugging in drives to these plugs, things work without any problems. The sata ports are still borked when I use the U.2 ports – What is REALLLY weird about this is:
- I disable the SATA controller in the bios
- I set the U.2 to SATA mode in the bios.
- I plugin drives to both the U.2 and the SATA ports
- All of the drives are visible. - Even though I disabled the SATA controllers in the bios.
See below an example of 8 drives on U.2 and 4 drives in SATA ports.
/dev/sda - U.2/MINISAS
/dev/sdb - U.2/MINISAS
/dev/sdc - U.2/MINISAS
/dev/sdd - U.2/MINISAS
/dev/sdi - U.2/MINISAS
/dev/sdj - U.2/MINISAS
/dev/sdk - U.2/MINISAS
/dev/sdl - U.2/MINISAS
/dev/sde - SATA
/dev/sdf - SATA
/dev/sdg - SATA
/dev/sdh - SATA
Even if I turn off the SATA controllers in the bios, a new sata controller sprouts up next to the U.2 one to show the SATA devices. The SATA devices still don’t perform properly though, only the U.2 ones.
root@pve-01:~# ls -hal /dev/disk/by-id | grep -v “part” | grep -e “sd[a-z]”
lrwxrwxrwx 1 root root 9 Feb 5 12:23 ata-CT1000BX500SSD1_2125E5AD9163 → …/…/sde
lrwxrwxrwx 1 root root 9 Feb 5 12:23 ata-CT1000BX500SSD1_2125E5AD929B → …/…/sdf
lrwxrwxrwx 1 root root 9 Feb 5 12:23 ata-SanDisk_SSD_PLUS_1000GB_202774801540 → …/…/sdg
lrwxrwxrwx 1 root root 9 Feb 5 12:23 ata-SanDisk_SSD_PLUS_1000GB_203805A0017F → …/…/sdh
lrwxrwxrwx 1 root root 9 Feb 5 11:00 ata-ST14000NM001G-2KJ103_ZL29YDP2 → …/…/sdi
lrwxrwxrwx 1 root root 9 Feb 5 11:00 ata-ST14000NM001G-2KJ103_ZTM070J3 → …/…/sdj
lrwxrwxrwx 1 root root 9 Feb 5 11:00 ata-ST14000NM001G-2KJ103_ZTM0EHTE → …/…/sdc
lrwxrwxrwx 1 root root 9 Feb 5 11:00 ata-ST14000NM001G-2KJ103_ZTM0ER63 → …/…/sdb
lrwxrwxrwx 1 root root 9 Feb 5 11:00 ata-ST14000NM001G-2KJ103_ZTM0EYW2 → …/…/sda
lrwxrwxrwx 1 root root 9 Feb 5 11:00 ata-ST14000NM001G-2KJ103_ZTM0FDJV → …/…/sdd
lrwxrwxrwx 1 root root 9 Feb 5 11:00 ata-ST8000VN0022-2EL112_ZA1J4CAV → …/…/sdl
lrwxrwxrwx 1 root root 9 Feb 5 11:00 ata-ST8000VN004-2M2101_WKD18FVF → …/…/sdk
root@pve-01:~# ls -hal /dev/disk/by-path/ | grep -v -e “part” -e “.0 ->” | grep -e “sd[a-z]”
lrwxrwxrwx 1 root root 9 Feb 5 11:00 pci-0000:2b:00.0-ata-1 → …/…/sda # U.2 Port
lrwxrwxrwx 1 root root 9 Feb 5 11:00 pci-0000:2b:00.0-ata-2 → …/…/sdb # U.2 Port
lrwxrwxrwx 1 root root 9 Feb 5 11:00 pci-0000:2b:00.0-ata-3 → …/…/sdc # U.2 Port
lrwxrwxrwx 1 root root 9 Feb 5 11:00 pci-0000:2b:00.0-ata-4 → …/…/sdd # U.2 Port
lrwxrwxrwx 1 root root 9 Feb 5 12:23 pci-0000:2c:00.0-ata-1 → …/…/sde # SATA Port
lrwxrwxrwx 1 root root 9 Feb 5 12:23 pci-0000:2c:00.0-ata-2 → …/…/sdf # SATA Port
lrwxrwxrwx 1 root root 9 Feb 5 12:23 pci-0000:2c:00.0-ata-5 → …/…/sdg # SATA Port
lrwxrwxrwx 1 root root 9 Feb 5 12:23 pci-0000:2c:00.0-ata-6 → …/…/sdh # SATA Port
lrwxrwxrwx 1 root root 9 Feb 5 11:00 pci-0000:31:00.0-ata-5 → …/…/sdi # U.2 Port
lrwxrwxrwx 1 root root 9 Feb 5 11:00 pci-0000:31:00.0-ata-6 → …/…/sdj # U.2 Port
lrwxrwxrwx 1 root root 9 Feb 5 11:00 pci-0000:31:00.0-ata-7 → …/…/sdk # U.2 Port
lrwxrwxrwx 1 root root 9 Feb 5 11:00 pci-0000:31:00.0-ata-8 → …/…/sdl # U.2 Port
root@pve-01:~# lspci | grep SATA
26:00.0 IDE interface: ASMedia Technology Inc. ASM1061 SATA IDE Controller (rev 02)
27:00.0 IDE interface: ASMedia Technology Inc. ASM1061 SATA IDE Controller (rev 02)
2b:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)
2c:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)
31:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)
In this example, I have the SSDs plugged into the SATA ports, but I can’t trust them to work properly, so I don’t have them in use.
Anyway, that’s my headache of an experience that I’ve had with SATA devices on this motherboard.