일관된 디스크 데이터를 생성할 때 sync와 fsfreeze의 차이점은 무엇입니까?

일관된 디스크 데이터를 생성할 때 sync와 fsfreeze의 차이점은 무엇입니까?

실행 중인 Linux 시스템에서는 파일 시스템의 캐시된 콘텐츠를 디스크에 기록해야 합니다.

  • "sync": 명령줄과 동기화동기화그리고관련 시스템 호출, 데이터를 저장 장치에 유지/기록할 수 있습니다.
  • "fsfreeze": 명령꼭 매달리게 하다, 반면에 다음과 같습니다.

    fsfreeze는 파일 시스템에 대한 새로운 액세스를 중지하고 디스크에 안정적인 이미지를 만듭니다.

따라서 두 명령 중 하나를 사용하면 명령이 실행될 때 데이터의 "디스크상 안정" 표현이 달성되는 것 같습니다.

분명히 fsfreeze"추가"라고 설명된 내용은 추가 "새 방문"을 중단합니다.

이제 이 질문은 일관된 디스크 이미지를 얻기 위해(예: 백업을 위해 디스크 파일 시스템 데이터를 복사하기 위해) sync와 fsfreeze를 사용하는 것 사이에 차이가 있는지에 대한 정보를 찾습니다.

이 질문에 답하려면 사용된 파일 시스템을 고려해야 할 수도 있습니다. 파일 시스템마다 중간 상태를 디스크에 자동으로 커밋하는지 확인하는 방법이 다르기 때문입니다.

개인 테스트에 따르면 파일 fsfreeze시스템은 btrfs항상 콘솔이 응답하지 않아 하드 리셋이 필요한 것으로 나타났습니다. 반면에 동기화는 시스템을 정지시키지 않습니다(아이러니하게도).

답변1

따라서 두 명령 중 하나를 사용하면 명령이 실행될 때 데이터의 "디스크상 안정" 표현이 달성되는 것 같습니다.

예, 그러나 sync귀하의 경우 "디스크에서 안정" 상태는 매우 짧을 수 있습니다. sync발행 후 변경 사항이 있으면 파일 시스템이 다시 일관성을 잃게 될 수 있습니다.

fsfreeze사용FIFREEZE시간 초과가 없습니다. 아시다시피 영향을 받은 파일 시스템에서는 쓰기가 불가능하고 여러 가지 상황에서 쓰기가 실행되기 때문에 이로 인해 시스템이 정지될 수 있습니다(예를 들어쉘의 기록을 작성하십시오). 가지다비상 제상 키 조합, SysRqj, 사용할 수 있습니다(비활성화되지 않은 경우).

요점 FIFREEZE은 이것이 적용될 때 고정된 파일 시스템의 기본 스토리지를 읽고 일관된 스토리지 이미지를 구축할 수 있다는 것입니다.데이터와 메타데이터가 완전히 동기화됩니다.

sync, 완료되면 변경 사항이 sync디스크에 적용되지만 후속 쓰기가 스토리지에 도달하기 시작했을 수 있으므로 기본 스토리지를 복사해도 반드시 일관된 이미지가 생성되는 것은 아닙니다. 이러한 이미지를 복사하면 관심 있는 모든 데이터를 검색할 수 있으며, 대부분의 경우 부분적으로 작성된 변경 사항으로 인해 파일 시스템이 복구되지는 않지만 이미지가 복구된 후에도 그대로 사용된다는 보장은 없습니다. 로깅, 저널링 또는 기록 중 복사 파일 시스템에서도 마찬가지입니다.

관련 정보