Duperemove 패키지는 BTRFS 파일 시스템의 중복 제거 기능을 효과적으로 처리하는 좋은 데비안 패키지입니다.
때마침 시놀로지는 BTRFS2를 사용중인데 시놀로지는 자체적으로 중복된 파일을 하나로 합치는 기능이 없습니다(*FS 시리즈 상위 모델에는 있긴 하지만 엄청난 제약사항이 따르며 FS 모델은 수천만원이 넘습니다)
그렇기 때문에 저 패키지를 사용하면 나스 속에 어쩌다 생긴 중복된 사진,음악,영화 및 모든 파일들의 낭비되는 용량을 어떠한 압축 없이도 완벽히 제거할 수 있을 뿐만 아니라 잃어버린 공간까지 되찾을 수 있습니다.
콜드 데이터가 저장되는 자료실이나, 버전별 Windows ISO 파일 속에는 중복되는 데이터가 아주 많은데, 이들 모두의 용량을 줄여보도록 합시다.
저는 Ubuntu 최신 버전 Docker 컨테이너를 만들고 각종 잡다한 것들을 일단 설치했습니다.
설치되었으면 바로 사용할 수 있습니다. 아무 폴더나 지정해 테스트로 실행해봅시다.
duperemove -rh --hashfile=dupe_hashes ./마운트된_폴더
-d 플래그가 없기 때문에 공회전만 하고 실제로 무언가 변경되지는 않습니다.
(플래그를 -rhd 처럼 바꾸면 실제로 중복 제거를 수행합니다)
일단 중복 제거에 앞서 어느 정도의 압축률을 가지는지 확인하기 위해 작은 SSD를 하나 준비했습니다.
굴러다니는 256GB SSD에 새 공유 폴더를 만들고 제가 가진 약간의 노래들을 업로드했어요.
(꼭 SSD여야 할 필요는 없고 저는 그저 빠른 결과를 보고 싶었을 뿐입니다. 저 프로그램을 항상 켜두고 기억 속에서 잊고 사실 거라면 느린 HDD도 전혀 상관없어요)
중복 제거 전에 DSM에서 본 사용량입니다.
왼쪽이 논리적 용량이고 오른쪽이 실제 디스크 크기입니다.
중복 제거 전에 SSH에서 본 디스크 사용량입니다. 위가 논리적 용량이고 아래가 실제 물리 볼륨 크기입니다.
duperemove -rdh --hashfile=dupe_hashes .
처음 돌리면(또는 새로운 파일이 발견되면) 해시를 검사합니다.
그리고 모두 검사되면 가지고 있는 데이터베이스와 비교해 같은 파일이 보일 경우 스스로 합치는 작업을 수행하는 모양입니다.
오.. 실시간으로 디스크 용량(볼륨 2)이 줄어드는 게 보이네요
약 5분 후 모든 작업이 종료되고 중복된 내용(다른 엘범의 비슷한 노래 등)이 하나로 합쳐졌습니다.
DSM 볼륨 용량은 27.9GB를 가리키고 있고 공유 폴더 사용량은 여전히 83GB를 가리키고 있습니다.
저장한 데이터의 크기는 83GB지만 그 중에 중복된 내용이 매우 많았던 게 하나로 합쳐셔서 27.9GB가 되었네요.
SSH에서 폴더 크기는 84GB, 볼륨 사용량은 28GB를 나타내고 있습니다.
대성공입니다 :)
약간의 스냅샷 관련 테스트를 거친 후 나스 전체에 적용해도 되지 않나 생각이 드네요.
곧 시스템 전체 적용 후기로 찾아뵙겠습니다! :)