라즈베리 파이에 디지털 카메라를 설치하고 SD도 설치할 수 있는지 궁금합니다.
사진을 비교적 빠르게 찍고(Raspberry Pi가 셔터를 작동함) 때로는 사진이 SD 카드에 저장되기 전에 버퍼에서 플러시되는 시나리오가 있습니다. 그럼 셔터를 누를 때마다 SD카드의 내용을 확인해서 사진이 잘 찍히는지 확인하고 싶어서 설치는 읽기전용으로 하게 되는데 과연 안전하게 할 수 있지 않을까요?
어쩌면 대답은SD 카드 연장 케이블?
무선 Transcend SD 카드를 구입했지만 디렉터리 콘텐츠에 대한 폴링이 불안정하고 속도가 느릴 수 있습니다.
트랜센드 Wi-Fi SD 카드를 해킹한 사람, 드미트리 그린버그(Dmitry Grinberg)SD 카드에 Linux Runnig가 있고 SD 저장소는 SD와 디지털 카메라에 내장된 Linux Runnig에 의해 동시에 설치된다고 주장됩니다(아마도 일종의 Linux도 마찬가지일 것입니다). 그는 동일한 스토리지에 두 개의 장치를 설치하는 것에 대해 우려했습니다.
즉, 두 운영 체제(카드의 Linux 및 외부에 연결된 모든 운영 체제)는 읽기-쓰기 마운트된 동일한 FAT32 파일 시스템을 갖습니다. 이것이 두렵지 않다면 외부 파일 시스템은 마음대로 읽기를 캐시하고 쓰기를 버퍼링할 수 있으므로 내부 드라이버가 아무리 똑똑하더라도 전체 그림을 얻을 수 없습니다. 여기서 교훈은 결과를 주의 깊게 고려하지 않고 /mnt/sd에 쓰지 말라는 것입니다.
라즈베리 파이와 디지털 카메라 사이에서 비슷한 일을 할 수 있는지 궁금합니다.
감사합니다, 블라트코
답변1
블록 장치를 여러 시스템에 동시에 마운트할 수 있는 유일한 방법은 블록 장치에 이러한 목적으로 설계된 파일 시스템이 포함되어 있는 경우입니다.OCFS2. "일반" 파일 시스템은 이를 지원하거나 ext4
지원 vfat
하지 않습니다. 디지털 카메라는 거의 확실하게 vfat
파일 시스템 유형만 지원하므로 이는 불가능합니다.
시중에는 이를 수행한다고 주장하는 일부 제품(예: Wi-Fi가 포함된 SD 카드)이 있지만 이는 매우 보기 흉한 해킹입니다. 그들은 파일의 JPEG 데이터가 완전한지 확인한 다음 카메라가 파일에 대한 액세스를 중지하기를 바라면서 카메라가 파일 쓰기를 완료한 시기를 감지하는 것과 같은 트릭을 수행하지만 이것이 보장되지는 않습니다. 이러한 제품은 귀하에게 도움이 될 수 있지만 아무런 효과가 없거나 귀하의 데이터에 심각한 손상을 줄 수도 있습니다. YMMV.
답변2
@Celada의 답변은 정확하지만예불장난을 하고 데이터가 손상될 위험이 있다면 원하는 대로 할 수 있습니다.
첫 번째,두 번째 시스템은 파일 시스템을 읽기 전용으로 마운트해야 합니다.. 그렇지 않으면 파일 시스템이 손상될 수 있습니다. 이미 알고 계시는 것 같군요.
둘째, 두 번째 시스템에서 파일 시스템에 액세스하려는 모든 시도는가다이미 구식입니다. 캐싱으로 인해 두 번째 시스템은 항상 과거 특정 시점의 시스템 모습을 "확인"합니다. 새 파일, 삭제, 기록되는 동안 증가하는 파일 등 파일 시스템에 대한 업데이트가 표시되지 않습니다.
그러나 두 번째 시스템에서 캐시를 삭제하면 두 번째 시스템의 "공유" 파일 시스템 보기를 "업데이트"할 수 있습니다.
echo 3 > /proc/sys/vm/drop_caches
아름다운? 아니, 크루거? 틀림없이. 특히 장치 수준에서 공유되도록 설계되지 않은 파일 시스템의 경우.
그러나 Oracle의 고성능 QFS 파일 시스템은 단일 파일 시스템을 여러 호스트에서 읽을 수 있는 "다중 판독기" 구성에서 이를 수행합니다.
http://docs.oracle.com/cd/E22586_01/html/E22571/gkxer.html
소스 코드를 온라인에서 찾을 수 있다면 Sun Microsystems는 Oracle이 이를 획득하기 전에 기본 QFS 파일 시스템 코드를 오픈 소스화했습니다.