Я пытаюсь выяснить, возможно ли отладить, почему мой внешний жесткий диск (Seagate Backup Plus 2TB) периодически отключается в Linux примерно каждые 12 часов. Я пытаюсь использовать его в качестве дополнительного хранилища для моего компьютера, который работает как сервер 24/7.

Когда я запускаю dmesg , эти несколько строк выглядят так, как будто есть какая-то аппаратная ошибка:

[473082.609445] sd 7:0:0:0: [sdd] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[473082.609456] sd 7:0:0:0: [sdd] tag#0 Sense Key : Hardware Error [current]
[473082.609460] sd 7:0:0:0: [sdd] tag#0 ASC=0x44 <<vendor>>ASCQ=0x81
[473082.609462] sd 7:0:0:0: [sdd] tag#0 CDB: Read(10) 28 00 22 53 7c c8 00 01 00 00
[473082.609465] blk_update_request: critical target error, dev sdd, sector 575896776
[473083.662525] xhci_hcd 0000:00:14.0: Cannot set link state.
[473083.662529] usb usb2-port2: cannot disable (err = -32)
[473083.662533] usb 2-2: USB disconnect, device number 18
[473083.662701] sd 7:0:0:0: [sdd] tag#0 uas_zap_pending 0 uas-tag 1 inflight: CMD
[473083.662703] sd 7:0:0:0: [sdd] tag#0 CDB: Read(10) 28 00 22 53 7c c8 00 00 08 00
[473083.662727] sd 7:0:0:0: [sdd] tag#0 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[473083.662729] sd 7:0:0:0: [sdd] tag#0 CDB: Read(10) 28 00 22 53 7c c8 00 00 08 00
[473083.662730] blk_update_request: I/O error, dev sdd, sector 575896776
[473083.662734] Buffer I/O error on dev sdd1, logical block 71986841, async page read
[473084.844745] sd 7:0:0:0: [sdd] Synchronizing SCSI cache
[473084.882344] blk_update_request: I/O error, dev sdd, sector 0
[473085.090377] sd 7:0:0:0: [sdd] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK

Похоже, что это может быть результатом проблем с питанием, так как ручное переподключение диска исправляет это. Я в порядке, если диск отключается на некоторое время, но я бы хотел, чтобы он автоматически переподключался без необходимости перезапуска диска вручную, так как он должен быть доступен 24/7.

Я попытался сбросить USB-устройство с помощью этого сценария Python, но безрезультатно:

$ sudo python resetusb.py path /dev/bus/usb/002/002
Resetting device: /dev/bus/usb/002/002
Failed to reset device! Error: [Errno 25] Inappropriate ioctl for device

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


Ссылка на продукт на Amazon: https://www.amazon.com/dp/B00829TII6/ref=twister_B008422IL0?_encoding=UTF8&psc=1

0