BorgBackup 2.0, Rclone 지원 – SSH 외 70개 이상의 클라우드 제공업체 추가 지원
(borgbackup.readthedocs.io)- 2.0.0b11 베타는 새 저장소 테스트 전용이며 프로덕션 사용 금지
- Borg 2.0은 기존 저장소와 호환되지 않는 breaking release이며, borg 1.2/1.4 저장소의 아카이브를 새 borg 2.0 저장소로 옮기려면
borg transfer사용 필요 borg transfer사용 전borg >= 1.2.6또는CVE-2023-36811수정이 적용된 borg로 업그레이드하고, manifest 및 archive TAM 관련 업그레이드 지침 이행 필요- Borg 저장소에
rclone://URL 지원 추가, Amazon S3, Backblaze B2, Ceph, Dropbox, Google Cloud Storage, Google Drive, Microsoft Azure, Microsoft OneDrive, OpenStack Swift, sftp, SMB/CIFS, WebDAV 등 70개 이상 클라우드 스토리지 제품 사용 가능 - 같은 클라이언트의 같은 저장소에서 병렬 작업 지원
- Archive series 기능 추가,
NAME은 동일 이름 아카이브의 시리즈를 식별하고 특정 단일 아카이브는aid:<archive hash>로 식별 - 명령줄 문법 변경으로 스크립트와 래퍼 수정 필요: 저장소는 보통
BORG_REPO또는borg -r <MYREPO> <COMMAND>로 지정,repo::archive형식 미사용 - scp 스타일 저장소 문법 제거,
ssh://URL 사용 필요 - 일부 저장소/아카이브 겸용 명령이 분리 또는 이름 변경됨:
borg init은borg repo-create, 저장소 작업은borg repo-*, 아카이브 작업은borg create NAME,borg list ID,borg extract ID등으로 사용 --glob-archives가--match-archives로 이름 변경,id:,sh:,re:패턴 스타일 지원 및 기본값은 동일 문자열 매칭인id:platformdirs 3.x.x사용으로 macOS와 Windows에서XDG_*_HOME미적용, macOS 기본 config/cache 디렉터리는~/Library/Application Support/borg/로 변경--remote-ratelimit,--numeric-owner,--nobsdflags,--noatime,--save-space,--bypass-lock,borg config제거--list와--progress동시 사용은--log-json예외를 제외하고 금지- 고지연 저장소에서 불필요한
repository.list()호출 제거로borg check와compact성능 개선, 저장소 내 chunks index 캐시로 b10 대비 대부분 명령의 고지연 저장소 성능 개선 - 파일 캐시의 드문 데이터 손실 가능 race condition 수정
- 파일 캐시 항목이
ctime과mtime을 모두 보유하고, 같은 archive series의 이전 아카이브에서 파일 캐시 재구축 가능 - 파일 캐시를 archive series별로 분리해 RAM 사용량 감소
- 의미 없는 일부 옵션의 중복 지정이 금지되어, 이전에는 동작하던 스크립트가 실패할 수 있음
댓글과 토론
Hacker News 의견들
-
BorgBackup을 쓰고 있는데 꽤 만족함
한 번 설정해두고 잊어도 되는 수준이었고, 7년이 지난 지금도 중복 제거 백업이 매주 문제없이 동작함
내부 Borg 백업의 복잡함을 줄여주는 borgmatic과 함께 쓰는 걸 추천함: https://github.com/borgmatic-collective/borgmatic- 데스크톱 환경을 쓰고 GUI를 선호한다면 Vorta도 잘 맞았음
https://vorta.borgbase.com/ - 이런 도구는 배워서 설정해두면 정말로 잊어버리게 되고, 나중에는 다시 기억해내는 일이 귀찮아서 백업 검증을 피하게 됨
그래서 점점 rsync나 GUI 프런트엔드가 있는 도구 쪽으로 기울고 있음 - “설정하고 잊었다”가 7년이라면, 가끔은 백업 복구 검증을 하고 있기를 바람
- 괜찮은 Android 클라이언트가 있는지 궁금함
- 데스크톱 환경을 쓰고 GUI를 선호한다면 Vorta도 잘 맞았음
-
지금은 그냥 rclone만으로 내 원격 머신에 백업하고 있는데, 전문적인 해법은 아닌 게 분명함
Backblaze B2를 원격지로 추가할까 했지만, rclone만 쓰는 건 최신 백업 방식이라고 보긴 어려울 듯함
rclone은 엄밀히 말해 백업 도구가 아니고, 암호화 기능도 있긴 하지만 좀 투박함
제대로 된 백업 도구라면 데이터를 적절한 크기의 블록으로 나누고, S3/B2 API에 맞게 파일 단위 그대로 만들기보다는 필요한 경우 디렉터리를 tar로 묶어 링크를 보존하고, 중복 제거 같은 오래전부터 정립된 모범 사례를 처리해야 한다고 봄
추천할 만한 도구가 있는지 궁금함
restic과 duplicati를 잠깐 봤지만, 전용 백업 도구라면 기대할 정도로 단순하진 않았음
GUI는 필요 없고 오히려 원치 않으며, 모든 설정이 단일 설정 파일에 들어가서 다른 데이터처럼 별도 위치에 백업하고 새 머신에서 재현할 수 있으면 좋겠음
더 큰 문제는 이런 도구들이 색인을 망가뜨려 데이터를 복구할 수 없게 됐다는 무서운 사례를 봤다는 점인데, 백업 도구라면 어떤 상황에서도 절대 그러면 안 되는 핵심 영역이라 납득하기 어려움- 설정을 단일 파일처럼 다루고 싶다면 kopia를 볼 만함
restic과 같은 역할을 하지만 설정 처리 방식이 더 마음에 들 수 있음
추가 참고: https://news.ycombinator.com/item?id=34154052
duplicati는 굳이 시도하지 않는 편이 좋음
여러 번 제대로 쓰려 했지만 늘 실패하는 버그투성이였고, 인터페이스는 마음에 들어서 더 아쉬움 - rpi에서 백업을 해보려다 Borg가 너무 느려서 못 쓰겠다고 느낀 뒤로 bupstash를 쓰고 있음
이후 집 서버를 제대로 된 장비로 업그레이드했지만, 대체로 더 잘 동작해서 bupstash를 계속 유지 중임
다만 마지막 릴리스가 2년 전이고, 저자가 아직 베타로 표시해두었다는 점은 감안해야 함
그래도 저자의 품질 기준이 다른 “베타가 아닌” 프로젝트들보다 높은 편인 것 같음
유용한 백업 도구 비교: https://github.com/deajan/backup-bench - 단순한지는 사용 사례에 따라 다르지만, borg는 훌륭했음
문서의 빠른 시작 안내를 따라가보는 걸 추천함
중복 제거와 암호화를 지원하고 기능이 훨씬 많지만, 필요 없으면 쓰지 않아도 됨
borgmatic과 함께 써서 데이터 손실 위험을 줄이는 백업 및 재해 복구 절차를 구성하고 있음
borgbase도 좋은 서비스지만, borgbase의 부가 기능이 필요 없다면 rclone 지원을 활용해 B2 같은 곳을 쓰는 쪽이 더 저렴할 수 있음
개인 프로젝트와 유료 작업 모두에서 꽤 오래 써왔고 경험은 좋았음 - restic + autorestic/resticprofile 조합을 씀
Borg 2는 아직 베타이고 Kopia도 비슷한 위치에 있음
Kopia는 더 새 도구라 같은 머신의 별도 중복 백업에서 테스트 중이고, 공간이 있으니 굳이 안 할 이유도 없음
가끔 데이터까지 포함해 무결성 검사를 돌려 메타데이터와 데이터가 괜찮다고 신뢰할 수 있게 함 - Restic으로 BackBlaze B2에 백업하는 데 매우 만족하고 있음
“설정 파일”은 사실 저장소 위치 같은 환경을 설정하고, 원하는 백업을 실행하고, 보존 정책에 맞는 prune 명령을 수행하는 셸 스크립트임
이 구성을 몇 년째 성공적으로 쓰고 있음
전체 복구는 해본 적 없지만, 개별 파일과 디렉터리 복구는 문제없었음
색인 손상 문제와 관련된 링크가 있는지 궁금함
직접 겪은 적은 없지만, 표본 하나만으로는 당연히 큰 의미가 없음
- 설정을 단일 파일처럼 다루고 싶다면 kopia를 볼 만함
-
Borg용 rclone 백엔드를 오래전부터 만들고 싶었음
하지만 v1에서는 백엔드 추상화가 충분히 잘 되어 있지 않아 쉽게 만들기 어려웠음
v2에서는 Thomas Waldmann이 괜찮은 추상 인터페이스를 만들어뒀고, rclone 코드는 Python 300줄 미만으로 끝나서 하루 이틀 오후면 만들 수 있었음
https://github.com/borgbackup/borgstore/blob/master/src/borg... -
매우 흥미로움
특히 객체 저장소의 인기가 올라가고 비용이 낮아지면서 오래 요청되던 기능임
Borg가 객체 저장소와 함께 동작하는 건 공식 지원이 아니었지만 일부는 그렇게 쓰고 있었음
이해하기로는 대부분 Borg가 직접 쓰거나 조작하게 하기보다 저장소를 복제한 뒤 업로드했는데, 원본 저장소가 손상돼 있으면 그 손상까지 복제될 수 있어 문제가 됨
이번 지원으로 훨씬 쉬워지고 작업 흐름도 단순해질 것 같음
특정 서비스가 아니라 rclone 지원을 택한 건 더 현명하고 미래지향적인 선택으로 보임 -
관련 글들
Borg 2.0 beta (deduplicating backup program with compression and encryption) - https://news.ycombinator.com/item?id=40990425 - 2024년 7월
Borgctl – borgbackup without bash scripts - https://news.ycombinator.com/item?id=39289656 - 2024년 2월
BorgBackup: Deduplicating archiver with compression and encryption - https://news.ycombinator.com/item?id=34152369 - 2022년 12월
Emborg – Front-End to Borg Backup - https://news.ycombinator.com/item?id=30035308 - 2022년 1월
Deduplicating Archiver with Compression and Encryption - https://news.ycombinator.com/item?id=27939412 - 2021년 7월
BorgBackup: Deduplicating Archiver - https://news.ycombinator.com/item?id=21642364 - 2019년 11월
Borg – Deduplicated backup with compression and authenticated encryption - https://news.ycombinator.com/item?id=13149759 - 2016년 12월
BorgBackup (short: Borg) is a deduplicating backup program - https://news.ycombinator.com/item?id=11192209 - 2016년 2월 -
Borg와 Restic의 최신 비교가 있는지, 또는 Restic에서 Borg로 옮길 만한 설득력 있는 이유가 있는지 궁금함
예전에 Borg를 썼지만 로컬 파일이나 ssh 외의 백엔드를 쓸 수 없다는 점이 문제가 됐음
Restic이 압축을 지원하기 시작할 즈음 Restic으로 옮겼음
여러 서버를 S3 호환 스토리지 제공자에 백업하는 내 사용 사례에서는 이제 Restic과 Borg가 거의 동등해 보임
망가지지 않은 걸 고치고 싶진 않지만, Restic을 쓰면서 Borg 대비 무엇을 놓치고 있는지도 알고 싶음- restic이 이해하고 쓰기 더 쉬워서 선호함
그래야 실제로 백업이 일어남
계속 바뀌는 느낌도 덜한데, 백업 솔루션에서 끊임없는 새 기능 흐름을 원한 적은 없음
- restic이 이해하고 쓰기 더 쉬워서 선호함
-
저렴한 온라인 백업 저장소를 찾는다면 Microsoft 365 Single 구독에 OneDrive 1TB가 포함된다는 점을 알아둘 만함
Family 구독은 사람당 1TB임
몇 년째 restic + rclone 조합으로 성공적으로 쓰고 있음
빠르진 않지만 동작함- Hetzner의 storage box 제품도 살펴볼 만함
SSH로 접근 가능한 1TB 저장소가 월 4유로라 이기기 어렵다
- Hetzner의 storage box 제품도 살펴볼 만함
-
개인 용도에서 일반 rsync 대신 Borg를 추천할 시점이 언제인지 궁금함
지금은 드라이브의 디렉터리 묶음을 다른 드라이브와 원격 서비스(rsync.net)에 rsync로 백업하고 있음
잘 동작하고 있지만, 내 사용 사례가 단순해서 이 해법이 충분한 건지, Borg의 큰 장점을 놓치고 있는 건지 확신이 없음
Borg의 암호화는 부럽지만 새 도구의 복잡성과 혹시 내가 데이터를 망칠지도 모른다는 불안 때문에 쉽게 넘어가지 못하고 있음
백업할 데이터는 현재 약 5TB 정도로 아주 많지는 않음- 내 경우 중복 제거와 압축이 저장 공간을 크게 아껴줌
메일 백업은 최근 6개월치 17개 백업이 원래 837GB인데, 압축 후 312GB, 중복 제거 후 19GB가 됨
Postgres도 25GB에서 7GB, 다시 900MB로 줄어듦
메일 백업은 rsync의 하드 링크로도 공간을 아낄 수 있겠지만, 별도 손질 없이 이 정도까지 작아질지는 모르겠음 - 흔한 문제는 파일을 삭제하거나 손상시킨 뒤 이틀 뒤에야 발견하면, 일일 백업 하나로는 도움이 안 된다는 것임
스냅샷을 여러 개 갖는 건 매우 중요함
http://www.taobackup.com/ 같은 자료도 참고할 만함
rsync는 파일이 많으면 매우 느리고, 이름이 바뀐 파일도 처리하지 못해 다시 전송함 - rsync로는 마지막 상태만 복제함
Borg를 쓰면 만들어진 모든 백업을 볼 수 있고, 이전 스냅샷 중 원하는 시점으로 되돌릴 수 있음
많은 백업 솔루션에도 해당되는 장점임
구체적으로 실수로 파일을 삭제했고 그 상태가 rsync되면, 그 백업으로는 파일을 복구할 수 없음
Borg라면 가능함
- 내 경우 중복 제거와 압축이 저장 공간을 크게 아껴줌
-
Borg 암호화를 rclone crypt보다 써야 하는 이유가 있는지, 또는 반대인지 궁금함
- rclone crypt는 Borg와 크게 관련이 없음
한 머신에서 다른 머신으로 파일을 복사하는 도구이고, 이 경우 복사 전에 암호화하는 방식임
클라우드와 함께 쓰는 rsync에 가까움
Borg는 백업을 위한 다른 종류의 도구임
원본 디렉터리를 하나의 저장소로 중복 제거, 암호화, 스냅샷, 체크섬, 압축함
파일 단위가 아니라 데이터 블록 단위로 동작함
저장소 관리 명령도 포함되어 데이터 검색, 스냅샷 정리나 병합 등을 할 수 있음
이후 저장소를 원하는 곳으로 전송하거나 동기화할 때 rsync/SSH 또는 rclone 같은 도구를 쓰면 됨
이제 rclone이 네이티브로 지원되므로 저장소를 로컬과 원격 양쪽에 둘 필요 없이 원격지로 직접 백업할 수 있음 - 이 패키지와 Restic의 차이도 궁금함
효율성과 암호화 측면에서 어떻게 다른지 알고 싶음 - 암호화를 켰을 때 중복 제거가 얼마나 잘 되는지 궁금함
rsync.net을 살펴봤는데, 합리적인 방식의 암호화를 지원하지 않는 점이 아쉬웠음
- rclone crypt는 Borg와 크게 관련이 없음
-
몇 년째 rsync.net에 Borg 백업을 쓰고 있고 만족함
force-command로 ssh 세션에서 Borg를 강제하는 기능을 지원하고, Borg에는 백업 ssh 키가 탈취되더라도 삭제를 막을 수 있는 옵션이 있음
전반적으로 설정이 크게 고통스럽지 않으면서 견고한 해법임- 손상된 호스트가 자기 백업을 삭제하지 못하게 하는 해법을 찾고 있었음
말한 것처럼 명령을 강제하면 rsync.net에서 가능하고, rsync.net의 스냅샷도 실수로 잘못 지우는 상황을 막아주는 보호막이 됨
- 손상된 호스트가 자기 백업을 삭제하지 못하게 하는 해법을 찾고 있었음