BTRFS로 데이터를 중복 제거하려면 어떻게해야합니까?


15

파일 시스템 BTRFS와 함께 EEE PC 701에 Lubuntu 15.04를 설치했습니다. 데이터 중복 제거를 원하지만 방법을 모르겠습니다.

답변:


14

문제가 발생하더라도 손실되지 않도록 전체 백업을 시작하십시오.

나는 당신이 찾고 있다고 생각합니다 duperemove -d

"Duperemove는 중복 된 익스텐트를 찾아서 중복 제거를 위해 제출하는 간단한 도구입니다. 파일 목록이 제공되면 파일을 블록 단위로 해시하고 해당 해시를 서로 비교하여 서로 일치하는 익스텐트를 찾고 분류합니다. -d 옵션이 제공되면 duperemove는 btrfs-extent-same ioctl을 사용하여 중복 제거 범위를 제출합니다.

Duperemove에는 두 가지 주요 작동 모드가 있으며 그 중 하나는 다른 모드의 하위 집합입니다.

읽기 전용 / 비 중복 복제 모드

-d없이 (기본값) duperemove를 실행하면 중복 제거의 이상적인 후보가 될 것으로 판단되는 일치하는 범위의 하나 이상의 테이블이 인쇄됩니다. 결과적으로 읽기 전용 모드는 '-d'로 실행할 때 duperemove가 수행 할 수있는 작업을 보는 데 유용합니다. 다른 소프트웨어에서 출력을 사용하여 나중에 중복 제거 범위를 제출할 수도 있습니다.

이 모드는 일치하는 범위의 모든 인스턴스를 인쇄하는 것이 아니라 중복 제거를 위해 고려할 인스턴스 만 인쇄한다는 점에 유의해야합니다.

일반적으로 duperemove는 처리하는 익스텐트의 기본 표현과 관련이 없습니다. 이들 중 일부는 압축되어 I / O가 진행 중이거나 이미 중복 제거 된 상태 일 수 있습니다. 중복 제거 모드에서 커널은 이러한 세부 사항을 처리하므로 해당 작업을 복제하지 않습니다.

중복 제거 모드

이는 "읽기, 해시 및 비교"단계에서 찾은 중복 된 범위가 실제로 중복 제거를 위해 제출된다는 점을 제외하고는 읽기 전용 모드와 유사하게 작동합니다. 중복 제거 된 총 데이터의 추정치는 작업이 완료된 후 인쇄됩니다. 이 추정치는 중복 제거 전후에 각 파일의 총 공유 바이트 양을 비교하여 계산됩니다.

duperemove 실행에 대한 자세한 내용은 duperemove 매뉴얼 페이지를 참조하십시오. "

이것은 btrfs-tools 패키지에는 나타나지 않지만 여기에 git hub 페이지가 있습니다. 최근 공개 및 폐쇄 문제 (일명 펄스)는 여기에서 확인할 수 있습니다.

현재 지원되는 우분투 버전에 대한 패키지는 이 PPA 에서 찾을 수 있습니다.

백업을 적극 권장 합니다. 참조 : https://github.com/markfasheh/duperemove/issues/50

인용 출처 : https://github.com/markfasheh/duperemove

매뉴얼 페이지 : https://manpages.debian.org/testing/duperemove/duperemove.8.en.html


duperemove -d를 입력하면 도움말 페이지가 나타납니다
wb9688

1
'man duperemove`를 입력하면 무엇을 얻습니까? 실행할 파일을 지정해야한다고 생각합니다. duperemove [options] files...
Geek

명령은 FTR - / 나 어제는 그것을 사용했을 duperemove -rdh path1 path2 pathn경우, -r재귀를 들어, -d실제로 중복 제거 및 -h사람이 읽을 수있는 숫자.
Hi-Angel

@ Hi-Angel 업데이트 답변-매뉴얼 페이지에 링크 추가
Geek

3

나는 항상 잠 들었다 . 매우 빠르고 안정적입니다. 이 도구는 공식 btrfs 페이지 에도 언급되어 있습니다. 나는 duperemove를 사용한 적이 없다 (침대가 오래되었다).


2
이 시점에서 잠자리는 더 이상 적극적으로 개발되지 않고 있으며 구식입니다.
퍼킨스

3
@ 퍼킨스 나는 동의하지 않습니다. 방금 오늘 게시 한 문제 github.com/g2p/bedup/issues/75에 대한 피드백을 받았으며이 도움으로 새 16.04 서버에서 7GB 이상의 공간을 "베드 업했습니다".
Adam Ryczkowski

3
누군가가 다시 집어 들었을 수도 있습니다. 1 년 정도 지나면 포기 했으므로 복제본을 제대로 스캔조차 할 수 없었습니다. 즉, 새로운 ioctl을 사용하도록 업데이트하지 않는 한 duperemove는 복제본 중 하나를 제거하고 다른 하나의 리 링크 링크를 만드는 대신 커널 공간에서 원자 적으로 중복 제거를 수행하므로 더 안전합니다. 그러나 bedup은 실제로 트리에 저장하기에 충분히 작은 파일을 가져옵니다. duperemove는 현재 커널 지원이 부족하여 duperemove가이를 수행 할 수 없습니다.
퍼킨스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.