.img 파일이 마운트되었으며 다시 마운트하지 않고도 파일 업데이트를 볼 수 있기를 바랍니다.

.img 파일이 마운트되었으며 다시 마운트하지 않고도 파일 업데이트를 볼 수 있기를 바랍니다.

대체 .img 파일이 설치된 대용량 저장 장치를 에뮬레이트하는 Raspberry Pi가 있습니다. 파이의 전원이 켜지고 .img가 설치되면 대용량 저장 장치 에뮬레이션을 켭니다. 나는 팔로우하고 있다이 가이드.

다시 설치하지 않고도(이상적으로는 "꺼내기" 없이) 백업 저장소에서 새 파일과 파일 업데이트를 볼 수 있기를 바랍니다. 시뮬레이션된 대용량 저장 장치에 기록되는 새 파일에 반응하는 몇 가지 함수를 작성하려고 합니다. 내 컴퓨터에 에뮬레이트된 대용량 저장 장치를 마운트하고 여기에 파일을 쓰면 해당 파일은 Raspberry Pi 측의 소프트웨어 "꺼내기"에 남아 있지만 마운트된 백업 저장소 .img 파일의 내용은 그대로 유지된다는 사실을 발견했습니다. 마운트 해제하고 다시 설치하기 전에 변경하지 마십시오.

장치에 기록되는 내용을 쉽게 검사할 수 있도록 Raspberry Pi를 구성할 수 있는 방법이 있습니까? 아니면 이 기능에 어떤 종류의 제한이 있습니까?

답변1

내 컴퓨터에 에뮬레이트된 대용량 저장 장치를 마운트하고 여기에 파일을 쓰면 해당 파일은 Raspberry Pi 측의 소프트웨어 "꺼내기"에 남아 있지만 마운트된 백업 저장소 .img 파일의 내용은 그대로 유지된다는 사실을 발견했습니다. 마운트 해제하고 다시 설치하기 전에 변경하지 마십시오.

이는 에뮬레이트된 저장소를 탑재하는 시스템에 의해 쓰기가 캐시되고 a) 충분한 시간이 경과하거나 b) 에뮬레이트된 저장소를 사용하거나 탑재 해제하여 쓰기를 강제로 수행할 때까지 기록 sync되지 않기 때문일 수 있습니다.blockdev --flushbufs /dev/sd<emulated storage>

USB 저장소는 매우 느릴 수 있으므로 다시 쓰기 캐싱은 상당한 성능 이점을 제공할 수 있습니다. 어떤 항목이 빠르게 연속해서 여러 번 업데이트되면 후속 업데이트가 캐시의 이전 버전을 덮어쓸 수 있으며 실제로 최신 버전만 작성하면 됩니다. 저장소에 캐시합니다.

컴퓨터 측을 먼저 새로 고치지 않고 RasPi 측에서 소프트웨어 꺼내기를 수행한 다음 잠시 기다리면(그래서 캐시가 에뮬레이트된 저장소에 자체 쓰기를 시도함) dmesg컴퓨터 측 USB 저장소 드라이버가 컴퓨터 출력에서 ​​발견 될 수 있습니다. 시뮬레이션된 스토리지가 갑자기 응답하지 않아 매우 불만스럽습니다. 그러나 커널과 드라이버는 데이터를 잃지 않으려고 노력하므로 장치가 너무 오랫동안 응답하지 않아 모든 데이터 쓰기 시도가 시간 초과되지 않는 한 장치가 다시 연결될 것이라는 희망으로 캐시된 데이터를 유지합니다.

관련 정보