KRayn, да нет, других проблем, кроме
вот этой не обнаружил. Да и она решается
патчем от производителя.
Пользователь решил продолжить мысль [time]03 Сентябрь 2014, 22:44:33[/time]:
В общем, чтобы окончательно спать спокойно, я всё же решил поэкспериментировать с SWNCQ.
Выключил сервере и переподключил SATA-кабели с внешнего контроллера на порты, встроенные в материнскую плату. Убедился, что SWNCQ в драйвере включен:
root@server:~# dmesg | grep sata_nv
[ 2.258185] sata_nv 0000:00:0e.0: version 3.5
[ 2.272661] sata_nv 0000:00:0e.0: Using SWNCQ mode
[ 2.331195] scsi0 : sata_nv
[ 2.479114] scsi1 : sata_nv
Ждать долго не пришлось, в лог посыпались знакомые ошибки о невозможности выполнения команды WRITE FPDMA QUEUED.
Далее выключил SWNCQ следующим образом:
1. В папке
/etc/modprobe.d/ создал файл
sata_nv.conf и прописал в него:
options sata_nv swncq=0
2. Обновил
initramfs:
update-initramfs -u
3. После перезагрузки компьютера убедился, что SWNCQ больше не работает:
root@server:~# dmesg | grep sata_nv
[ 2.286629] sata_nv 0000:00:0e.0: version 3.5
[ 2.437050] scsi0 : sata_nv
[ 2.464386] scsi1 : sata_nv
К сожалению, через некоторое время в лог снова полезли ошибки, но на этот раз несколько иного характера:
Sep 3 22:06:06 server kernel: [ 692.832104] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
Sep 3 22:06:06 server kernel: [ 692.832160] ata2.00: failed command: WRITE DMA
Sep 3 22:06:06 server kernel: [ 692.832186] ata2.00: cmd ca/00:01:08:50:06/00:00:00:00:00/e0 tag 0 dma 512 out
Sep 3 22:06:06 server kernel: [ 692.832186] res 40/00:00:09:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
Sep 3 22:06:06 server kernel: [ 692.832216] ata2.00: status: { DRDY }
Sep 3 22:06:06 server kernel: [ 692.832237] ata2: hard resetting link
Sep 3 22:06:06 server kernel: [ 692.832242] ata2: nv: skipping hardreset on occupied port
Sep 3 22:06:06 server kernel: [ 692.832276] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
Sep 3 22:06:06 server kernel: [ 692.832325] ata1.00: failed command: WRITE DMA
Sep 3 22:06:06 server kernel: [ 692.832349] ata1.00: cmd ca/00:01:08:50:06/00:00:00:00:00/e0 tag 0 dma 512 out
Sep 3 22:06:06 server kernel: [ 692.832349] res 40/00:00:09:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
Sep 3 22:06:06 server kernel: [ 692.832381] ata1.00: status: { DRDY }
Sep 3 22:06:06 server kernel: [ 692.832400] ata1: hard resetting link
Sep 3 22:06:06 server kernel: [ 692.832405] ata1: nv: skipping hardreset on occupied port
Sep 3 22:06:07 server kernel: [ 693.300087] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Sep 3 22:06:07 server kernel: [ 693.300216] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Sep 3 22:06:07 server kernel: [ 693.352367] ata1.00: configured for UDMA/133
Sep 3 22:06:07 server kernel: [ 693.352449] ata1: EH complete
Sep 3 22:06:07 server kernel: [ 693.352586] ata2.00: configured for UDMA/133
Sep 3 22:06:07 server kernel: [ 693.352617] ata2: EH complete
Sep 3 22:11:17 server kernel: [ 1003.840081] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
Sep 3 22:11:17 server kernel: [ 1003.840129] ata1.00: failed command: WRITE DMA
Sep 3 22:11:17 server kernel: [ 1003.840152] ata1.00: cmd ca/00:01:08:50:06/00:00:00:00:00/e0 tag 0 dma 512 out
Sep 3 22:11:17 server kernel: [ 1003.840152] res 40/00:00:09:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
Sep 3 22:11:17 server kernel: [ 1003.840183] ata1.00: status: { DRDY }
Sep 3 22:11:17 server kernel: [ 1003.840204] ata1: hard resetting link
Sep 3 22:11:17 server kernel: [ 1003.840210] ata1: nv: skipping hardreset on occupied port
Sep 3 22:11:18 server kernel: [ 1004.308080] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Sep 3 22:11:18 server kernel: [ 1004.360377] ata1.00: configured for UDMA/133
Sep 3 22:11:18 server kernel: [ 1004.360422] ata1: EH complete
В итоге я хотя бы смог убедиться, что не напрасно потратил 900 руб. на внешний контроллер SATA. С другой стороны обидно, что железо не работает так, как ему подобает из-за неведомых ошибок в драйвере.