작은 변경으로 하나의 큰 파일을 백업하는 방법은 무엇입니까?


9

파일 세트 (각각 큰 GB가 몇 개)와 각 파일이 매일 약간 씩 변경되는 경우 (끝에 추가 된 정보뿐만 아니라 임의의 장소에서) 어떻게 효율적으로 복사 할 수 있습니까? 변경 된 부분 만 업데이트되고 전체 파일이 아니라는 의미입니다. 이는 일부 Kb를 여기에 복사하거나 GB를 복사하는 것의 차이를 의미합니다.


이진 차이? 내가 그 일 생각하지만 난 생각하지 않는다 diff그것을 할 것입니다
고양이

@cat : diff차이점을보고 할 수 있지만 여기서 문제는 작은 차이점을 복사하는 것입니다.
Quora Feans

글쎄, 난 그냥 diffs를 복사 생각- rsync더 나은
고양이

1
서버 오류 : 큰 단일 파일 (2011-01-07) 의 증분 백업 및 스택 오버플로 : 매번 변경되는 RSync 단일 (아카이브) 파일 (2011-03-04)에 사용할 프로그램.
Graham Perrin

답변:


25

에 rsync 프로그램은 정확히 않습니다. 매뉴얼 페이지에서 :

델타 전송 알고리즘으로 유명합니다.이 기능은 소스 파일과 대상의 기존 파일 간의 차이 만 보내 네트워크를 통해 전송되는 데이터의 양을 줄입니다. Rsync는 백업 및 미러링과 일상적인 사용을위한 향상된 복사 명령으로 널리 사용됩니다.


실제로 rsync는이 답변을 쓰는 ​​동안 실제로 실행 중이며이 시스템의 모든 것을 내 파일 서버 (zfs 포함)에 백업합니다.
hlovdal

백업 목적으로 rdiff-backup ( nongnu.org/rdiff-backup ) 을 추천하고 싶습니다 . 나는 그것을 사용하여 몇 년 동안 4 개의 다른 머신을 백업하고 좋은 결과를 얻었습니다.
Thomas Padron-McCarthy

Wikipedia에는 롤링 체크섬을 사용하여 파일 청크비교 하는 방법에rsync 대한 좋은 설명이 있습니다.
Adam Katz

내부 파일이 거의 변경되지 않은 오래된 VM 하드 디스크 이미지로 "복귀"하기 위해 rsync를 시도했지만 슬프게도 rsync는 전체 파일을 다시 복사하는 것 같습니다 (~ 300MB / s 쓰기 ~ 3 분 소요)? rsync -av --progress --partial --inplace arch-test1.qcow2.bak arch-test1.qcow2
feedc0de

8

최신 중복 제거 백업 프로그램이 필요할 것입니다. BorgBackup을 확인하십시오 .

이렇게하면 큰 파일의 각 버전을 여러 번 백업 할 수 있지만 다른 버전간에 공통 내용을 공유하므로 큰 파일의 특정 버전에 사용 된 총 공간은 단일 디스크의 총 디스크 공간보다 약간 더 큽니다. 서로 다른 버전 만 약간 다르다고 가정합니다.


5

어떤 식 으로든 IO 제한이있는 경우 수행해야 할 작업 과 같이 파일의 차이 를 찾을 필요없이 증분 백업을 직접 지원하는 BTRFS 또는 ZFS와 같은 파일 시스템을 사용하십시오 rsync.

사용 rsync속도가 느리고 IO가 많이 사용됩니다.

파일에 변경 사항을 기록하는 응용 프로그램이 IO로 제한되는 경우 사용 rsync은 파일이 존재하는 바로 그 이유 때문에 응용 프로그램에서 상당한 IO주기를 사용하게됩니다. 또한 백업 프로세스 또는 시스템이 IO 제한적인 경우 rsync사용 가능한 백업 대역폭에서 IO주기를 멀리합니다.

Google의 "rsync가 느립니다". 예를 들어 , nfs-share에서 로컬 dir로 파일을 복사 할 때 cp와 비교하여 rsync가 매우 느립니다 (요소 8-10).


이를 통해 모든 메타 데이터를 확인하지 않고도 보존 할 수 있으며 항상 백업 복사본이 원본 복사본과 같은지 알 수 있습니다. rsync는 일반적으로 사용하기에 좋지만 최신 파일 시스템을 사용하는 경우 그 장점을 무시하는 것은 어리석은 일입니다.
user121391
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.