Problemas na unidade SATA com duas placas SIL RAID

4

Acabei de colocar um segundo cartão SiI 3114 SATARaid no meu servidor doméstico para poder adicionar outro par de unidades SATA e aumentar meu espaço de armazenamento. Irritantemente, parece não funcionar:

[   32.816030] ata5: lost interrupt (Status 0x0)
[   32.816072] ata5.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[   32.816091] ata5.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096
in
[   32.816094]          res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4
(timeout)
[   32.816101] ata5.00: status: { DRDY }
[   32.816117] ata5: hard resetting link
[   33.136082] ata5: SATA link down (SStatus 0 SControl 0)
[   36.060940] irq 18: nobody cared (try booting with the "irqpoll" option)
[   36.060949] Pid: 0, comm: swapper Not tainted 2.6.31-20-generic #58-Ubuntu
[   36.060954] Call Trace:
[   36.060977]  [] ? printk+0x18/0x1c
[   36.060997]  [] __report_bad_irq+0x27/0x90
[   36.061005]  [] note_interrupt+0x150/0x190
[   36.061011]  [] handle_fasteoi_irq+0xac/0xd0
[   36.061023]  [] handle_irq+0x18/0x30
[   36.061029]  [] do_IRQ+0x47/0xc0
[   36.061042]  [] ? irq_exit+0x50/0x70
[   36.061058]  [] ? smp_apic_timer_interrupt+0x57/0x90
[   36.061065]  [] common_interrupt+0x30/0x40
[   36.061075]  [] ? native_safe_halt+0x5/0x10
[   36.061082]  [] default_idle+0x46/0xd0
[   36.061088]  [] cpu_idle+0x8c/0xd0
[   36.061103]  [] rest_init+0x55/0x60
[   36.061111]  [] start_kernel+0x2e6/0x2ec
[   36.061117]  [] ? unknown_bootoption+0x0/0x19e
[   36.061133]  [] i386_start_kernel+0x7c/0x83
[   36.061137] handlers:
[   36.061139] [] (sil_interrupt+0x0/0xb0)
[   36.061151] Disabling IRQ #18
[   38.136014] ata5: hard resetting link
[   38.456022] ata5: SATA link down (SStatus 0 SControl 0)
[   43.456013] ata5: hard resetting link
[   43.776022] ata5: SATA link down (SStatus 0 SControl 0)
[   43.776035] ata5.00: disabled
[   43.776055] ata5.00: device reported invalid CHS sector 0
[   43.776074] sd 4:0:0:0: [sde] Result: hostbyte=DID_OK
driverbyte=DRIVER_SENSE
[   43.776082] sd 4:0:0:0: [sde] Sense Key : Aborted Command [current]
[descriptor]
[   43.776092] Descriptor sense data with sense descriptors (in hex):
[   43.776097]         72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
[   43.776112]         00 00 00 00 
[   43.776118] sd 4:0:0:0: [sde] Add. Sense: No additional sense information
[   43.776127] end_request: I/O error, dev sde, sector 0
[   43.776136] Buffer I/O error on device sde, logical block 0
[   43.776170] ata5: EH complete
[   43.776187] ata5.00: detaching (SCSI 4:0:0:0)

root@core:~# cat /proc/interrupts 
           CPU0       
  0:         47   IO-APIC-edge      timer
  1:          8   IO-APIC-edge      i8042
  6:          3   IO-APIC-edge      floppy
  7:          0   IO-APIC-edge      parport0
  8:          0   IO-APIC-edge      rtc0
  9:          0   IO-APIC-fasteoi   acpi
 14:      53069   IO-APIC-edge      pata_sis
 15:      53004   IO-APIC-edge      pata_sis
 17:     112265   IO-APIC-fasteoi   sata_sil
 18:     200002   IO-APIC-fasteoi   sata_sil, SiS SI7012
 19:     111140   IO-APIC-fasteoi   eth0
 20:          0   IO-APIC-fasteoi   ohci_hcd:usb2
 21:          0   IO-APIC-fasteoi   ohci_hcd:usb3
 23:          0   IO-APIC-fasteoi   ehci_hcd:usb1
NMI:          0   Non-maskable interrupts
LOC:    6650492   Local timer interrupts
SPU:          0   Spurious interrupts
CNT:          0   Performance counter interrupts
PND:          0   Performance pending work
RES:          0   Rescheduling interrupts
CAL:          0   Function call interrupts
TLB:          0   TLB shootdowns
TRM:          0   Thermal event interrupts
THR:          0   Threshold APIC interrupts
MCE:          0   Machine check exceptions
MCP:        160   Machine check polls
ERR:          0
MIS:          0
root@core:~# lspci | grep Raid
00:09.0 RAID bus controller: Silicon Image, Inc. SiI 3114 [SATALink/SATARaid] Serial ATA Controller (rev 02)
00:0a.0 RAID bus controller: Silicon Image, Inc. SiI 3114 [SATALink/SATARaid] Serial ATA Controller (rev 02)
root@core:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 9.10
Release:        9.10
Codename:       karmic
root@core:~# uname -a
Linux core.topper.me.uk 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 05:23:09 UTC 2010 i686 GNU/Linux

Eu tentei uma combinação de diferentes opções de kernel (irqpoll, noapic, noacpi, pci = noapic) tudo sem sucesso. Alguém tem alguma idéia brilhante sobre como eu pode fazer isso funcionar?

Trocar placas PCI por aí não é uma opção, pois há apenas dois slots nesta placa-mãe (uma ASRock K7S41GX). O BIOS não parece ter muitas opções de configuração em relação ao uso de IRQ.

O plano B é acabar completamente com este servidor e comprar um novo QNAP para essas unidades, mas eu esperava evitar fazer isso agora.

    
por Jon Topper 30.03.2010 / 12:27

3 respostas

1

Por sugestão de outra pessoa, tentei trocar as duas placas PCI pela placa-mãe. Isso (parece um pouco irritante) funcionou - alguém pode explicar por quê?

    
por 30.03.2010 / 23:08
1

Talvez houvesse apenas um toque de corrosão nos contatos do soquete na placa-mãe. Eu tive isso acontecer comigo muitas vezes, e uma cura comum é simplesmente desconectar / repor o dispositivo ofensivo. (Desligado, é claro) Isso é especialmente comum em equipamentos que estão expostos à umidade e poeira. Se você tiver problemas contínuos, tente usar um produto como Deoxit no Contatos. Eu usei isso quando trabalhava em conjuntos de radar de 30 anos com bons resultados.

    
por 20.06.2010 / 16:22
1

É bastante especulação da minha parte, mas de qualquer forma: o BIOS poderia estar atribuindo as diferentes IRQs (aleatórias) de cartões se ele vir um novo cartão no slot. Como você trocou as cartas, é possível que tenha mudado os IRQs atribuídos e resolvido o conflito de IRQ desta forma.

    
por 30.09.2010 / 00:54