일부 파일 / 디렉토리의 암소 사본을 만들려고 노력하고 있지만 내가 아는 여러 가지 방법 중 모두 최적이 아닌 것 같습니다.
예를 들어, btrfs는 cp --reflink=auto
파일의 카피 사본을 빠르게 생성 하여 사용할 수 있습니다.
내가 시도한 것 :
- Symlinks : 좋지 않습니다. 파일 이름이 바뀌고 링크가 끊어졌습니다.
- 하드 링크 : 더 좋지만 여전히 좋지 않습니다. 한 파일을 변경하면 다른 파일이 변경되므로 반드시 다른 파일을 변경하고 싶지는 않습니다.
- 데이터 세트의 스냅 샷을 생성 한 다음 스냅 샷을 복제하십시오. 종종 전체 데이터 세트의 사본을 찾지 않거나 사본이 다른 데이터 세트처럼 작동하지 않습니다. 그런 다음 복제 / 스냅 샷 / 원본 사이에 부모 / 자식 관계가 있습니다. 이해하기 어렵지만 깨는 것이 불가능하지는 않습니다.
- 을 사용
zfs send/receive
하고 중복 제거를 사용 하여 데이터 세트를 새 데이터 세트에 복제합니다. 이렇게하면 복제를 사용하는 부모 / 자식 관계를 피할 수 있지만 여전히 다른 데이터 세트를 작성해야하며 파일을 100 % 읽어야하는 속도가 느려집니다. 쓰지 않고 다시 참조 된 블록. - 파일을 복사하고 dedup이 작업을 수행하도록합니다.이 방법은 효과적이지만 파일을 100 % 읽은 다음 쓰기 대신 블록을 다시 참조해야하기 때문에 속도가 느립니다.
zfs 전송 / 수신 속도가 느리고 물리적으로 복사 또는 재 동기화되는 속도가 더욱 악화됩니다. 대부분의 항목은 압축 된 상태로 저장되어 있으며 읽기 중에 압축을 풀고 중복 제거 블록을 참조하기 위해 중복 제거가 시작되기 전에 압축해야하기 때문입니다.
모든 연구에서 btrfs에서 --reflink의 단순성과 유사한 것을 원격으로 찾을 수 없었습니다.
그렇다면 ZFS에서 암소 사본을 만드는 방법이 있습니까? 아니면 "물리적으로"복사하고 dedup이 유일한 작업 옵션이되게 하는가?