ソースサーバーとターゲットサーバーを介してチェックサム計算を有効にするために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

関連情報