rsync를 사용하는 방법? : NFS 공유를 통해 대규모 프로젝트 백업

rsync를 사용하는 방법? : NFS 공유를 통해 대규모 프로젝트 백업

나는 rsync가 많은 용도로 사용된다는 것을 알고 있으므로 내 상황에서 이를 사용하는 가장 좋은 방법이 무엇인지 궁금합니다...예:

project/처리 및 분석을 위해 SSH를 통해 연결하는 워크스테이션에 있는 약 700GB의 프로젝트(다양한 하위 디렉터리가 있는 단일 폴더에 위치 ). 워크스테이션에는 직접 액세스할 수 없는 NFS 공유가 마운트되어 있습니다. rsync의 증분 기능을 사용하여 프로젝트의 증분 백업을 만드는 것이 가능합니까?

저는 이미 백업을 위해 rsnapshot을 사용하고 있지만 프로젝트의 증분 복사본을 만들 수 있는 간단한 rsync 명령이 있었으면 좋겠습니다. 변경 사항이 거의 없으므로 증분 복사본은 대역폭을 줄입니다.

나는 열심히 노력했다

$ rsync --no-whole-file -rv project/ /nfs/destination/project/

하지만 작동하지 않습니다... 제대로 사용하고 있지 않다는 느낌이 듭니다.

답변1

델타 기능은 rsync서로 다른 두 호스트 사이에서만 작동합니다.

이는 네트워크 속도와 파일 IO 사이의 절충안으로, 두 호스트 모두 전체 파일을 읽고 서로 다른 부분을 복사하고 쓰게 됩니다. 한 번의 읽기 및 쓰기가 두 번의 읽기 및 일부 쓰기보다 빠르다고 가정하면 동일한 호스트에 있는 두 파일 복사본 간에 델타 알고리즘을 사용하는 것은 의미가 없습니다.

이론적으로는 rsync다음과 같은 명령을 사용하여 네트워크를 통해 실행되도록 속일 수 있습니다.

rsync -rv project/ localhost:/nfs/destination/project/

그러나 호스트는 차이점을 확인하기 위해 아래의 각 파일 project/과 아래의 대상 파일을 읽게 됩니다 . /nfs/destination/project/이 시점에서 파일을 완전히 복사했을 수 있습니다.

전체 파일 쓰기를 방지하는 유일한 지름길은 소스 버전과 대상 버전의 파일 시간과 파일 크기가 동일한 경우입니다.

한 가지 옵션은 NFS 서버 관리자 rsync에게 연결할 수 있는 서비스가 있는지 확인하는 것입니다. ( rsyncd이것은 Linux/Unix 플랫폼의 옵션이거나 Windows 플랫폼의 DeltaCopy 서버입니다. 둘 다 사용자 인증을 요구하도록 구성할 수 있습니다.) 이를 통해 rsync델타 알고리즘에 액세스하고 변경 사항만 쓸 수 있습니다.

또 다른 옵션은 스토리지 관리자가 블록 기반 변경 사항 추적과 같은 백업에 대한 더 나은 권장 사항을 가지고 있는지 확인하는 것입니다. 그들은 사용자로서 귀하에게 적합한 백업 계획을 만들 수 있습니다.

관련 정보