Почему мой внешний жесткий диск USB иногда полностью недоступен?

11

У меня есть внешний жесткий диск USB, состоящий из SATA-накопителя емкостью 1 ТБ в корпусе Rosewill RX35-AT-SU SLV, алюминий, 3,5 "Silver USB 2.0, внешний корпус , подключенный к ноутбуку SONY VAIO VGN-NS310F . Он подключается непосредственно к компьютеру. (не через концентратор). Диск внутри корпуса - Western Digital 7200 об / мин, но я не помню точную модель. Я могу вынуть диск из корпуса (снова), если люди считают, что необходимо знать эту деталь ,

Диск отформатирован ext4. Я монтирую его динамически udisksв моей системе Lubuntu 11.10, обычно автоматически через PCManFM. (У меня был Lubuntu 12.04 на этой машине, и я испытывал все то же поведение с этим тоже.) Время от времени - один или два раза в день - он становится недоступным, и его трудно демонтировать. Попытка размонтировать его sudo umount ...выдает сообщение об ошибке , говорящее диск используется и предполагая , fuserи lsofвыяснить , что использует его. Нашел Killing процессы , которые следует использовать диск с fuserи lsofиногда достаточно , чтобы позволить мне отключить его, но обычно это не так .

Когда диск отключен или машина перезагружена, диск не будет подключен. Подключение диска и его включение ничего не регистрирует на компьютере. dmesgбез изменений. Индикатор доступа к накопителю обычно сильно мигает, как будто к нему постоянно обращаются. В конце концов, после того, как я на некоторое время отключил диск (полчаса), я смог снова его смонтировать.

Хотя накопитель некоторое время не работает на этой машине , он сразу же будет работать на другой машине с той же версией Ubuntu. Иногда возвращение его с другой машины, кажется, "исправляет" это. Иногда это не так.

Привод не всегда перестает быть доступным во время монтажа , прежде чем становится не подключаемым. Иногда это работает нормально, я выключаю компьютер, снова включаю компьютер и не могу смонтировать диск.

В настоящее время это единственный диск, с которым у меня возникла эта проблема, но у меня были проблемы, которые, как мне кажется, такие же, как и на разных дисках, на разных компьютерах с Ubuntu. К этому ноутбуку регулярно подключается другой внешний USB-накопитель, с которым такой проблемы нет. Отключение этого диска перед подключением «проблемного» диска не решает проблему.

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

Кто-нибудь имеет какие-либо идеи о том, что может быть причиной этого, какие шаги по устранению неполадок я должен выполнить, и / или как я мог бы решить эту проблему в целом?

Обновление: я попытался заменить USB-кабель для передачи данных (от корпуса к ноутбуку), как предложил Мерлин . Я должен был попробовать это давным-давно, так как он идеально подходит для симптомов (привод работает на другой машине, что имеет смысл, потому что кабель будет изогнут под другим углом, возможно, завершив цепь изношенных проводов). К сожалению, однако, это не помогло - у меня та же проблема с новым кабелем. Я постараюсь предоставить дополнительную подробную информацию о накопителе внутри корпуса, когда в следующий раз смогу заставить накопитель работать. (На данный момент у меня нет другой машины для подключения.)

Основное обновление (28 июня 2012 г.)

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

Теперь, когда я подключаю диск к исходному компьютеру, на котором у меня возникли проблемы, он все равно не появляется (в том числе и с sudo fdisk -l), но распознается ядром и сообщения добавляются dmesg. Большая часть сообщения состоит из таких ошибок, которые повторяются много раз:

[    7.707593] sd 5:0:0:0: [sdc] Unhandled sense code
[    7.707599] sd 5:0:0:0: [sdc]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[    7.707606] sd 5:0:0:0: [sdc]  Sense Key : Medium Error [current] 
[    7.707614] sd 5:0:0:0: [sdc]  Add. Sense: Unrecovered read error
[    7.707621] sd 5:0:0:0: [sdc] CDB: Read(10): 28 00 00 00 00 00 00 00 08 00
[    7.707636] end_request: critical target error, dev sdc, sector 0
[    7.707641] Buffer I/O error on device sdc, logical block 0

Вот все строки, dmesgначиная с того, когда диск распознается. Обратите внимание, что:

  • Я вернулся к запуску Lubuntu 12.04 на этой машине (и, возможно, это является фактором, улучшающим сообщения об ошибках).
  • Теперь, когда накопитель подключен к другой машине и обратно к ней, а также теперь, когда эта машина вернулась к работе 12.04, индикатор доступа к накопителю не мигает, как я описал. Глядя на накопитель, кажется, что он работает нормально, с низким или отсутствующим доступом.
  • Такое поведение (ошибки) возникает при перезагрузке машины с подключенным накопителем, а также при ручном подключении накопителя.
  • Несколько сообщений о /dev/sdb. Этот диск работает нормально. Плохой диск есть /dev/sdc. Я просто не хотел ничего редактировать с середины.
Элия ​​Каган
источник
3
сломанный / хитрый кабель?
Moog
Это диск SATA II или SATA III? Любые обновления BIOS или прошивки?
Митч
Можете ли вы проверить SMART-статус этого диска? Если это вообще можно узнать где угодно.
Самик
@Samik Даже когда устройство распознается, я не могу этого сделать .
Элия ​​Каган
2
@EliahKagan из ваших dmesgжурналов видно, что системе неоднократно не удается прочитать первый сектор, инструкция READ (10) не выполняется. Так что это может быть плохой сектор, растущий там.
Самик

Ответы:

2

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

Для более глубокого тестирования вы можете проверить каждый сектор привода, используя такие инструменты, как ddrescue. ddrescueсообщит размер ошибки во время процесса , и вы можете попытаться восстановить данные в то же время , как и в: sudo ddrescue /dev/sdb2 /path/to/recovery.image logfile. Список разделов с sudo lsblkили классическим fdisk -l.

Если вы действительно не интересуетесь данными, вы можете принудительно настроить выходной файл /dev/nullследующим образом:

sudo ddrescue --force /dev/sdc /dev/null logfile 

и вы все равно получите отчет о любом размере ошибки на стандартный вывод

Протестировано на Ubuntu 14.04 с GNU ddrescue 1.17 следующим образом в этом коротком примере с использованием / dev / sdb2 (раздел подкачки 1 МБ)

$ sudo ddrescue --force /dev/sdb2 /dev/null logfile


GNU ddrescue 1.17
Press Ctrl-C to interrupt
rescued:      1024 B,  errsize:       0 B,  current rate:     1024 B/s
   ipos:         0 B,   errors:       0,    average rate:     1024 B/s
   opos:         0 B,    time since last successful read:       0 s
Старейшина Гик
источник
Хотя я не мог точно выполнить эти шаги, я считаю, что этот ответ является и правильным, и наилучшим образом отражает природу проблемы, с которой я столкнулся (хотя другие также имеют ценность для разных сценариев, проявляющихся одинаково). В конце концов, диск полностью перестал работать, я вынул его из корпуса (с питанием), обнаружил, что он также не работает (на нескольких машинах) в другом (с питанием) корпусе, и обнаружил, что другой диск работал (на нескольких машинах) в оригинале корпус. Поскольку я не смог снова распознать проблемный диск, я не пытался запустить ddrescueили проверить состояние SMART.
Элия ​​Каган
@EliahKagan это был механический или электрический сбой? Не могли бы вы услышать вращение диска? Просто любопытно.
Старейшина Компьютерщик
В прошлый раз, когда я включал двигатель, я все еще мог слышать его вращение, да.
Элия ​​Каган
1

У меня был подобный опыт, когда я работал на рабочем столе Ubuntu 12.04. В моем жестком диске было 2 варианта питания, я мог либо купить адаптер переменного тока, либо использовать 1 мини-USB-кабель для обычного USB-кабеля, либо использовать мини-USB-кабель на два USB-кабеля. В идеале его необходимо подключить к обоим портам USB, чтобы обеспечить достаточную мощность. Он может передавать данные через USB-кабель или через eSata.

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

Когда я подключил USB, у меня были очень смешанные результаты при подключении кабеля сначала к корпусу, а затем к USB-портам. Может быть, примерно в половине случаев он будет установлен правильно. Если я сначала подключил USB-кабели к портам компьютера, а затем ко второму корпусу, то результаты были намного лучше - около 70%. Наилучшие результаты, которые я получил с опциями USB, - это использование внешнего источника питания (адаптера кондиционера) для корпуса, чтобы убедиться, что диск вращался и работал стабильно, прежде чем я подключил его к машине. Работал почти на 100%

Не сказать, что это именно ваша проблема, но для меня это помогло обеспечить питание корпуса и заставить диск вращаться перед подключением, чтобы он считывался системой. Возможно, скорость BIOS или шины в одной вашей системе лучше, чем в другой, и это дает время для работы контроллера оболочки, прежде чем он попытается прочитать диск? И, может быть, через некоторое время после отключения корпуса контроллер перезагружается?

Возможно, контроллеру нужно время, чтобы решить, получает ли он питание от USB или от источника питания и данных. Может быть, проблема с напряжением или силой тока? В любом случае контроллеры корпуса кажутся привередливыми.

Трэвис Кларк
источник
0

Для вашего USB-накопителя попробуйте выполнить следующие действия (если вы этого еще не сделали):

  1. sudo fdisk -l #получить информацию
  2. sudo mkdir /media/external # создать точку монтирования
  3. sudo mount -t vfat /dev/sdb1 /media/external -o uid=1000,gid=1000,utf8,dmask=027,fmask=137 #mount.

Или попробуйте использовать pmountдля подключения вашего USB.

Vahni
источник
5
Спасибо за предложения. К сожалению: [1] sudo fdisk -l не раскрывает ничего о диске. Я не ожидал бы этого, так dmesgкак не меняется от присоединения диска. [2] Я не могу вручную смонтировать устройство, которое Ubuntu вообще не распознает как подключенное. (Опять же, dmesgничего не говорит.) (Это относится udisksи к тому pmountже.) Помните, дело не в том, что разделы диска не видны. Диск не виден. [3] Зачем мне монтировать том ext4 как vfat?
Элия ​​Каган
0

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

Старые (и более дешевые) накопители проходят процесс, называемый «термическая перекалибровка» (TACL), который происходит каждый час или около того, и они могут стать недоступными в течение нескольких секунд, пока накопитель оценивает, насколько изогнутая головка диска изгибается при нагревании. в драйв. Во время TCL шаговый двигатель и катушка стремятся к каждой дорожке, а головка выравнивается на каждой дорожке, и результаты сохраняются. Это внутренняя особенность прошивки. Похоже, что этот процесс либо застревает, либо, возможно, выдает неправильные ответы, что делает невозможным доступ к накопителю после тепловой калибровки.

Ошибка, отправленная вами из dmesg, указывает на наличие проблем в sdc, секторе 0, логическом блоке 0. Эти блоки с низким номером часто содержат геометрию диска (т. Е. Жесткое или мягкое форматирование). Если эти блоки выходят из строя, весь диск может стать недоступным, навсегда. Отказ носителя может быть связан с перегревом, что может объяснить, почему период бездействия (перемещение накопителя на другую машину) иногда исправляет его, а иногда не устраняет.

Чтобы выяснить, связана ли проблема с температурой, включите компьютер и запустите секундомер, но на самом деле не используйте накопитель - просто подождите, пока он выйдет из строя, и запишите, сколько времени потребуется, чтобы выйти из строя. Затем выключите его и оставьте на несколько часов, чтобы он остыл, затем снова запустите тест, включите компьютер и диск, но запустите огромную копию диска с большим объемом данных (тот же диск). Дальнейшая работа с шаговым двигателем может привести к более быстрому нагреву привода и преждевременному выходу его из строя. Если в задержке сбоя произошли большие изменения, то накопитель будет тостовым, и я получу еще один. Удачи!

SystemBuilder
источник
0

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

Устройство может потреблять до 500 мА из порта в спецификации USB 2.0 и до 900 мА в USB 3.0. Посмотрев спецификации производителя внешнего накопителя, вы сможете подтвердить максимальные требования к питанию вашего накопителя.

Эту проблему часто можно решить, попробовав порт USB3 (если он у вас есть, а вы еще не пробовали), потому что они обеспечивают больше энергии, чем USB2, или получить кабель USB Y, чтобы привод мог получать питание от 2 порта вместо 1. Они доступны недорого на eBay или Amazon.

Скуби ду
источник
0

Хотя реальная причина проблемы уже указана, я хочу добавить тот же ответ, поскольку у меня есть около 4 внешних жестких дисков.

Любой компьютер, который изготовлен, предполагает, что источник питания будет использоваться в соответствии со спецификациями конфигурации и не более 20% перегрузки.

Любое внешнее USB-устройство должно быть подключено к внешнему источнику питания, чтобы защитить источник питания компьютера. Описанное поведение является типичным поведением для перегрузки по мощности. Предположим, у вас также есть внешний DVD-диск, это также может привести к сбоям в ваших записях и даже может привести к тому, что ваше устройство (устройства) и, более того, даже компьютер будут восстановлены. Ноутбуки обычно тормозят таким образом, поскольку пользователи, как правило, используют пассивные USB-концентраторы или компьютерные устройства, включая жесткие диски, DVD-диски и тому подобное.

Купите внешний USB-концентратор с питанием и подключите USB-устройства через USB-порт с питанием, вместо того, чтобы отключать питание от источника компьютера, поскольку такой подход повредит больше, чем ваш жесткий диск. Скачок напряжения в основном такой же, как у компьютера с недостаточным питанием или внешнего устройства. Стандарт USB не имеет ничего общего с маломощным устройством. Подумайте об этом так: если вы хотите получить энергию от своего автомобиля, какое топливо вы бы использовали? Все, что горит, или указанное производителем топливо? Здесь точно так же. При использовании USB-устройств UNPOWERED происходит отключение питания от внутреннего источника питания компьютера. К нему уже подключено достаточно устройств!

Сербан Стенеску
источник