짧게 답하면: 파일을 기록할 때 해시를 남기고, 나중에 비교하세요. 해시가 다르고 아무도 파일을 편집하지 않았다면, 모르는 사이에 데이터가 바뀐 거예요.
다른 어떤 것도 이걸 찾아내지 못해요. 무증상 손상이 있는 디스크도 First Aid를 통과하고, SMART는 정상이라고 보고하고, 완벽하게 마운트돼요.
저장 장치는 물리적이에요. 회전하는 디스크의 자기 영역은 약해져요. 플래시 메모리 셀에서는 전하가 새어 나가고, 따뜻하면 더 빨리, 드라이브가 오래 전원 없이 있으면 훨씬 더 빨리 새요. 케이블은 전송 중에 비트를 떨어뜨릴 수 있어요. 펌웨어에는 버그가 있어요.
드라이브는 오류 정정 코드와 상해 가는 섹터의 재배치로 대부분을 스스로 바로잡아요. 중요한 손상은 그걸 빠져나가는 부분이에요. 기록한 것과 다른 데이터를 반환하면서 성공을 보고하는 읽기요.
사람들이 논쟁하는 이름이에요. 비트 부식이라고도 하고, 무증상 데이터 손상이라고도 하고, 데이터 열화라고도 해요. 여기서는 모두 같은 것이에요. 파일이 달라졌는데 아무것도 알려 주지 않은 거예요.
이해해 둘 만한 부분이에요. 손이 가는 모든 도구가 왜 맞지 않는 도구인지 설명해 주니까요.
cp와 Finder는 데이터를 읽고 기록해요. 읽기가 잘못된 데이터를 반환하면, 잘못된 데이터를 충실하게 기록해요.그러니 솔직히 말하면, Mac에는 이를 알려 줄 장치가 없어요. 첫 증상은 쓰레기 같은 띠가 지나가는 사진, 열리지 않는 아카이브, 중간에 멈추는 동영상이에요.
파일 하나로 보면 드물지만, 큰 컬렉션을 오랜 기간 보면 드물지 않고, 백업은 바로 그런 경우를 위해 있어요. 확률을 눈에 띄게 높이는 것이 두 가지 있어요.
작업 디스크보다 백업에서 더 중요한 이유는, 작업 파일은 열리고, 열린 손상 파일은 발견된 손상이기 때문이에요. 백업은 한 번 기록되고 읽히지 않으니, 백업의 손상은 백업이 필요한 날에 발견돼요.
기록한 내용을 남겨 두세요.
cd /Volumes/Backup
find . -type f -exec shasum -a 256 {} \; > ~/backup-hashes.txt
그리고 몇 달 후, 여전히 같은지 확인하세요.
cd /Volumes/Backup
shasum -a 256 -c ~/backup-hashes.txt | grep -v ': OK$'
출력된 것은 데이터가 바뀐 파일이에요. 편집하지 않았다면, 그게 답이에요.
실용적인 참고 사항 두 가지. 해시 파일은 그것이 설명하는 드라이브가 아닌 곳에 보관하세요. 그렇지 않으면 둘 다 함께 잃어요. 그리고 드라이브 전체를 읽는 만큼 시간이 걸리니 밤에 예약하세요.
위의 모든 것이 이 앱이 지금의 모습으로 존재하는 이유예요. 백업의 모든 조각을 내용의 해시로 저장한 다음, 정해진 일정에 따라 백업을 다시 읽어 각 조각을 저장된 해시와 대조해요.
그래서 불일치는 증거예요. 데이터가 기록된 데이터가 아니고, 그게 괜찮다고 해석할 여지는 없어요. 백업 아래에서 삭제된 조각은 누락으로 보고돼요. 그리고 메인 화면의 점수는 최근에 검증된 것만 세기 때문에 사람들이 예상하는 것보다 낮고, 그게 바로 핵심이에요.
두 번째 위치를 갖는 것이 이 사이트의 어느 곳보다 여기서 중요해요. 사본이 두 개일 때 하나의 손상은 불편함이지만, 하나뿐일 때는 그 파일의 끝이에요.
아니요. First Aid는 파일 내용이 아니라 파일 시스템 구조를 검사해요. 파일이 조용히 손상된 드라이브도 깔끔하게 통과하고, 바로 그 점이 이 문제를 이 문제로 만들어요.
이 문제에는 아니에요. SMART는 드라이브가 알아채고 수정하거나 재배치한 오류를 보고해요. 조용한 손상은 드라이브가 알아채지 못한 종류예요. 그래도 고장 나는 드라이브라면 확인할 가치가 있어요. 그건 다르고 더 눈에 띄는 문제예요.
자체 메타데이터는 체크섬으로 보호하지만 파일 데이터는 아니에요. ZFS와 Btrfs는 파일 내용을 체크섬으로 보호하고 중복 사본에서 복구할 수 있지만, 둘 다 일반적인 macOS 시동 볼륨이나 외장 볼륨으로는 쓸 수 없어요. 그 공백 때문에 애플리케이션 수준의 확인이 가치가 있어요.
좋은 사본이 아직 있을 때 나쁜 사본을 발견할 수 있을 만큼 자주요. 아카이브라면 분기마다가 적당하고, 대체할 수 없는 것의 유일한 사본이라면 매달이에요. 정답은 실제로 건너뛰지 않을 주기이고, 그래서 자동이어야 해요.
아니요. 검증은 사본이 망가졌다고 알려 줄 뿐, 파일을 돌려줄 수는 없어요. 감지는 복원할 두 번째 사본이 있을 때만 쓸모가 있고, 그게 3-2-1 규칙의 근거 전부예요.
관련 글: 백업을 읽을 수 있는지 확인하는 방법, 저장소 형식, 3-2-1 규칙.