“失败命令:WRITE FPDMA QUEUED”,硬盘插入 ASM1062(PCI-E SATA 扩展卡)

“失败命令:WRITE FPDMA QUEUED”,硬盘插入 ASM1062(PCI-E SATA 扩展卡)

设置

我翻新了一个华擎 QC50​​00M家庭服务器的主板,在其上安装 Debian 12,目的是在 2 个硬盘上设置 RAID 1。

该主板只有 2 个 SATA 端口,因此我添加了一个晨阳SA-208-CYPCI Express 扩展卡,以便增加 2 个 SATA 端口。2 个硬盘均为 2 TB西部数据蓝色WDC WD20EZRZ-00Z自 2017 年开始运行,且没有出现 SMART 错误(已用 测试smartctl)。

设置:

  • 1 个 SSD 插入主板的端口 1
  • 1 个 HDD 插入主板的端口 2
  • 1 个 HDD 插入 PCI Express 卡

问题

我的问题是,启用 RAID 1 后,每次重启后文件系统都会损坏,fsck.ext4 -y /dev/md0每次我都必须运行。起初出现了一些有关 inode 的错误,但后来情况变得更糟,它删除了几乎所有文件(幸好我有备份)。

我必须移除从 RAID 1 阵列连接的硬盘,才能拥有一个只能使用一个硬盘的 RAID 1 文件系统,这一点不太好。

因此我进行调查并发现了一些报告的问题dmesg(参见下面的日志(1)):

  • ata4.00: failed command: WRITE FPDMA QUEUED
  • ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 320)

我用另一条 SATA 电缆替换了它,但仍然出现同样的错误。

lspci显示扩展卡未处于AHCI模式:

lspci -nn | grep -i sata
00:11.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7801] (rev 40)
05:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612] (rev 02)

这可以解释 RAID 1 无法正常工作的原因吗? 可以通过在 Debian 12 中配置某些内容来解决这个问题吗?

答案ubuntu.SE 上的这个问题提到 SATA 电源插头或更换 PSU 的问题,由于我现在离电脑很远,所以我没有尝试。


更新

我刚刚通过搜索错误和控制器名称(“WRITE FPDMA QUEUED” ASM1062)发现了一些有趣的东西:

我发现只有当 SATA 磁盘连接到 ASM1062 板的 COM4 端口时才会出现此问题,而如果您尝试连接到其他内部连接器(COM3),则根本不会报告任何问题。

来源:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1388559/comments/13

我会尽快尝试一下。

更新 2

使用其他端口后仍然出现错误WRITE FPDMA QUEUED和,但在。ncqata3.00


(1)输出dmesg

[  107.152069] ata4.00: exception Emask 0x10 SAct 0x2 SErr 0x400000 action 0x6 frozen
[  107.152113] ata4.00: irq_stat 0x08000000, interface fatal error
[  107.152129] ata4: SError: { Handshk }
[  107.152148] ata4.00: failed command: WRITE FPDMA QUEUED
[  107.152162] ata4.00: cmd 61/01:08:08:08:00/00:00:00:00:00/40 tag 1 ncq dma 512 out
                        res 40/00:0c:08:08:00/00:00:00:00:00/40 Emask 0x10 (ATA bus error)
[  107.152207] ata4.00: status: { DRDY }
[  107.152232] ata4: hard resetting link
[  107.627952] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[  107.629311] ata4.00: configured for UDMA/133
[  107.629360] ata4: EH complete
[  107.696032] ata4.00: exception Emask 0x10 SAct 0x81000 SErr 0x400000 action 0x6 frozen
[  107.696076] ata4.00: irq_stat 0x08000000, interface fatal error
[  107.696092] ata4: SError: { Handshk }
[  107.696113] ata4.00: failed command: WRITE FPDMA QUEUED
[  107.696127] ata4.00: cmd 61/01:60:08:08:00/00:00:00:00:00/40 tag 12 ncq dma 512 out
                        res 40/00:9c:00:00:00/00:00:00:00:00/40 Emask 0x10 (ATA bus error)
[  107.696173] ata4.00: status: { DRDY }
[  107.696189] ata4.00: failed command: READ FPDMA QUEUED
[  107.696201] ata4.00: cmd 60/08:98:00:00:00/00:00:00:00:00/40 tag 19 ncq dma 4096 in
                        res 40/00:9c:00:00:00/00:00:00:00:00/40 Emask 0x10 (ATA bus error)
[  107.696250] ata4.00: status: { DRDY }
[  107.696273] ata4: hard resetting link
[  108.167983] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[  108.169348] ata4.00: configured for UDMA/133
[  108.169417] sd 3:0:0:0: [sdc] tag#19 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
[  108.169435] sd 3:0:0:0: [sdc] tag#19 Sense Key : Illegal Request [current] 
[  108.169447] sd 3:0:0:0: [sdc] tag#19 Add. Sense: Unaligned write command
[  108.169460] sd 3:0:0:0: [sdc] tag#19 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[  108.169468] I/O error, dev sdc, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[  108.169535] ata4: EH complete
[  108.207911] md: recovery of RAID array md0
[  108.331923] ata4.00: exception Emask 0x10 SAct 0x400000 SErr 0x400000 action 0x6 frozen
[  108.331970] ata4.00: irq_stat 0x08000000, interface fatal error
[  108.331988] ata4: SError: { Handshk }
[  108.332012] ata4.00: failed command: WRITE FPDMA QUEUED
[  108.332027] ata4.00: cmd 61/00:b0:00:10:04/0a:00:00:00:00/40 tag 22 ncq dma 1310720 ou
                        res 40/00:b4:00:10:04/00:00:00:00:00/40 Emask 0x10 (ATA bus error)
[  108.332079] ata4.00: status: { DRDY }
[  108.332101] ata4: hard resetting link
[  108.811925] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[  108.813266] ata4.00: configured for UDMA/133
[  108.813317] ata4: EH complete
[  108.887995] ata4: limiting SATA link speed to 3.0 Gbps
[  108.888020] ata4.00: exception Emask 0x10 SAct 0x3c SErr 0x400000 action 0x6 frozen
[  108.888053] ata4.00: irq_stat 0x08000000, interface fatal error
[  108.888069] ata4: SError: { Handshk }
[  108.888090] ata4.00: failed command: WRITE FPDMA QUEUED
[  108.888105] ata4.00: cmd 61/01:10:08:08:00/00:00:00:00:00/40 tag 2 ncq dma 512 out
                        res 40/00:2c:00:1a:04/00:00:00:00:00/40 Emask 0x10 (ATA bus error)
[  108.888156] ata4.00: status: { DRDY }
[  108.888172] ata4.00: failed command: READ FPDMA QUEUED
[  108.888186] ata4.00: cmd 60/08:18:08:08:00/00:00:00:00:00/40 tag 3 ncq dma 4096 in
                        res 40/00:2c:00:1a:04/00:00:00:00:00/40 Emask 0x10 (ATA bus error)
[  108.888233] ata4.00: status: { DRDY }
[  108.888248] ata4.00: failed command: WRITE FPDMA QUEUED
[  108.888262] ata4.00: cmd 61/00:20:00:10:04/0a:00:00:00:00/40 tag 4 ncq dma 1310720 ou
                        res 40/00:2c:00:1a:04/00:00:00:00:00/40 Emask 0x10 (ATA bus error)
[  108.888309] ata4.00: status: { DRDY }
[  108.888324] ata4.00: failed command: WRITE FPDMA QUEUED
[  108.888338] ata4.00: cmd 61/80:28:00:1a:04/00:00:00:00:00/40 tag 5 ncq dma 65536 out
                        res 40/00:2c:00:1a:04/00:00:00:00:00/40 Emask 0x10 (ATA bus error)
[  108.888384] ata4.00: status: { DRDY }
[  108.888408] ata4: hard resetting link
[  109.364012] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[  109.365269] ata4.00: configured for UDMA/133
[  109.365334] ata4: EH complete

输出lspci

$ lspci -nnk | grep --after-context=3 SATA
00:11.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7801] (rev 40)
    Subsystem: ASRock Incorporation QC5000-ITX/PH [1849:7801]
    Kernel driver in use: ahci
    Kernel modules: ahci
--
05:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612] (rev 02)
    Subsystem: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:1060]
    Kernel driver in use: ahci
    Kernel modules: ahci

答案1

lspci显示扩展卡未处于AHCI模式:

这是否可以解释RAID 1无法正常工作的原因?

它处于 AHCI 模式。否则它实际上就不是“SATA 控制器”了——此设备类型仅供向操作系统提供 AHCI 接口的设备使用。(SATA 是磁盘和控制器之间的接口,AHCI 是控制器和操作系统之间的接口。)

“[AHCI 模式]”标签专门用于英特尔 SATA 控制器,它只是型号名称这是在 lspci 的设备数据库中定义的。(也就是说,Intel RST 控制器根据所处的模式使用两个不同的 PCI 模型 ID。)

这种标签的目的是因为英特尔 RST 可以处于“纯”(直通)控制器模式或者在其特殊的“硬件 RAID”模式下。您的基本 SATA 控制器没有后者,它首先只能执行普通的 AHCI。

因此,这不可能是原因。

(我不确定真正的原因是什么是,但从 dmesg 日志来看,操作系统似乎可以与控制器通信,但控制器在与磁盘通信时遇到了问题。我猜是“SATA 电缆坏了”、“SATA 端口坏了​​”或“控制器便宜且不可靠”。Ubuntu 错误报告让我认为是后者。)

答案2

我解决了这个问题,但是将装有操作系统的 SSD 放入 USB 外壳中,并将 2 个硬盘直接插入主板。

换句话说,我移除了 ASM1062 卡,因为它存在系统问题。

相关内容