Путь к USB-устройству изменяется самопроизвольно во время выполнения

2637
MrksKwsnck

Я использую Raspberry Pi с Raspbian (Linux на основе Debian Wheezy) в качестве NAS (сетевого хранилища) с жестким диском USB, подключенным в качестве единственного USB-устройства .

Проблема я столкнулся с в том, что внешний USB жесткий диск находится, /dev/sdaно изменения во время выполнения операционной системы спонтанно, чтобы /dev/sdbбез какой - либо причине. Затем, используя его, /dev/sdbон возвращается к /dev/sda. Это также происходит при копировании большого количества данных, что приводит к ошибкам ввода-вывода. Иногда это занимает часы, но в противном случае это занимает минуты. - Это действительно жутко!

Конечно, я искал Интернет для подсказок, прежде чем просить здесь о помощи. Единственной интересной вещью, которую я нашел, была следующая ссылка: Linux: Запомните путь к USB-устройству - я следовал описанным шагам, и я публикую здесь вывод команд,

Команда 1: udevadm info -q all -p $(udevadm info -q path -n /dev/sda)

Выход 1:

P: /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/host0/target0:0:0/0:0:0:0/block/sda N: sda S: disk/by-id/usb-WDC_WD25_00JS-40NGB2_8DC88D250088-0:0 S: disk/by-path/platform-bcm2708_usb-usb-0:1.3:1.0-scsi-0:0:0:0 E: DEVLINKS=/dev/disk/by-id/usb-WDC_WD25_00JS-40NGB2_8DC88D250088-0:0 /dev/disk/by-path/platform-bcm2708_usb-usb-0:1.3:1.0-scsi-0:0:0:0 E: DEVNAME=/dev/sda E: DEVPATH=/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/host0/target0:0:0/0:0:0:0/block/sda E: DEVTYPE=disk E: ID_BUS=usb E: ID_INSTANCE=0:0 E: ID_MODEL=00JS-40NGB2 E: ID_MODEL_ENC=00JS-40NGB2\x20\x20\x20\x20\x20 E: ID_MODEL_ID=2336 E: ID_PART_TABLE_TYPE=dos E: ID_PATH=platform-bcm2708_usb-usb-0:1.3:1.0-scsi-0:0:0:0 E: ID_PATH_TAG=platform-bcm2708_usb-usb-0_1_3_1_0-scsi-0_0_0_0 E: ID_REVISION=0100 E: ID_SERIAL=WDC_WD25_00JS-40NGB2_8DC88D250088-0:0 E: ID_SERIAL_SHORT=8DC88D250088 E: ID_TYPE=disk E: ID_USB_DRIVER=usb-storage E: ID_USB_INTERFACES=:080650: E: ID_USB_INTERFACE_NUM=00 E: ID_VENDOR=WDC_WD25 E: ID_VENDOR_ENC=WDC\x20WD25 E: ID_VENDOR_ID=152d E: MAJOR=8 E: MINOR=0 E: SUBSYSTEM=block E: UDEV_LOG=3 E: UDISKS_ATA_SMART_IS_AVAILABLE=1 E: UDISKS_PARTITION_TABLE=1 E: UDISKS_PARTITION_TABLE_COUNT=1 E: UDISKS_PARTITION_TABLE_SCHEME=mbr E: UDISKS_PRESENTATION_NOPOLICY=0 E: USEC_INITIALIZED=7853442 

Команда 2: udevadm info -q all -p $(udevadm info -q path -n /dev/sdb)

Выход 2:

P: /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/host2/target2:0:0/2:0:0:0/block/sdb N: sdb S: disk/by-id/usb-WDC_WD25_00JS-40NGB2_8DC88D250088-0:0 S: disk/by-path/platform-bcm2708_usb-usb-0:1.3:1.0-scsi-0:0:0:0 E: DEVLINKS=/dev/disk/by-id/usb-WDC_WD25_00JS-40NGB2_8DC88D250088-0:0 /dev/disk/by-path/platform-bcm2708_usb-usb-0:1.3:1.0-scsi-0:0:0:0 E: DEVNAME=/dev/sdb E: DEVPATH=/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/host2/target2:0:0/2:0:0:0/block/sdb E: DEVTYPE=disk E: ID_BUS=usb E: ID_INSTANCE=0:0 E: ID_MODEL=00JS-40NGB2 E: ID_MODEL_ENC=00JS-40NGB2\x20\x20\x20\x20\x20 E: ID_MODEL_ID=2336 E: ID_PART_TABLE_TYPE=dos E: ID_PATH=platform-bcm2708_usb-usb-0:1.3:1.0-scsi-0:0:0:0 E: ID_PATH_TAG=platform-bcm2708_usb-usb-0_1_3_1_0-scsi-0_0_0_0 E: ID_REVISION=0100 E: ID_SERIAL=WDC_WD25_00JS-40NGB2_8DC88D250088-0:0 E: ID_SERIAL_SHORT=8DC88D250088 E: ID_TYPE=disk E: ID_USB_DRIVER=usb-storage E: ID_USB_INTERFACES=:080650: E: ID_USB_INTERFACE_NUM=00 E: ID_VENDOR=WDC_WD25 E: ID_VENDOR_ENC=WDC\x20WD25 E: ID_VENDOR_ID=152d E: MAJOR=8 E: MINOR=16 E: SUBSYSTEM=block E: UDEV_LOG=3 E: UDISKS_ATA_SMART_IS_AVAILABLE=1 E: UDISKS_PARTITION_TABLE=1 E: UDISKS_PARTITION_TABLE_COUNT=1 E: UDISKS_PARTITION_TABLE_SCHEME=mbr E: UDISKS_PRESENTATION_NOPOLICY=0 E: USEC_INITIALIZED=2425648913 

Поэтому я попробовал хитрость и добавил строку BUS=="usb", ATTR=="WDC_WD25_00JS-40NGB2_8DC88D250088-0:0", NAME="sda"в файл, /etc/udev/rules.d/10-usb-serialно, к сожалению, это также не решило проблему.

Я не знаю, важно ли это упоминать, но используемое внешнее запоминающее устройство USB состоит из двух идентичных жестких дисков размером 256 ГБ в корпусе, управляемом JBOD . Это означает, что он выглядит как один жесткий диск размером 512 ГБ для операционной системы.

И теперь я с нетерпением жду любой помощи и / или предложений. - Заранее спасибо!

1
Это очень странно. Где установлена ​​ваша ОС? На двух выводах, которые вы показываете, перечислены разные устройства. Вы _ure_ меняете имя `/ dev` вашего диска? terdon 10 лет назад 0
Операционная система установлена ​​на SD-карте 4 ГБ, а Raspberry Pi загружается с SD-карты. Но как вы видите разные устройства в моем выводе? Да, я уверен, что это одно и то же устройство, подключенное к USB. MrksKwsnck 10 лет назад 0
Строки `DEVPATH` и` P: `различны. terdon 10 лет назад 0
Да это правда. Но это одно и то же устройство USB. Я ничего не трогал для этих обоих выходов. MrksKwsnck 10 лет назад 0
Я знаю, у него есть 2 диска, хотя, и это, кажется, проблема. terdon 10 лет назад 0

2 ответа на вопрос

0
txtechhelp

Considering it's a USB attached drive, it switching between /dev/sda and /dev/sdb on boot is not surprising; it doing it during normal sessions would lead one to suspect a screwy usb configuration on either the RasPi side OR the physical HDD itself (more the firmware that controls the 2 HDD's in the enclosure). That being said, check out this link on UUID's, this pertains to Linux EXT3 partitions and judging from your output you have dos partitions (which is more likely FAT32 partitions) but you should be able to pull a UUID from the USB HDD using the blkid command as mentioned in the article. Here's some links if you have trouble getting the UUID of your DOS partition.

IMHO if you're using the RasPi as a NAS and the USB drives are not going to be moved (i.e. the USB drive stays plugged into the RasPi 24/7), I'd recommend pulling the HDD's out of the USB enclosure and directly connecting them to the RasPi (if you can), this will avoid those I/O issues and give you higher throughput to your disks (SATA speeds vs. USB2 speeds).

Hope that can help out.

0
MrksKwsnck

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

Очевидно, что внешний жесткий диск ранее потерял связь с Raspberry Pi на короткое время. Операционная система тогда думала, что был подключен другой жесткий диск. В противном случае я не могу представить эту проблему.

Так что этот вопрос официально решен сейчас!

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