소스 및 대상 서버를 통해 체크섬 계산을 활성화하려면 rsync가 필요한 프로토콜은 무엇입니까?

소스 및 대상 서버를 통해 체크섬 계산을 활성화하려면 rsync가 필요한 프로토콜은 무엇입니까?

나는 처형한다동기화대상 서버의 옵션은 --checksum다음과 같습니다.

rsync -av --bwlimit=800000 --delete --checksum /mnt/disks/SMB_SRC/ /mnt/user/dst

하지만 원본 서버를 SMB 공유로 탑재하면 체크섬 계산을 위해 모든 파일이 대상 서버로 완전히 전송됩니다. 모든 파일 전송을 방지하기 위해 원본 서버에서 소스 파일의 체크섬 계산을 활성화하려면 어떤 프로토콜이 필요합니까? rsync 데몬(rsync://)만 지원합니까, 아니면 다른 프로토콜도 지원합니까?

답변1

소스와 대상이 모두 "로컬" 경로인 경우 체크섬을 계산하려면 이미 양쪽을 읽어야 합니다. 체크섬을 요청하는 SMB 호출이 없으므로 I/O를 줄일 수 있는 방법이 없습니다.

I/O를 방지하려면 전송의 한쪽이 원격이어야 합니다. 반대편에 데몬이 있을 필요는 없지만 표준 SSH 연결이 작동합니다.

$ rsync /localpath /otherlocalpath     # Both sides read.  No checksum comparison
$ rsync /localpath server:/remotepath  # Destination remote
$ rsync server:/remotepath /localpath  # Source remote

관련 정보