Eu tenho um raspbian no rpi2 com um disco rígido externo conectado a ele através de USB. O disco rígido é um Seagate de 1TB com fonte de alimentação própria.
O disco rígido é montado localmente e compartilhado via nfs.
O problema é de vez em quando (uma vez por semana ou mais), o disco rígido parece parar de responder. Quando isso acontece eu vejo no meu computador principal (kubuntu 18.04) que o compartilhamento nfs não responde mais. quando eu ssh para a máquina rpi vejo que também lá não consigo acessar o disco rígido.
Tenho que desligar / ligar o disco rígido e reiniciar a máquina do rpi para que tudo funcione novamente.
Minha pergunta é: como resolver esse problema? qual é o método para descobrir o que está acontecendo?
ATUALIZAÇÃO:
agora que aconteceu de novo, eu rodei o dmesg, e aqui está o que eu encontrei (o disco rígido é sda):
[ 19.565607] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[42530.347552] usb 1-1.2: reset high-speed USB device number 4 using dwc_otg
[51845.323983] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08
[51845.324002] sd 0:0:0:0: [sda] tag#0 Sense Key : 0x2 [current]
[51845.324012] sd 0:0:0:0: [sda] tag#0 ASC=0x4 ASCQ=0x2
[51845.324026] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 38 c0 09 08 00 00 08 00
[51845.324037] print_req_error: I/O error, dev sda, sector 952109320
[71399.355286] usb 1-1.2: reset high-speed USB device number 4 using dwc_otg
[77157.409748] usb 1-1.2: reset high-speed USB device number 4 using dwc_otg
[77289.129226] INFO: task usb-storage:69 blocked for more than 120 seconds.
[77289.129242] Tainted: G C 4.14.62-v7+ #1134
[77289.129248] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[77289.129257] usb-storage D 0 69 2 0x00000000
[77289.129312] [<8079d258>] (__schedule) from [<8079d8c0>] (schedule+0x50/0xa8)
[77289.129337] [<8079d8c0>] (schedule) from [<807a14a4>] (schedule_timeout+0x1d0/0x3f4)
[77289.129359] [<807a14a4>] (schedule_timeout) from [<8079e544>] (wait_for_common+0xc0/0x184)
[77289.129378] [<8079e544>] (wait_for_common) from [<8079e628>] (wait_for_completion+0x20/0x24)
[77289.129398] [<8079e628>] (wait_for_completion) from [<805b5724>] (usb_sg_wait+0x174/0x188)
[77289.129424] [<805b5724>] (usb_sg_wait) from [<805ed43c>] (usb_stor_bulk_transfer_sglist.part.2+0x88/0xec)
[77289.129448] [<805ed43c>] (usb_stor_bulk_transfer_sglist.part.2) from [<805ed4fc>] (usb_stor_bulk_srb+0x5c/0x64)
[77289.129470] [<805ed4fc>] (usb_stor_bulk_srb) from [<805ed628>] (usb_stor_Bulk_transport+0x124/0x370)
[77289.129492] [<805ed628>] (usb_stor_Bulk_transport) from [<805edeec>] (usb_stor_invoke_transport+0x30/0x4bc)
[77289.129514] [<805edeec>] (usb_stor_invoke_transport) from [<805ecbf0>] (usb_stor_transparent_scsi_command+0x18/0x1c)
[77289.129534] [<805ecbf0>] (usb_stor_transparent_scsi_command) from [<805ef3bc>] (usb_stor_control_thread+0x198/0x2a0)
[77289.129554] [<805ef3bc>] (usb_stor_control_thread) from [<8013d99c>] (kthread+0x13c/0x16c)
[77289.129576] [<8013d99c>] (kthread) from [<8010810c>] (ret_from_fork+0x14/0x28)
[77289.129644] INFO: task jbd2/sda1-8:644 blocked for more than 120 seconds.
[77289.129652] Tainted: G C 4.14.62-v7+ #1134
[77289.129657] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[77289.129663] jbd2/sda1-8 D 0 644 2 0x00000000
[77289.129691] [<8079d258>] (__schedule) from [<8079d8c0>] (schedule+0x50/0xa8)
[77289.129711] [<8079d8c0>] (schedule) from [<8014b284>] (io_schedule+0x20/0x40)
[77289.129730] [<8014b284>] (io_schedule) from [<8079e230>] (bit_wait_io+0x1c/0x70)
[77289.129749] [<8079e230>] (bit_wait_io) from [<8079dec0>] (__wait_on_bit+0x94/0xd0)
[77289.129768] [<8079dec0>] (__wait_on_bit) from [<8079df84>] (out_of_line_wait_on_bit+0x88/0x90)
[77289.129792] [<8079df84>] (out_of_line_wait_on_bit) from [<802c2eb8>] (__wait_on_buffer+0x40/0x44)
[77289.129818] [<802c2eb8>] (__wait_on_buffer) from [<8037b24c>] (jbd2_journal_commit_transaction+0xdb0/0x17f0)
[77289.129842] [<8037b24c>] (jbd2_journal_commit_transaction) from [<80380d9c>] (kjournald2+0x110/0x2c0)
[77289.129863] [<80380d9c>] (kjournald2) from [<8013d99c>] (kthread+0x13c/0x16c)
[77289.129883] [<8013d99c>] (kthread) from [<8010810c>] (ret_from_fork+0x14/0x28)
Eu corro fsck -fcv no disco e não encontrei nenhum erro nem nenhum bloco ruim.