Внешний жесткий диск продолжает отключаться

Можно ли предотвратить отключение внешнего жесткого диска? Я оставил диск включенным на ночь для большой загрузки, но когда я проверял его утром, загрузка не удалась с сообщением unable to access the drive.

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

Я выполнил сканирование badblocks на диске, и ошибок не было найдено.


Невозможно запустить самопроверку SMART:

enter image description here


Отключено, а затем повторно подключено внешний USB-накопитель. Ниже приведены результаты dmesg:

[  289.881673] usb 1-1.1: USB disconnect, device number 5
[  305.182474] usb 1-1.1: new high-speed USB device number 6 using ehci-pci
[  305.275807] usb 1-1.1: New USB device found, idVendor=152d, idProduct=2338
[  305.275812] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[  305.275825] usb 1-1.1: Product: USB to ATA/ATAPI bridge
[  305.275828] usb 1-1.1: Manufacturer: JMicron
[  305.275830] usb 1-1.1: SerialNumber: 000001D91CA8
[  305.276594] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[  305.276914] scsi host5: usb-storage 1-1.1:1.0
[  306.275373] scsi 5:0:0:0: Direct-Access     WDC WD25 00KS-00MJB0           PQ: 0 ANSI: 5
[  306.275787] sd 5:0:0:0: Attached scsi generic sg3 type 0
[  306.276317] sd 5:0:0:0: [sdc] 488397168 512-byte logical blocks: (250 GB/233 GiB)
[  306.277429] sd 5:0:0:0: [sdc] Write Protect is off
[  306.277435] sd 5:0:0:0: [sdc] Mode Sense: 28 00 00 00
[  306.278429] sd 5:0:0:0: [sdc] No Caching mode page found
[  306.278433] sd 5:0:0:0: [sdc] Assuming drive cache: write through
[  306.288959]  sdc: sdc1 sdc2
[  306.292063] sd 5:0:0:0: [sdc] Attached SCSI disk

Вывод «blkid» во время использования привода. Я сделал этот снимок экрана, копируя 500 МБ файлов на диск.

enter image description here


Вывод lsblk ниже:

userone@userone:~$ lsblk
NAME                    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                       8:0    0 232.9G  0 disk  
├─sda1                    8:1    0   487M  0 part  /boot
├─sda2                    8:2    0     1K  0 part  
└─sda5                    8:5    0  59.2G  0 part  
  └─sda5_crypt          252:0    0  59.2G  0 crypt 
    ├─ubuntu--vg-root   252:1    0  43.2G  0 lvm   /
    └─ubuntu--vg-swap_1 252:2    0  15.9G  0 lvm   [SWAP]
sdb                       8:16   0 232.9G  0 disk  
├─sdb1                    8:17   0   500M  0 part  
├─sdb2                    8:18   0   232G  0 part  
└─sdb3                    8:19   0   470M  0 part  
sdc                       8:32   0 232.9G  0 disk  
├─sdc1                    8:33   0 232.4G  0 part  /media/userone/New Volume
└─sdc2                    8:34   0   470M  0 part  
sr0                      11:0    1  1024M  0 rom   
loop0                     7:0    0  86.6M  1 loop  /snap/core/4571
loop1                     7:1    0  90.3M  1 loop  /snap/coolreader3/1
loop2                     7:2    0  86.7M  1 loop  /snap/simplescreenrecorder/1
loop3                     7:3    0 236.5M  1 loop  /snap/pycharm-community/64
loop4                     7:4    0  86.9M  1 loop  /snap/core/4830
loop5                     7:5    0    85M  1 loop  /snap/simplescreenrecorder-mardy/4
loop6                     7:6    0  86.6M  1 loop  /snap/core/4650
userone@userone:~$ 
2
задан 1 July 2018 в 22:27

4 ответа

Не только с большими загрузками, но также и с копированием больших файлов от жесткого диска до внешнего жесткого диска ошибке почти пять лет: Ubuntu замедляется и зависает при копировании файла с USB.

Решения, отправленные многими пользователями, состоят в том, чтобы проверить Ваш кэш с обратной записью:

$ cat /proc/vmstat | egrep "dirty|writeback"
nr_dirty 15
nr_writeback 0
nr_writeback_temp 0
nr_dirty_threshold 261131
nr_dirty_background_threshold 130406

Принятый ответ (с 66-голосами) здесь: stackexchange.com - Почему мой ПК замораживается, в то время как я копирую файл в pendrive?

предлагает использовать:

echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes

Принятый ответ использует косвенную математику для установки 16 мебибайт для грязных фоновых байтов и 48 мебибайт для грязных байтов.

Из первой ссылки (отчет об ошибках), хотя, комментарий № 83 рекомендует более агрессивное значение 200 МБ для грязных байтов. Устанавливать настройки постоянное редактирование /etc/sysctl.conf и добавьте эту строку:

vm.dirty_bytes = 200000000

Затем выполненный systctl -p или перезагрузка.

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

Грязный BTW не означает ничего низкого. Это означает данные, сохраненные в RAM, ожидающей быть записанными в диск. Таким образом, в то время как Ваша загрузка работает, информация содержится в RAM и не пишется в Ваш внешний жесткий диск. Неактивность могла быть то, почему она выключается.

Также, поскольку я упомянул в комментариях blkid ничего не показывает в Ubuntu 18.04, но lsblk показывает все включая внешние диски.

3
ответ дан 1 July 2018 в 22:27

Получите имя устройства с помощью blkid или проверьте dmesg на наличие подключенного устройства. Затем выключите управление питанием с помощью hdparm.

# get device name
$ sudo blkid
/dev/sda1: UUID="..." UUID_SUB="..." TYPE="somefs" PARTUUID="..."
/dev/sdb1: UUID="..." UUID_SUB="..." TYPE="someotherfs" PARTUUID="..."

$ sudo dmesg
...
[  305.276914] scsi host5: usb-storage 1-1.1:1.0
[  306.275373] scsi 5:0:0:0: Direct-Access     WDC WD25 00KS-00MJB0           PQ: 0 ANSI: 5
[  306.275787] sd 5:0:0:0: Attached scsi generic sg3 type 0
[  306.276317] sd 5:0:0:0: [sdc] 488397168 512-byte logical blocks: (250 GB/233 GiB)
[  306.277429] sd 5:0:0:0: [sdc] Write Protect is off
...

Как видно из вывода команд, ваш USB-диск зарегистрирован как / dev / sdc . Поэтому отключите управление питанием для этого устройства.

# disable power management
$ sudo hdparm -B 255 /dev/sdc

См. hdparm ArchWiki для более подробной информации.

Обновление: добавьте sudo к командам, поскольку требуются привилегии суперпользователя.

5
ответ дан 1 July 2018 в 22:27

Просто другая идея: если производитель USB-устройства не поддерживает отключение управления питанием , вы можете сохранить его с помощью cronjob.

Создайте cronjob для пользователя root, который создает файл каждую минуту, синхронизирует файловую систему и впоследствии удаляет его.

# Edit the crontab as root user (it will open the crontab with your favorite editor)
$ sudo crontab -e

# add the following line, save and close the editor
* * * * * touch /media/userone/New\ Volume/keepalive; sync; rm -f /media/userone/New\ Volume/keepalive

Это должно поддерживать работоспособность USB-устройства

0
ответ дан 1 July 2018 в 22:27

Для меня сочетание предыдущих двух ответов сработало. Я выполнял "/ sbin / hdparm -B 255 / dev / sdc" в cronjob каждую минуту.

# Edit the crontab as root user (it will open the crontab with your favorite editor)
$ sudo crontab -e

# add the following line, save and close the editor
* * * * * /sbin/hdparm -B 255 /dev/sdc >/dev/null 2>&1
0
ответ дан 1 July 2018 в 22:27

Другие вопросы по тегам:

Похожие вопросы: