나는 모든 사진을 비트 손상(하드 드라이브 또는 네트워크 전송 오류로 인해 무작위로 발생하는 파일 손상)으로부터 보호해야 한다는 것을 깨달았습니다.
나는 최근에 중복 파일을 생성하고 파일 손상을 감지하고 복구하는 기능을 제공하는 훌륭한 프로그램인 par2를 발견했습니다.
나는 저널링된 파일 시스템이 올바른 솔루션이라고 생각하지 않습니다. 왜냐하면 파일을 새 노트북으로 마이그레이션할 때 파일과 함께 보호 기능을 백업에 저장하기를 원하기 때문입니다.
그래서 제 생각에는 cronjob으로 한 시간에 한 번씩 실행될 수 있는 스크립트가 필요한 것 같습니다. 파일이 추가되거나 변경된 경우(파일의 편집 타임스탬프가 중복 아카이브보다 최신임) 보호해야 하는 모든 파일을 살펴보고 파일이 손상된 경우(파일이 변경된 경우) 중복 파일을 업데이트합니다. 그러나 편집됨) 아직 업데이트되지 않은 파일 타임스탬프가 수정됩니다.
이를 수행할 수 있는 스크립트나 프로그램이 있습니까? 아니면 다른 방법으로 문제를 해결하는 프로그램이 있나요? 아니면 그런 스크립트를 직접 작성해야 합니까?(저는 그렇게 하고 싶지 않습니다. 강력하고 많은 사용자를 대상으로 테스트된 스크립트를 원합니다.)
답변1
표준 솔루션은 체크섬을 지원하고 정기적으로 백업하는 파일 시스템을 사용하는 것입니다.
이 외에도 가능하다면 파일 시스템 계층에서 RAID(중복 스토리지 솔루션)를 사용하여 시간이 많이 걸리는 백업 복원을 피할 수도 있습니다.
이러한 파일 시스템의 예는 다음과 같습니다.ZFS또는BTRFS.
이러한 파일 시스템의 체크섬 기능은 암호화 해시 기능을 사용하여 구현됩니다. 따라서 스토리지 스택의 비트 오류 다운스트림은 손상을 감지하는 능력이 와 동일하기 때문에 감지될 확률이 매우 높습니다 par2
.
이러한 파일 시스템에는 RAID 레벨과 유사한 중복 스토리지 기능도 포함되어 있습니다. 기존 계층형 RAID 접근 방식과의 차이점은 손상이 감지된 경우 파일 시스템이 "올바른" 부분, 즉 올바른 체크섬이 있는 블록을 반환하는 RAID 미러 측을 선택할 수 있다는 것입니다.
답변2
이것은 오래된 질문이지만 2019년에도 여전히 관련이 있습니다.
예, 패리티 파일은 비트 부패에 대한 실행 가능한 솔루션입니다.
파일 시스템 수준이 아닌 패리티 검사에는 단점도 있지만 다음과 같은 큰 이점도 있습니다.
이식성.
이론적으로 세계에서 가장 이국적인 파일 시스템 기반 오류 검사는 데이터를 영원히 비트 부패 없이 유지할 수 있지만 보호는 해당 파일 시스템에 잠겨 있습니다. 파일이 나가면 보호되지 않습니다.
"너무 무거워"통과브랩스라이센스가 있는CC BY-NC 2.0 (그는 데이터를 넣기 전에 실제로 ZFS 및 Rooftop으로 전환해야 합니다)
옆에 패리티 파일이 있는 이미지는 USB 드라이브로 이동하고, 패킷 손실 연결을 통해 전송하고, 압축하고, 다른 미디어에 개별적으로 백업하는 등 제가 생각할 수 있는 다른 수백 가지 작업을 수행할 수 있습니다.
또한 잘못된 프로그램으로 인한 변경을 방지합니다(예: 메타데이터 분석기가 실수로 잘못된 메타데이터를 작성함).
PAR2는 패리티 파일에 실행 가능한 옵션입니다.
PAR2 파일은 특히 크로스 플랫폼이며, 가장 큰 단점은 대용량 사진을 보호하는 사용 사례에서는 실제로 문제가 되지 않습니다(예: PAR2는 하위 폴더를 지원하지 않으며 <1KB 파일을 효율적으로 처리할 수 없습니다).
그러나 PAR 파일 자체는 완전한 백업 솔루션이 아닙니다.
특히 변경 내역이 없는 PAR 파일의 경우 "방탄"하려면 여전히 3개 복사본 백업 전략의 일부여야 합니다. 변경 사항이 유효한 것으로 감지되고 패리티 파일이 다시 생성되면 별도의 백업이 수행되지 않습니다. 참조됨(여기서는 변경 내역이 내장된 오프사이트 백업 솔루션이 승리할 것입니다).
다음 단계
"[패리티 파일의 생성 및 유지 관리를 자동화할 수 있는] 스크립트나 프로그램이 있습니까?"라는 원래 질문에 대한 대답은 2019년에도 여전히 "아니요"이지만 스크립트를 직접 만들거나 다른 사람에게 만들도록 하는 것은 상당히 간단합니다. . 이 길을 택할 경우 제가 드릴 수 있는 최선의 조언은 생각할 수 있는 모든 극단적인 경우를 포함하는 테스트 환경을 만들고, 이를 신뢰하기 전에 모든 테스트를 통해 스크립트를 실행하라는 것입니다.
그리고 누군가 이 글을 읽는다면하다이 길을 가고 모두의 이익을 위해 오픈 소스로 만드는 것을 고려해보세요.
편집된 부록: PAR 파일에 사용되는 기술은 다음과 같습니다.https://en.wikipedia.org/wiki/Reed–Solomon_error_ 정정PAR 개발이 중단되었지만 파일 수준 데이터 무결성/복구를 위해 Reed-Solomon을 사용하는 프로젝트는 수백 개는 아니더라도 수십 개가 있습니다.
답변3
나는 비트롯을 탐지하기 위한 가벼운 도구를 작성했습니다.chkbit
.
데이터를 따르는 파일 시스템 독립적인 해시를 생성합니다. 따라서 chkbit
기본 시스템, 백업 미디어 및 복구 후에 데이터 무결성을 확인할 수 있습니다.
chkbit에서는 데이터 복구를 허용하지 않으므로 여전히 하나 이상의 백업이 필요합니다.