두 개의 USB 저장 장치가 연결된 Raspberry PI에서 Raspbian 7.4를 실행하고 있습니다. Raspberry PI는 지속적인 전원을 제공하는 콘솔 케이블이 연결되어 있기 때문에 정전 중에도 계속 실행됩니다.
문제는 집에 전원이 끊기면 USB 저장 장치가 사라지는 " USB disconnect
" 메시지가 Raspberry PI에 표시되지만 전원이 다시 들어오고 USB 장치가 다시 연결되면 새 장치 이름이 할당된다는 것입니다.
문제는 mount
표시된 드라이브와 이전 장치 이름이 더 이상 존재하지 않는다는 것입니다. 이 시점에서 드라이브의 탑재 지점 이름을 사용하여 드라이브에 액세스하려는 모든 시도는 I/O 오류로 인해 실패합니다. umount
드라이브를 수동으로 다시 설치 해야 했습니다 .
/etc/fstab
장치 이름과 관련된 문제를 방지하고 드라이브가 마운트 지점에 마운트되는 방식의 일관성을 유지하기 위해 드라이브의 UUID를 사용합니다 .
udev
드라이브의 고유 일련 번호를 사용하여 각 드라이브에 대한 SYMLINK 별칭을 생성하고 /etc/fstab
설치 시 UUID 대신 해당 드라이브 별칭을 사용하도록 변경하는 규칙을 사용해야 합니까 ?
아래 시스템 로그에는 드라이브가 사라졌다가 sdc
및 로 반환되는 것을 보여줍니다 sdd
. 정전이 발생 sda
하기 전 이었습니다 .sdb
물론 소형 UPS에 USB 드라이브를 장착할 수도 있지만 이런 종류의 문제를 처리하는 가장 좋은 방법, 즉 일관된 USB 디스크 장치 이름을 지정하는 방법을 알고 싶습니다.
Dec 31 06:45:46 raspberrypi kernel: [8332934.611538] smsc95xx 1-1.1:1.0 eth0: link down
Dec 31 06:45:47 raspberrypi ifplugd(eth0)[27446]: Link beat lost.
Dec 31 06:45:48 raspberrypi kernel: [8332935.871532] usb 1-1.2.3: USB disconnect, device number 47
Dec 31 06:45:48 raspberrypi kernel: [8332936.048631] usb 1-1.2.4: USB disconnect, device number 48
Dec 31 06:45:57 raspberrypi ifplugd(eth0)[27446]: Executing '/etc/ifplugd/ifplugd.action eth0 down'.
Dec 31 06:45:57 raspberrypi ifplugd(eth0)[27446]: client: /sbin/ifdown: interface eth0 not configured
Dec 31 06:45:57 raspberrypi ifplugd(eth0)[27446]: Program executed successfully.
Dec 31 06:46:22 raspberrypi kernel: [8332970.159145] usb 1-1.2.3: new high-speed USB device number 52 using dwc_otg
Dec 31 06:46:22 raspberrypi kernel: [8332970.176208] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Dec 31 06:46:22 raspberrypi kernel: [8332970.261060] usb 1-1.2.3: New USB device found, idVendor=0480, idProduct=d010
Dec 31 06:46:22 raspberrypi kernel: [8332970.261096] usb 1-1.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 31 06:46:22 raspberrypi kernel: [8332970.261111] usb 1-1.2.3: Product: External USB 3.0
Dec 31 06:46:22 raspberrypi kernel: [8332970.261128] usb 1-1.2.3: Manufacturer: TOSHIBA
Dec 31 06:46:22 raspberrypi kernel: [8332970.261142] usb 1-1.2.3: SerialNumber: 20131223xxxxxx
Dec 31 06:46:22 raspberrypi kernel: [8332970.267325] usb-storage 1-1.2.3:1.0: USB Mass Storage device detected
Dec 31 06:46:22 raspberrypi kernel: [8332970.268372] scsi16 : usb-storage 1-1.2.3:1.0
Dec 31 06:46:22 raspberrypi kernel: [8332970.509204] usb 1-1.2.4: new high-speed USB device number 53 using dwc_otg
Dec 31 06:46:22 raspberrypi kernel: [8332970.611100] usb 1-1.2.4: New USB device found, idVendor=0480, idProduct=d010
Dec 31 06:46:22 raspberrypi kernel: [8332970.611136] usb 1-1.2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 31 06:46:22 raspberrypi kernel: [8332970.611154] usb 1-1.2.4: Product: External USB 3.0
Dec 31 06:46:22 raspberrypi kernel: [8332970.611171] usb 1-1.2.4: Manufacturer: TOSHIBA
Dec 31 06:46:22 raspberrypi kernel: [8332970.611186] usb 1-1.2.4: SerialNumber: 20131223xxxxxx
Dec 31 06:46:22 raspberrypi kernel: [8332970.612810] usb-storage 1-1.2.4:1.0: USB Mass Storage device detected
Dec 31 06:46:22 raspberrypi kernel: [8332970.616236] scsi17 : usb-storage 1-1.2.4:1.0
Dec 31 06:46:23 raspberrypi ifplugd(eth0)[27446]: Link beat detected.
Dec 31 06:46:31 raspberrypi kernel: [8332979.800679] scsi 17:0:0:0: Direct-Access TOSHIBA External USB 3.0 0201 PQ: 0 ANSI: 6
Dec 31 06:46:31 raspberrypi kernel: [8332979.803181] sd 17:0:0:0: Attached scsi generic sg0 type 0
Dec 31 06:46:31 raspberrypi kernel: [8332979.804978] sd 17:0:0:0: [sdc] Very big device. Trying to use READ CAPACITY(16).
Dec 31 06:46:32 raspberrypi kernel: [8332979.828186] sd 17:0:0:0: [sdc] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
Dec 31 06:46:32 raspberrypi kernel: [8332979.828999] sd 17:0:0:0: [sdc] Write Protect is off
Dec 31 06:46:32 raspberrypi kernel: [8332979.829037] sd 17:0:0:0: [sdc] Mode Sense: 2b 00 00 00
Dec 31 06:46:32 raspberrypi kernel: [8332979.831227] sd 17:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't sup
port DPO or FUA
Dec 31 06:46:32 raspberrypi kernel: [8332979.834218] sd 17:0:0:0: [sdc] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
Dec 31 06:46:32 raspberrypi kernel: [8332979.865016] sdc: sdc1
Dec 31 06:46:32 raspberrypi kernel: [8332979.871007] sd 17:0:0:0: [sdc] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
Dec 31 06:46:32 raspberrypi kernel: [8332979.872197] sd 17:0:0:0: [sdc] Attached SCSI disk
Dec 31 06:46:32 raspberrypi kernel: [8332980.064257] scsi 16:0:0:0: Direct-Access TOSHIBA External USB 3.0 0201 PQ: 0 ANSI: 6
Dec 31 06:46:32 raspberrypi kernel: [8332980.065680] sd 16:0:0:0: Attached scsi generic sg1 type 0
Dec 31 06:46:32 raspberrypi kernel: [8332980.067627] sd 16:0:0:0: [sdd] Very big device. Trying to use READ CAPACITY(16).
Dec 31 06:46:32 raspberrypi kernel: [8332980.092080] sd 16:0:0:0: [sdd] 732566645 4096-byte logical blocks: (3.00 TB/2.72 TiB)
Dec 31 06:46:32 raspberrypi kernel: [8332980.092708] sd 16:0:0:0: [sdd] Write Protect is off
답변1
Pi와 전원 공급 저장 장치가 모두 UPS에 있으면 문제가 해결될 수 있습니다.
이는 /media의 일반적인 문제입니다. 플러그를 뽑았다가 다시 연결하기(또는 저장 장치의 전원을 껐다가 다시 켜기) 전에 캐시를 지우지 않으면(일반적으로 재부팅이 필요함) 할당된 이름을 사용하고 번호를 추가하기 시작합니다.
대신 한 가지는 항상 동일하게 유지됩니다. (첫 번째) Arduino Nano에 대한 USB 연결의 이름은 항상 /dev/ttyUSB0이고 Arduino Uno에 대한 (첫 번째) USB 연결은 /dev/ttyACM0입니다. 플러그를 뽑은 후에는 사라지고 그런 다음 다시 연결하자마자 다시 돌아오세요.
이를 혼합하는 유일한 방법은 동일한 유형(Nano 또는 Uno)이 여러 개 있고 원래와 다른 순서로 다시 삽입하는 것입니다.
이는 Rpi의 Arduino IDE에서만 중요합니다. 동일한 유형의 장치가 여러 개 있는 경우 연결 순서를 아는 것 외에는 장치를 구분할 수 있는 방법이 없기 때문입니다.
잊어버린 경우 IDE를 닫고 플러그를 뽑은 후 사용하세요.
ls /dev/tty*
다시 삽입하면 어떤 일이 발생하는지 반복하고 관찰하세요.
그런 다음 IDE를 다시 시작하면 사용 가능한 포트로 표시됩니다.