데이터를 복사하지 않고 btrfs를 사용하여 파일을 복사하는 방법은 무엇입니까?

데이터를 복사하지 않고 btrfs를 사용하여 파일을 복사하는 방법은 무엇입니까?

btrfs에 대한 경험은 없지만 중복 파일을 제거할 수 있다고 광고됩니다.

내 응용 프로그램에서 전체 디렉터리 트리를 복사해야 합니다.

내가 아는 한, btrfs는 즉시가 아닌 특정 스캔 이후에만 중복을 제거합니다. 을 사용하는 것만으로도 cp중복 제거가 실행되지 않는 것 같습니다(적어도 df복사된 파일 크기에 대한 디스크 사용량이 증가한 것으로 나타납니다).

데이터를 완전히 이동하지 않고 btrfs파일을 다른 위치에 복사하도록 지시할 수 있습니까? 기본적으로 메타데이터만 복제하면 되나요?

기본적으로 하드 링크와 유사하지만 독립적인 메타데이터(권한, 수정 시간...)가 있습니다.

답변1

두 가지 옵션이 있습니다:

  1. cp --reflink=always
  2. cp --reflink=auto

두 번째는 거의 항상 첫 번째보다 낫습니다. 사용은 auto파일 시스템이 재링크(예: ext4 또는 NFS 공유로 복사)를 지원하지 않는 경우 실제 복사 수행으로 대체됨을 의미합니다. 첫 번째 옵션의 경우 완전히 실패하고 복제가 중지될 것이라고 확신합니다.

이상적이지 않은 조건에서 강력해야 하는 스크립트의 일부로 이를 사용하면 auto더 나은 서비스를 받을 수 있습니다 .

관련 정보