我正在尝试使用 rsnapshot 和 ssh 将在 ext4 之上运行 RedHat 6.4 (i86_64) LVM 的一堆桌面备份到运行 RedHat 的文件服务器。我使用 1GbE。我发现第一个备份的速度很糟糕。我大约需要 1 小时才能推送 1Gb 数据。这是我的 rsnapshot.conf 文件。我究竟做错了什么?人们可以建议一些 rsnapshot 的替代方案吗?
config_version 1.2
snapshot_root /mnt/backup/desktops/test/
cmd_cp /bin/cp
cmd_rm /bin/rm
cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh
cmd_logger /usr/bin/logger
cmd_du /usr/bin/du
#cmd_preexec /path/to/preexec/script
#cmd_postexec /path/to/postexec/script
linux_lvm_cmd_lvcreate /sbin/lvcreate
linux_lvm_cmd_lvremove /sbin/lvremove
linux_lvm_cmd_mount /bin/mount
linux_lvm_cmd_umount /bin/umount
linux_lvm_snapshotsize 2G
linux_lvm_snapshotname rsnapshot
linux_lvm_vgpath /dev
linux_lvm_mountpath /mnt/lvm-snapshot
retain hourly 6
# GLOBAL OPTIONS #
verbose 2
loglevel 3
logfile /var/log/rsnapshot
lockfile /var/run/rsnapshot.pid
# Default rsync args. All rsync commands have at least these options set.
rsync_short_args -az
rsync_long_args --delete --numeric-ids --relative --delete-excluded --rsync-path
="sudo /usr/bin/rsync"
# ssh has no args passed by default, but you can specify some here.
ssh_args -p 22 -i /root/.ssh/backup_key_dsa
exclude '*.core'
[email protected]:/home/me/ land/ +rsync_long_args=--bwlimit=16
答案1
作为一种用于大量数据传输的协议,SSH 相当慢,在进行这样的传输时,我的网络/磁盘速度也只达到了一小部分。你可以做一件事来提高性能——尽管我不知道你会如何实现它——将“密码”切换为blowfish,我相信这是最快的 SSH 密码。我确实没有资格评论该系统的整体安全性,但我想象您正在通过 LAN 进行推送,并且不会过度担心闯入流所需的相当专门的黑客攻击。当然,切换到非加密协议可以提供最佳收益。
(ssh -c所需的blowfish / scp -c所需的blowfish是该密码的标准ssh参数)
(如果 rsnapshot 基于 rsync,它曾经有自己的 rsync:// 协议,该协议没有 ssh 的开销,这也可能是您的另一条路径)