[1] 带密钥的 SSH
sh-keygen -f ~/.ssh/id_rsa -q -P ""
cat ~/.ssh/id_rsa.pub
将此 SSH 密钥放入您的 ~/.ssh/authorized_keys 文件中
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys
[2] 快照 ZFS,使用 LZMA 最小化传输,使用 RSYNC 发送
zfs snapshot zroot@150404-SNAPSHOT-ZROOT
zfs list -t snapshot
用lzma压缩成文件(比bzip2更有效)
zfs send zroot@150404-SNAPSHOT-ZROOT | lzma -9 > /tmp/snapshots/zroot@150404-SNAPSHOT-ZROOT.lzma
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress --partial /tmp/snapshots/zroot@150404-SNAPSHOT-ZROOT.lzma <username>@<ip-address>:/
[3] 使用 MBUFFER 加速传输,使用 ZFS Send/Recieve 发送
首先启动接收器。它监听 9090 端口,有 1GB 缓冲区,使用 128kb 块(与 zfs 相同):
mbuffer -s 128k -m 1G -I 9090 | zfs receive zremote
现在我们发送数据,同样通过 mbuffer 发送:
zfs send -i zroot@150404-SNAPSHOT-ZROOT zremote@150404-SNAPSHOT-ZROOT | mbuffer -s 128k -m 1G -O <ip-address>:9090
[4] 仅发送差异来加速传输
zfs snapshot zroot@150404-SNAPSHOT-ZROOT
zfs snapshot zroot@150405-SNAPSHOT-ZROOT [e.g. one day later]
zfs send -i zroot@150404-SNAPSHOT-ZROOT zroot@150405-SNAPSHOT-ZROOT | zfs receive zremote/data
另见my notes