나는 작은 실행하고 uClibc
과 busybox
를 x86 장치 기반의 임베디드 시스템을. initramfs를 사용하고 있지만 ext3
사용자 정의 작성된 c ++ 응용 프로그램으로 작성된 지속적인 측정 로깅 데이터를 저장하는 데 사용하는 IDE 모드의 소형 플래시 장치에 사용자 정의 디렉토리를 마운트합니다 . 필자는 ext3
필자가 읽은 두 권의 책 ( Karim Yaghmour의 임베디드 리눅스 시스템 구축 및 Christopher Hallinan의 임베디드 리눅스 입문서) 에서 IDE 모드에서 CF 드라이브를 사용할 때 전력 손실을 방지하기 위해 권장 되는 파일 시스템을 선택했습니다 . 이것은 특히 중요하며 데이터는 중요합니다.
그러나 이전 질문의 일부 의견 때문에 파일 쓰기 중에 정전이 발생하면 손상된 ext3 파일을 복원하는 방법과 혼동 실제로이 파일 시스템은 전원으로 인한 데이터 손상에 대한 안전을 보장하지 않습니다 손실. 그래서 나는 알고 싶습니다
- 가
ext3
실제로 설정을위한 최선의 선택? - 디스크 쓰기 작업 중 전원 손실이 파일에 추가하는 데이터의 일부만 손상 시키거나 전체 파일을 손상시킬 수 있습니까?
- 정전 시점에 기록 되지 않은 데이터는 완전히 안전합니까? 특히 내
initramfs.cpio
파일도 손상 될 위험이 있습니까? - 응용 프로그램 코드에서 데이터를 보호하기 위해 사용할 수있는 방법이 있습니까 (예 : 여분의 파티션을 만들고 데이터를 미러 이미지에 기록하여 항상 2 개의 복사본이있는 경우). 속도는 응용 프로그램에서 실제로 문제가되지 않으므로 값 비싼 복사 작업 허용됩니다.
이 관련 질문에 대한 답변을보고 읽었습니다. 저널링 파일 시스템은 정전 후 손상을 방지합니까? , 그러나 그것은 나를 혼란스럽게하는 것들 중 일부를 다루지 않습니다.
나는 많은 질문을하고 있다는 것을 알고 있지만 많은 자료를 읽음에도 불구하고 전력 손실시 데이터의 위험을 이해하지 못하는 근본적인 것으로 보인다.