Жесткий диск USB перестал работать в Debian без размонтирования

Жесткий диск USB перестал работать в Debian без размонтирования

Я видел здесь похожий вопрос, но он не решает мою проблему, потому что это другая проблема.

У меня есть внешний жесткий диск, и он работает нормально, но через некоторое время после монтирования и нормальной работы он отключается, и соответствующий вывод 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 последней версии, а диск — Seagate на 250 ГБ (модель не знаю). Добавлю, что на момент возникновения проблемы я ничего не читал и не записывал на диск.

Заранее спасибо!

Редактировать: Устройство монтируется в начале системы, а строка в fstab выглядит следующим образом:

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

Я где-то читал, что некоторые жесткие диски переходят в спящий режим через некоторое время, если не используются, и пока порт USB включен, жесткий диск спит. Может ли это быть моей проблемой? И если да, то как это исправить?

решение1

Моя первая догадка — это проблема «сна». Кажется, я видел посты о том, что не стоит покупать «зеленые» диски для NAS-устройств из-за таких вещей. Возможно, в спецификациях диска есть что-то об этом.

Чтобы эмпирически проверить это (и обеспечить временное исправление), вы можете написать небольшой скрипт оболочки для периодического доступа к диску. Если это исправит проблему, то вы знаете, в чем она заключается.

Вы можете запустить этот скрипт с помощью 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

Чтобы еще меньше влиять на вашу систему, вы можете заменить ls командой touch для обновления временной метки (возможно, пустого) файла на диске.

Кстати, вы можете назвать точку монтирования как угодно, так зачем вам \040"? Если я правильно выполнил преобразования, то это просто пробел ASCII в восьмеричной системе. Вы можете создавать любые имена файлов с пробелами внутри, но использование подчеркиваний и т. п. может избавить вас от множества проблем со скриптами и программами, которые, как правило, разделяют токены пробелами.

Связанный контент