적합한 백업 전략 찾기(borgbackup, Restic 등)

적합한 백업 전략 찾기(borgbackup, Restic 등)

나는 이와 같은 질문이 여러 번 제기되었다는 것을 완전히 알고 있습니다. 그러나 다양한 백업 도구에 대한 광범위한 문서를 읽어도 모든 질문에 답할 수는 없으므로 여기에 내 시나리오를 설명하여 의견을 얻는 것이 좋겠다고 생각했습니다.

내 필요에 맞는 백업 전략을 개발하고 싶습니다. 요구 사항에 대한 간략한 개요는 다음과 같습니다.

  • 오픈 소스 소프트웨어
  • 명령줄 지원(GUI뿐만 아니라)
  • 여러 장치에서 백업 및 복원하고 싶습니다. (모든 장치는 Linux를 실행합니다)
  • 특정 파일/폴더를 백업하고 다른 파일/폴더는 무시할 수 있기를 원합니다.
  • 다음과 같은 여러 대상에 백업할 수 있기를 원합니다.
    • 외장 하드 드라이브
    • 일부 외부 서버(집이 소실될 경우를 대비)
  • 예를 들어 cron을 사용하여 백업을 자동화하고 싶습니다.
  • 백업이 제대로 암호화되었으면 좋겠습니다
  • 이전 백업의 델타만 저장되도록 백업의 중복을 제거하고 싶습니다.
  • 백업에서 복원할 때 복원된 백업을 새로운 변경 사항을 백업하기 위한 새 지점으로 직접 사용할 수 있기를 원합니다. (저장소를 새 시스템에 복제한 후 직접 새 변경 사항을 푸시할 수 있는 git-repository를 생각해 보세요.)

몇 가지 조사 결과, 대부분의 경우에 적합해 보이는 두 가지 계획이 있습니다.

borgbackup을 사용하여 두 가지 문제를 발견했습니다.

  • 파일을 복원할 수 있는 방법에는 멜트다운 설치 백업 또는 백업을 직접 추출하는 두 가지 방법이 있습니다. 그런데 복원할 때 항상 파일만 가져옵니다. 새 시스템에 백업을 복원할 때 새 호스트에서 새 백업을 실행하려면 모든 리포지토리를 재설정해야 합니까? 매우 불편합니다. (다시 말하지만, 복원된 데이터/저장소를 직접 사용하여 새 데이터를 백업(푸시)할 수 있는 git 저장소와 유사한 동작을 갖고 싶습니다.)
  • 백업을 위해 여러 끝점을 지정하는 것은 불가능하다고 생각합니다. 예를 들어 원격 서버에 데이터를 백업할 수 있지만 외장 하드 드라이브와 동기화할 수는 없습니다. (바라보다:https://borgbackup.readthedocs.io/en/stable/faq.html#can-i-backup-from-multiple-servers-into-a-single-repository). 제 생각에는 콜드 스토리지 백업(예: 외장 HDD)은 borg에 적합하지 않은 것 같습니다.

휴식:

  • 본질적으로 Borg와 동일합니다.

그래서 제 질문은 위 시나리오에 적합한 백업 솔루션을 구현하는 방법입니다. borg와 Restic이 여기서 작업에 적합한 도구입니까? 그렇다면 제가 설명한 문제를 어떻게 처리합니까? 그렇지 않다면 다른 더 나은 백업 소프트웨어가 있습니까?

답변1

클론나는 이것이 귀하의 모든 요구 사항을 충족한다고 생각합니다.

  • 오픈 소스 소프트웨어
  • 명령줄 지원
  • 여러 장치에서 백업 및 복원(여러 운영 체제 지원)
  • 특정 파일/폴더를 백업하고 다른 파일/폴더는 무시합니다.
  • 여러 대상에 백업(한 번에 하나만 실행, 이를 달성하려면 xargs 또는 GNU Parallel과 결합해야 함)
  • 자동 백업(예: cron 사용)
  • 백업 암호화 가능
  • 이전 백업의 델타만 저장(=> 델타)
  • 복원된 백업을 새 백업 대상으로 사용

어쩌면 당신은 시도하고 싶을 수도 있습니다rclone sync src dest --backup-dir incr$(date "+%Y%m%d.%H%M%S")

당신이 자식에 대해 언급했듯이 :너도 꼭 보고 싶겠지자식 첨부. 위의 사항은 바로 이러한 목적을 위한 것입니다. (솔직히 말해서 rclone이 수년간의 개인적인 경험을 통해 견고하다는 것을 알고 있지만(지금까지 나를 실망시킨 적이 없습니다) 기능이 매우 흥미로워 보이지만 지금까지 git-annex를 사용해 본 적이 없습니다.

일반적으로 말하면 환경에 따라 다릅니다. 실제 질문은 다음과 같습니다. 여러 사용자와 많은 수의 시스템을 위한 지속적인 서비스로 솔루션을 구축하려는 경우 제안된 대로 전체 시스템을 사용하는 것이 더 좋습니다.https://unix.stackexchange.com/a/683353/118985전용 백업 환경을 구축합니다.

그러나 그것이 개인 시스템용이고 몇 대의 컴퓨터에만 적용되는 경우(위의 글에서 짐작할 수 있음) 필요한 관리 노력과 리소스는 훨씬 적고 속도가 빨라지고 경험이 줄어들 것입니다.좌절rclone을 사용하여 시스템을 실행합니다. 검색 경로에 넣을 실행 파일일 뿐이며 대부분의 경우 암호화 또는 클라우드 백업을 사용하여 프로그램에서 생성한 홈 디렉터리의 작은 구성 파일입니다.

답변2

두 개의 Linux(예: centos) 시스템을 설정하고 사용rsnapshot

  • 오픈 소스 소프트웨어
  • 명령줄 지원(GUI뿐만 아니라)
    • GUI가 없으며 rsnapshot은 간단한 Perl 스크립트이며 모든 것이/etc/rsnapshot.conf
  • 여러 장치에서 백업 및 복원하고 싶습니다. (모든 장치는 Linux를 실행합니다)
    • 할수있다
  • 특정 파일/폴더를 백업하고 다른 파일/폴더는 무시할 수 있기를 원합니다.
    • 할수있다
  • 여러 대상(예: 외장 하드 드라이브 또는 일부 외부 서버)에 백업할 수 있기를 원합니다(집에 화재가 발생한 경우).
    • 수행할 수 있으며 분명히 인터넷 연결이 필요하며 다른 곳에서 선택할 수 있는 일부 백업 시스템이 필요합니다.
  • 예를 들어 cron을 사용하여 백업을 자동화하고 싶습니다.
    • 얼마나 자주 백업을 수행하고 싶든 cron에서 rsnapshot을 호출할 수 있습니다. 매우 간단합니다.
  • 백업이 제대로 암호화되었으면 좋겠습니다
    • RSnapshot 웹사이트를 읽어보니 이에 대해 잘 모르겠습니다. 나는 귀하와 백업 서버 사이의 SSH 연결이 암호화의 첫 번째 수준이 될 것이라고 믿습니다. 백업 서버의 모든 것을 "암호화"해야 한다면 이는 다른 이야기이며 반드시 rsnapshot의 작업은 아닙니다.
  • 이전 백업의 델타만 저장되도록 백업의 중복을 제거하고 싶습니다.
    • rsnapshot 웹사이트를 읽어 보십시오. 증분 백업을 위해 rsnapshot을 구성하는 경우 수용 가능한 솔루션을 제공할 수 있습니다. 필요에 따라 중복 제거를 수행하기 위해 Linux의 백업 서버에서 다른 소프트웨어를 실행할 수도 있습니다.
  • 백업에서 복원할 때 복원된 백업을 새로운 변경 사항을 백업하기 위한 새 지점으로 직접 사용할 수 있기를 원합니다. (저장소를 새 시스템에 복제한 후 직접 새 변경 사항을 푸시할 수 있는 git-repository를 생각해 보세요.)
    • rsnapshot은 이를 기반으로 rsync하므로 백업 서버에서도 기본 서버와 동일한 폴더 구조를 갖게 되며, 백업 서버에서 NFS 또는 이와 유사한 것을 구성하면 해당 백업 폴더 구조를 내보낼 수 있습니다. 사용하려는 메인 서버(또는 다른 서버)로 이동하세요.

저는 16개의 드라이브 베이가 있는 서버에서 rsnapshot을 실행하고 있습니다. 처음 7개의 드라이브 베이는 /data로 raid-5로 마운트되어 있습니다. 두 번째 7개 베이는 raid-5 모드에서 /backup으로 마운트되어 루트 액세스만 허용합니다. nfs는 /backup을 읽기 전용으로 로컬 호스트(내 서버만)로 내보내고 사용자가 액세스할 수 있는 /backup2 폴더 아래에 /backup을 읽기 전용으로 마운트했습니다. 폴더/파일 권한은 데이터 권한의 미러 이미지이므로 사용자에게 권한이 있는 경우 실수로 /data 아래의 원본 파일을 삭제한 경우 /backup2 아래로 이동하여 원하는 것을 복사할 수 있습니다. 귀하의 경우에는 RSnapshot 백업을 수신하도록 두 번째 시스템을 구성해야 합니다. 인터넷에는 rsnapshot에 관한 많은 기사가 있습니다.

답변3

내 제안은 다음을 사용하는 것입니다.바큘럼. 귀하가 필요로 하는 정확한 요구 사항에 맞춰 대규모로 설정했습니다. 처음에는 이해하기가 조금 어려울 수 있지만 일단 설정하고 나면 훨씬 더 만족스러울 것입니다. 커뮤니티도 꽤 괜찮습니다. 향상된 rsync 클론에 시간을 낭비하지 마세요.

관련 정보