我正在嘗試使用 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 的開銷,這也可能是您的另一條路徑)