파일의 어떤 복사본이 COW 복사본인지 어떻게 알 수 있나요?

파일의 어떤 복사본이 COW 복사본인지 어떻게 알 수 있나요?

NFS를 통해 Macintosh에 연결된 ZFS 시스템이 있습니다. 시스템이 거의 꽉 찼는데 중복된 파일이 많이 발견되었습니다.jdupes.

이 복사본이 어떻게 만들어졌는지 모르겠습니다. 인터넷에서 다시 다운로드했거나 cp시스템을 사용하여 복사했을 가능성이 있지만 다시 다운로드하면 동일한 공간을 두 번 사용해야 합니다. 내 NFS 서버에 ZFS 중복 제거를 위한 RAM이 부족합니다.

아무거나 교체하고 싶어요물리적으로 반복됨Copy-On-Write 복제본이 있는 복제본입니다.

어떤 파일 중복이 서로의 쓰기 중 복사 중복인지 어떻게 알 수 있나요?

답변1

여기서 ZFS의 두 가지 속성을 혼동하고 있는 것 같습니다.

  • CoW(기록 중 복사)파일을 수정할 때 파일 시스템이 작동하는 방식에 대한 설명입니다. CoW가 아닌 기존 파일 시스템에는 파일 업데이트가 즉시 수행되는 읽기-수정-쓰기 주기가 있습니다. 즉, 파일의 유일한 복사본이 직접 수정됩니다(업데이트된 바이트가 파일 내의 지정된 위치에 기록됨). )). 전원이 꺼지면 손상이 발생할 수 있습니다. 이는 파일 수정이 파일에 영향을 주지 않는 ZFS와 같은 CoW 파일 시스템의 경우에는 해당되지 않습니다. 변경된 바이트는 단순히 추가되고 성공하면 이전 부분이 삭제 대상으로 표시됩니다. 이렇게 하면 더 많은 조각화로 인해 무결성이 손실되는 것을 방지할 수 있습니다(변경할 때마다 새롭고 다른 공간이 필요하기 때문).
  • 중복 제거ZFS 파일 시스템에서 활성화할 수 있는 선택적 기능입니다(기본적으로 비활성화됨). 활성화되면 기록될 모든 데이터가 먼저 DDT(중복 제거 테이블)에서 조회됩니다. 이미 존재하는 경우에는 다시 작성되지 않고 링크만 됩니다. 이는 전송(읽기 및 쓰기)에는 작동하지만 반복적으로 저장된 "오래된" 데이터에는 작동하지 않습니다. 또한 인터넷에서 읽을 수 있는 몇 가지 단점도 있으므로 여기서는 이에 대한 개요를 설명하지 않겠습니다.

파일 시스템에서 중복 제거를 활성화하지 않으면 모든 복사본( cpFinder 등에 있는 복사본 등)이 새 데이터를 생성하고 사용 가능한 공간을 줄입니다. 기본 중복 제거 기능은 내장되어 있지 않습니다(권장 압축도 기본적으로 비활성화되어 있습니다!). 1MB 파일을 1000번 복사하면 이를 직접 확인할 수 있으며, 1MB 대신 1000MB의 공간이 손실됩니다.

어떤 파일 중복이 서로의 쓰기 중 복사 중복인지 어떻게 알 수 있나요?

그럴 수는 없지만 중복 검사기를 사용하여 정확한 중복 항목을 찾을 수 있습니다(다른 파일 시스템에서와 마찬가지로). 당신은 또한 zdb -b poolname사용할 수 있습니다중복 제거의 이점 예측RAM을 늘리는 것이 상황에 적합한지 확인하세요. 또한 압축을 활성화하면 어떤 상황에서도 도움이 되므로 아직 사용하고 있지 않다면 활성화하세요.

관련 정보