VM의 효율적인 오프 사이트 원격 백업 솔루션에 대한 권장 사항


15

현재 6 개의 VM을 백업하기위한 권장 사항을 찾고 있습니다 (곧 최대 20 개까지 증가). 현재 두 개의 노드 proxmox 클러스터를 운영하고 있습니다 (관리 할 사용자 정의 웹 프론트 엔드로 가상화를 위해 kvm을 사용하는 데비안베이스). amd phenom II x4와 asus 마더 보드가 거의 동일한 두 개의 상자가 있습니다. 각각 4500GB sata2 hdd, os 용 1 개 및 proxmox 설치용 기타 데이터, 3 개는 mdadm + drbd + lvm을 사용하여 두 시스템간에 1.5TB의 스토리지를 공유합니다. 모든 가상 머신의 lvm 이미지를 kvm에 마운트합니다. 나는 현재 한 컴퓨터에서 다른 컴퓨터로 실시간 전송을 할 수있는 능력을 가지고 있습니다 (일반적으로 몇 초 안에 (m $ sql 서버로 win2008을 실행하는 가장 큰 vm에서 약 2 분 소요)). proxmox의 내장 vzdump 유틸리티를 사용하여 VM의 스냅 샷을 찍고 있습니다. 네트워크의 외부 하드 드라이브에 저장하십시오. 그런 다음 원격 오프 사이트 백업을 위해 vzdump 폴더를 동기화하는 정글 디스크 서비스 (랙 공간 사용)가 있습니다.

이것은 모두 훌륭하고 멋지지만 확장 성이 뛰어나지는 않습니다. 하나, 백업 자체는 매일 밤 몇 시간이 걸릴 수 있습니다. 정글 디스크의 블록 레벨 증분 전송을 사용하면 동기화가 데이터의 작은 부분 만 오프 사이트로 전송하지만 여전히 30 분 이상 걸립니다.

훨씬 더 나은 해결책은 물론 두 시점의 차이 (즉, 오전 6시에서 오전 7시 사이에 작성된 것)를 즉시 가져 와서 압축 한 다음 해당 차이 파일을 백업 서버로 전송하여 즉시 서버로 전송할 수있는 것입니다. 랙 공간의 원격 스토리지. 나는 zfs를 조금 보았고 보내기 / 받기 기능이 있습니다. 그것은 bzip으로 된 데이터 파이프와 결합하거나 완벽하게 보일 것입니다. 그러나 zfs를 사용하여 nexenta 서버를 구현하려면 본질적으로 proxmox 서버에 iSCSI 블록 볼륨 (zvol 's ???를 통해)을 제공하기 위해 하나 이상의 전용 스토리지 서버가 필요합니다. 가능하면 설정을 가능한 한 최소로 유지하는 것이 좋습니다 (즉, 별도의 스토리지 서버가없는 경우).

또한 주 마스터에 대해 간단히 읽었습니다. 그것은 내가 원하는 것을 할 수있는 것처럼 보이지만 2008 년에 개발을 중단 한 것으로 보입니다.

zfs, zumastor 또는 기타?

답변:


3

이것은 귀하의 상황에서 가능하지 않을 수 있으므로 그 경우에는 투표에 참여하지 않기를 희망하지만 백업 전략을 변경하는 것이 더 효율적일 수 있습니다. VM 스냅 샷 대신 특정 데이터를 백업하면 백업 속도가 훨씬 빨라지고 변경 사항을보다 쉽게 ​​캡처 할 수 있습니다.

VM과 사용 대상에 따라 매일 스냅 샷을 저장하는 위치 (또는 적절한 일정에 따라)에 데이터를 백업하면 JungleDisk가 데이터 만 백업 할 수 있습니다. 이렇게하면 변경된 파일을보다 효율적으로 전송할 수 있으며 백업에 필요한 공간과 시간이 줄어 듭니다. 또한 여전히 스냅 샷을 만들어 보존 할 수 있으며 빈도는 훨씬 적습니다 (예 : 주 단위).

이 경우 항상 새 VM을 가져 와서 데이터를 복원하거나 이전 스냅 샷을 사용하여 VM을 복원 한 다음 데이터 백업을 사용하여 가장 최근 지점으로 복원 할 수 있습니다.


1
나는 이미 그런 것을 고려했습니다. 문제는 기본 vm 중 하나 이상이 HVAC 산업에 맞게 맞춤화 된 사용자 지정 데이터베이스 소프트웨어를 실행 중이며 SQL 데이터베이스에서 볼 수있는 덤프 기능이 없다는 것입니다. 우리는이 데이터 중 일부를 M $ SQL로 내보내지만 전부는 아니고 하루에 한 번만 내보내고 있습니다. 불행히도 네트워크 관리자는 vm에서 실행되는 항목에서 그러한 디자인 결정을 내릴 수 없으며 vm을 실행하고 백업하는 방법 만 가능합니다.
senorsmile

1

오프 사이트 백업을 수행하는 경우 다음 옵션을 선택합니다.

(a) SCP를 원격 서버에 복사하는 쉘 스크립트. 이렇게하면 백업을 생성하는 스크립트를 자동으로 실행하는 크론 작업을 추가 할 수 있습니다. 또한 실제로 파일을 전송하기 전에 임시 아카이브 파일을 작성하여 sill gziping 동안 전송하지 않음으로써 대역폭을 절약 할 수 있습니다.

또는

(b) Webmin과 같은 서버 관리 도구를 설치하고 자동 백업을 수행하십시오. 현재 프로덕션 서버에서 아무런 문제 없이이 노래를 부르고 있습니다. 완벽하게 작동합니다. 또한 하나의 솔루션으로 모든 것을 제공하므로 많은 VM을 관리하기 위해 cloudmin (유료)을 권장합니다.

몇 가지 추가 링크 :

http://www.debianhelp.co.uk/backup.htm

http://ubuntuforums.org/showthread.php?t=35087

RayQuang이 도움이 되길 바랍니다.


감사! 이 링크에는 많은 좋은 정보가 있습니다. 문제는 실행중인 가상 머신에서 작동 할 수 있고 차이를 계산하기 위해 몇 시간 동안 실행할 필요가없는 것이 필요하다는 것입니다. 궁극적 인 단일 머신은 xen, kvm (명확하게 리눅스 커널에서) 또는 이와 유사한 것을 실행할 수있는 nexenta 설치 일 것입니다. 그렇게하면 이미지 파일 또는 lvm (또는 zvol)에 Windows 및 Linux 서버 설치를위한 고성능 가상화 솔루션이 있으며 무제한 스냅 샷을 찍고 마지막 백업과의 차이점을 신속하게 전송하는 방법이 있습니다!
senorsmile

1

backuppc를 살펴볼 수 있습니다.

backuppc는 증분 복사를 수행하는 rsync 위에서 작동 할 수 있습니다.

또한 백업 할 필요가없는 폴더의 블랙리스트를 쉽게 작성할 수 있습니다. 예를 들면 : temp / / tmp .garbages / ...

http://backuppc.sourceforge.net/

backuppc에는 깨끗한 웹 인터페이스가있어 백업의 일부를 zip 파일로 직접 다운로드 할 수 있습니다. check_backuppc를 사용하여 nagios로 모니터링 할 수 있습니다.


backuppc는 완전히 다른 프로젝트에 완벽 할 것이라고 생각합니다! 고마워 또한 오프 사이트 백업을 위해 정글 디스크를 추가하거나 교체하기 위해 다른 사이트로 원격 백업을 실행하는 것이 좋습니다.
senorsmile

1

확장 성을 높이기 위해 얼마나 많은 아키텍처 변경을 계획했는지 잘 모르겠습니다. 그러나 VM 플랫폼 전환에 개방적이라면 VMWare를 볼 수 있습니다.

좋은 VMWare 백업 솔루션이 많이 있습니다. 개인적으로 VzionCore를 사용했습니다. 그런 다음 스냅 샷과 특정 시점 복구로 매끄러운 작업을 수행 할 수 있습니다. 원격 사이트로 페일 오버 할 수도 있습니다.


불행히도 나는 지금 달리고있는 것과 상당히 비슷한 것을 찾고있다. 특히 오픈 소스이고 확장 가능해야합니다. VMWare 솔루션을 검토 한 결과 CDP 백업 솔루션과 가까운 타사를 갖춘 2 노드 virt 클러스터의 비용도 매우 비쌉니다.
senorsmile

VzionCore가 아니라 VizionCore를 의미한다고 생각합니다.
Sean Reifschneider

0

zfs는 훌륭하지만 2 서버 규모에서 잘 작동하지 않는다는 단점을 이미 알고 있습니다. 또한 DRDB 장애 조치를 제공하지 않습니다. 즉 Nexenta는 단일 장애 지점이됩니다.

OpenSolaris 또는 NexentaCore에서 VirtualBox를 가져 오려고 시도 할 수 있지만 ProxMox + DRDB만큼 간단하지 않으므로 기존 시스템을 재사용 할 수 있습니다.

변경 사항을 측정하고 충분히 낮게 발견하면 3 차 미러 오프 사이트로 DRDB를 시도 할 수 있습니다. VM에서 쓰기 수가 매우 적은 경우에만 작동합니다.

스티브 Radich - 윈도우 호스팅 및 1995 년부터 SQL 성능 - http://www.BitShop.com/Blogs.aspx


0

대규모 proxmox 클러스터를 실행하고 오래된 vzdump 스냅 샷 스타일 백업에서 백업 전략을 변경하는 것이 좋습니다.이 백업은 오래 걸리고 크기가 항상 꽉 찼기 때문에 개별 파일을 매우 오래 감습니다.

많은 'in guest'파일 백업 솔루션을 고려하십시오. Backuppc, Urbackup, bacula, amanda 등

훨씬 빠르며 공간을 덜 소비하며 특정 파일을 복원하기가 훨씬 쉽습니다.


0

내 질문에 대한 궁극적 인 답변을 찾은 것 같습니다.

BUP https://github.com/bup/bup

풍모:

  • 롤링 체크섬 알고리즘 (rsync와 유사)을 사용하여 큰 파일을 청크로 분할합니다. 가장 유용한 결과는 일반적으로 거대한 가상 머신 (VM) 디스크 이미지, 데이터베이스 및 XML 파일이 모두 하나의 거대한 파일에 있더라도 증분 백업 할 수 있으며 여러 버전에 디스크 공간을 많이 사용하지 않는 것입니다.

    git (오픈 소스 버전 관리 시스템)의 packfile 형식을 사용하므로 bup의 사용자 인터페이스가 마음에 들지 않더라도 저장된 데이터에 액세스 할 수 있습니다.

    git과는 달리 별도의 가비지 수집 / 재 포장 단계가 아닌 팩 파일을 직접 작성하므로 엄청난 양의 데이터가 있어도 빠릅니다. bup의 향상된 색인 형식을 사용하면 git (백만)보다 훨씬 많은 파일 이름을 추적하고 훨씬 더 많은 객체 (수백 또는 수천 기가 바이트)를 추적 할 수 있습니다.

    백업은 서로에 대해 잘 모르는 두 대의 다른 컴퓨터에서 백업하더라도 다른 백업을 기반으로 백업을 알 필요없이 증분 백업간에 "자동으로"공유됩니다. bup에게 백업을 지시하면 필요한 최소한의 데이터 만 저장합니다.

    컴퓨터의 많은 임시 디스크 공간을 백업하지 않고도 원격 bup 서버에 직접 백업 할 수 있습니다. 그리고 백업이 중간에 중단되면 다음 실행이 중단 된 지점에서 시작됩니다. bup 서버를 쉽게 설정할 수 있습니다. ssh 액세스 권한이있는 모든 컴퓨터에 bup을 설치하면됩니다.

    Bup은 디스크에 불량 섹터가 감지되지 않은 경우에도 "par2"중복성을 사용하여 손상된 백업을 복구 할 수 있습니다.

    백업이 증분 인 경우에도 전체 백업을 복원 할 필요가 없습니다. 그러면 각 증분이 차례로 변경됩니다. 증분 백업은 전체 백업 인 것처럼 작동하며 디스크 공간을 덜 차지합니다.

    bup 저장소를 FUSE 파일 시스템으로 마운트하고 그런 식으로 컨텐츠에 액세스하고 Samba를 통해 내보낼 수도 있습니다.

편집 : (2015 년 8 월 19 일) 그리고 더 좋은 또 다른 훌륭한 솔루션이 나옵니다 : https://github.com/datto/dattobd

이를 통해 라이브 스냅 샷이 가능하며, Linux의 모든 기존 파일 시스템에 COW와 같은 기능을 제공합니다.

편집 : (2016 년 7 월 15 일) 그리고 물에서 튀어 나오는 또 다른 훌륭한 솔루션 : https://github.com/borgbackup/borg

가지 치기에서 bup보다 특히 좋습니다. 압축, 암호화 및 효율적인 중복 제거를 지원합니다. dattobd + borg ftw !!!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.