Linux의 파일 액세스에 대해 요약할 수 없는 질문이 있습니다.
홈 디렉토리가 있고 cron을 통해 트리거된 rsync를 사용하여 이를 백업한다고 가정해 보겠습니다. 내 홈 디렉터리는 EXT4 파일 시스템에 있고 rsync가 실행되는 동안 로그인되어 있습니다.
제 질문은 백업 프로세스 중에(rsync가 파일을 읽는 동안) 파일이 수정되면 어떻게 되는지입니다. AFAIK EXT fs 시리즈는 이에 대해 아무 조치도 취하지 않아 방금 가져온 파일의 백업이 손상되거나 무의미해졌습니다.
내 이론이 맞습니까? 아니면 사운드 백업을 보장하는 작은 잠금 메커니즘이 누락된 것입니까?
답변1
일반 rsync
파일로 읽는 것은 파일을 읽는 모든 응용 프로그램과 동일합니다. 이로 인해 복제본 데이터가 일관되지 않을 수 있습니다. 복제본의 불일치를 방지하는 가장 좋은 방법은 LVM 스냅샷을 사용하는 것입니다. 이렇게 하면 복제하는 동안 데이터가 변경되는 것을 방지할 수 있습니다.
내 경험상 일관성 없는 데이터를 얻는 경우는 거의 없습니다. 아마도 커널 버퍼가 작성되는 방식 때문일 것입니다. 데이터베이스 파일과 같이 많이 작성된 파일만 손상을 일으킬 수 있습니다.