
저는 두 개의 USB 저장 장치가 연결된 Raspberry PI에서 Raspbian 7.4를 실행하고 있습니다. 이 Raspberry PI는 지속적인 전원을 제공하는 콘솔 케이블이 연결되어 있기 때문에 정전 중에도 계속 실행됩니다.
내 문제는 집에 정전이 발생하면 Raspberry PI에서 USB 저장 장치가 사라지는 것을 확인하고 " USB disconnect
" 메시지가 표시되지만 전원이 복원되고 USB 장치가 다시 연결되면 새 장치 이름이 할당된다는 것입니다.
문제는 mount
더 이상 존재하지 않는 이전 장치 이름을 가진 드라이브를 표시한다는 것입니다. 이 시점에서 마운트 지점 이름을 사용하여 드라이브에 액세스하려는 모든 시도는 I/O 오류로 인해 실패합니다. umount
드라이브를 수동으로 다시 마운트 해야 합니다 .
/etc/fstab
장치 이름과 관련된 문제를 방지하고 드라이브가 마운트 지점에 마운트되는 방식에 대한 일관성을 유지하기 위해 드라이브의 UUID를 사용합니다 .
대신 udev
규칙을 사용하여 드라이브의 고유 일련 번호를 사용하여 각 드라이브에 대한 SYMLINK 별칭을 생성하고 /etc/fstab
마운트 시 UUID 대신 이러한 드라이브 별칭을 사용하도록 변경해야 합니까?
아래의 syslog는 드라이브가 사라졌다가 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를 다시 시작하면 사용 가능한 포트로 표시됩니다.