Debian 中 USB 硬盘停止工作,无需卸载

Debian 中 USB 硬盘停止工作,无需卸载

我在这里看到过类似的问题,但它并不能解决我的问题,因为这是一个不同的问题。

我有一个外部硬盘,它工作正常,但在安装并正常工作一段时间后,它被卸载,dmesg 的相关输出如下,

[22653.465263] usb 1-6: USB disconnect, device number 3
[22654.341275] Buffer I/O error on device sdb1, logical block 5851506
[22654.341285] Buffer I/O error on device sdb1, logical block 5851507
[22654.341290] Buffer I/O error on device sdb1, logical block 5851508
[22654.341295] Buffer I/O error on device sdb1, logical block 5851509
[22654.341300] Buffer I/O error on device sdb1, logical block 5851506
[22654.472971] Buffer I/O error on device sdb1, logical block 5851506
[22654.474689] Buffer I/O error on device sdb1, logical block 55417728
[22654.474698] Buffer I/O error on device sdb1, logical block 55417728
[22654.488099] Buffer I/O error on device sdb1, logical block 55417728
[22654.625318] Buffer I/O error on device sdb1, logical block 15213709
[22655.852960] usb 1-6: new high-speed USB device number 4 using ehci_hcd
[22655.986631] usb 1-6: New USB device found, idVendor=0bc2, idProduct=2300
[22655.986636] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[22655.986639] usb 1-6: Product: Portable        
[22655.986641] usb 1-6: Manufacturer: Seagate 
[22655.986644] usb 1-6: SerialNumber: 2GH1D7N9    
[22655.995937] scsi7 : usb-storage 1-6:1.0
[22656.997526] scsi 7:0:0:0: Direct-Access     Seagate  Portable         0130 PQ: 0 ANSI: 4
[22656.999376] sd 7:0:0:0: [sdc] 488397168 512-byte logical blocks: (250 GB/232 GiB)
[22657.001473] sd 7:0:0:0: [sdc] Write Protect is off
[22657.001478] sd 7:0:0:0: [sdc] Mode Sense: 2f 08 00 00
[22657.002044] sd 7:0:0:0: [sdc] No Caching mode page present
[22657.002049] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[22657.006538] sd 7:0:0:0: [sdc] No Caching mode page present
[22657.006545] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[22657.064746]  sdc: sdc1
[22657.068549] sd 7:0:0:0: [sdc] No Caching mode page present
[22657.068555] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[22657.068560] sd 7:0:0:0: [sdc] Attached SCSI disk
[22661.658006] quiet_error: 23 callbacks suppressed
[22661.658012] Buffer I/O error on device sdb1, logical block 15752430
[22661.658115] Buffer I/O error on device sdb1, logical block 15752435
[22661.809572] Buffer I/O error on device sdb1, logical block 15752430

并且这种情况一直持续。不久前我重新安装了系统,在此之前,它运行正常。

我的系统是最新的 Debian Wheezy,磁盘是 250 GB 的 Seagate(我不知道型号)。我应该补充一点,在出现问题时,我没有读取或写入磁盘内容。

提前致谢!

编辑:该设备在系统启动时挂载,fstab中相应行如下,

UUID=1678E1CC78E1AB27       /media/Expansion\040Drive     ntfs-3g    auto,user,rw,uid=1000,umask=077  0       0

我读到过一些文章说,有些硬盘在一段时间不使用后会进入睡眠模式,而当 USB 端口打开时,硬盘就会处于睡眠状态。这可能是我的问题吗?如果是这样,我该如何纠正它?

答案1

我的第一个猜测是这可能是“睡眠”问题。我想我看到过一些帖子,说不要因为类似的事情而为 NAS 设备购买“绿色”驱动器。驱动器的规格中可能有一些关于此问题的内容。

为了对此进行实证测试(并提供临时解决方案),您可以编写一个小的 shell 脚本来定期访问驱动器。如果这能解决问题,那么您就知道问题是什么了。

如果您需要它作为“永久”解决方案,您可以让该脚本通过 cron 运行或在您登录(~/.profile)时运行。

#!/bin/bash

MOUNT="/media/Expansion\040Drive" ## Your mount point
SLEEP_TIME="10m"  ## How long to sleep between accesses
while true
do
  ls "${MOUNT}" > /dev/null
  sleep "${SLEEP_TIME}"
done

为了使其对系统的影响更小,您可以用 touch 命令替换 ls 来更新驱动器上(可能是空的)文件的时间戳。

另外,您可以将挂载点命名为任何您想要的名称,那么为什么需要 \040"?如果我的转换正确,它只是八进制的 ASCII 空格。您可以创建所有带有空格的文件名,但使用下划线等可以为您省去很多问题,因为脚本和程序往往会用空格分隔标记。

相关内容