Raspberry Pi 上出现 SSD I/O 错误和超时 — — 但在 Windows 上却正常吗?

Raspberry Pi 上出现 SSD I/O 错误和超时 — — 但在 Windows 上却正常吗?

我正在使用 SSD 存储数据,并通过 USB 转 SATA 适配器将其连接到运行 Raspbian 的 Raspberry Pi。

大约一年来,一切都运行良好,但现在看来 SSD 出现故障。我注意到的第一件事是重新挂载为只读,现在我不断收到 I/O 错误和超时(请参阅系统日志摘录如下)。

假设 SSD 会坏掉,我买了一个新的(相同型号)。但在将备份部署到新 SSD 时,我再次遇到相同的错误和超时。所以新的 SSD 已经有缺陷了?

然后我将两个 SSD(新旧)连接到我的 Windows PC,重新格式化它们并进行了一些读/写测试:一切似乎都很好。甚至 SMART 数据也没有显示任何问题。

那么真正的问题在哪里?是 SSD 还是适配器(虽然在 Windows 上运行良好)?还是 Raspberry Pi/Raspbian?

Aug  8 19:41:07 pi kernel: [ 1807.427150] sd 0:0:0:0: [sda] UNKNOWN(0x2003) Result: hostbyte=0x05 driverbyte=0x08
Aug  8 19:41:07 pi kernel: [ 1807.427185] sd 0:0:0:0: [sda] Sense Key : 0x2 [current]
Aug  8 19:41:07 pi kernel: [ 1807.427204] sd 0:0:0:0: [sda] ASC=0x4 ASCQ=0x1
Aug  8 19:41:07 pi kernel: [ 1807.427228] sd 0:0:0:0: [sda] CDB: opcode=0x2a 2a 00 06 c4 bc 48 00 00 20 00
Aug  8 19:41:07 pi kernel: [ 1807.427248] blk_update_request: I/O error, dev sda, sector 113556552
Aug  8 19:41:07 pi kernel: [ 1807.428089] Aborting journal on device sda1-8.
Aug  8 19:41:07 pi rsyslogd-2007: action 'action 17' suspended, next retry is Mon Aug  8 19:42:07 2016 [try http://www.rsyslog.com/e/2007 ]
Aug  8 19:41:56 pi kernel: [ 1856.578961] sd 0:0:0:0: [sda] UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08
Aug  8 19:41:56 pi kernel: [ 1856.578996] sd 0:0:0:0: [sda] Sense Key : 0x2 [current]
Aug  8 19:41:56 pi kernel: [ 1856.579015] sd 0:0:0:0: [sda] ASC=0x4 ASCQ=0x1
Aug  8 19:41:56 pi kernel: [ 1856.579039] sd 0:0:0:0: [sda] CDB: opcode=0x28 28 00 00 01 29 08 00 00 08 00
Aug  8 19:41:56 pi kernel: [ 1856.579058] blk_update_request: I/O error, dev sda, sector 76040
Aug  8 19:41:56 pi kernel: [ 1856.579215] EXT4-fs warning (device sda1): __ext4_read_dirblock:970: error -5 reading directory block (ino 2, block 0)

Aug  8 19:47:57 pi kernel: [ 2217.391824] sd 0:0:0:0: [sda] UNKNOWN(0x2003) Result: hostbyte=0x05 driverbyte=0x08
Aug  8 19:47:57 pi kernel: [ 2217.391857] sd 0:0:0:0: [sda] Sense Key : 0x2 [current]
Aug  8 19:47:57 pi kernel: [ 2217.391876] sd 0:0:0:0: [sda] ASC=0x4 ASCQ=0x1
Aug  8 19:47:57 pi kernel: [ 2217.391899] sd 0:0:0:0: [sda] CDB: opcode=0x2a 2a 00 06 c4 08 00 00 00 08 00
Aug  8 19:47:57 pi kernel: [ 2217.391919] blk_update_request: I/O error, dev sda, sector 113510400
Aug  8 19:47:57 pi kernel: [ 2217.391939] Buffer I/O error on dev sda1, logical block 14188544, lost sync page write
Aug  8 19:47:57 pi kernel: [ 2217.392074] JBD2: Error -5 detected when updating journal superblock for sda1-8.
Aug  8 19:48:28 pi kernel: [ 2248.391304] usb 1-1.4: reset high-speed USB device number 4 using dwc_otg
Aug  8 19:48:59 pi kernel: [ 2279.341526] usb 1-1.4: reset high-speed USB device number 4 using dwc_otg

答案1

我认为问题与 Raspberry Pi 的电源有关,这就是为什么 SSD 仅在连接到 Pi 时才会发生故障。可能没有足够的电力通过 USB 为 SSD 供电。

我更换了电源适配器,拔掉了 USB 延长线,换了一根普通的电源线。现在 SSD 又可以正常工作了。

答案2

将 SSD 直接连接到桌面上的开放 SATA 端口,然后从 Linux Live CD 启动。如果没有看到任何错误,请关闭并使用适配器重新连接。再次启动并查看是否出现错误。如果仍然没有错误,则 pi 有问题。

相关内容