Solusi 1:
Jumlah file dan overhead enkripsi SSH kemungkinan merupakan hambatan terbesar. Anda tidak akan melihat kecepatan kawat pada transfer seperti ini.
Opsi untuk meningkatkan meliputi:
- Menggunakan rsync+SSH dengan algoritme enkripsi yang lebih murah (mis.
-e "ssh -c arcfour"
) - Menghilangkan enkripsi sepenuhnya melalui transportasi SSH dengan sesuatu seperti HPN-SSH.
- Transfer berbasis blok. Snapshot,
dd
, pengiriman/penerimaan snapshot ZFS, dll. - Jika ini adalah transfer satu kali atau jarang, gunakan
tar
, netcat (nc
), mbuffer atau beberapa kombinasi. - Periksa CentOS
tuned-adm
Anda pengaturan. - Menghapus atime dari mount sistem file Anda. Memeriksa opsi pemasangan sistem file lainnya.
- NIC mengirim/menerima buffer.
- Menyetel
rsync
Anda memerintah. Akan-W
, opsi seluruh file masuk akal di sini? Apakah kompresi diaktifkan? - Optimalkan subsistem penyimpanan Anda untuk jenis transfer (SSD, penghitung spindel, cache pengontrol RAID.)
Solusi 2:
Seperti yang mungkin Anda ketahui, menyalin banyak file kecil (mis. kotak surat menggunakan format MailDir atau sejenisnya) jelas bukan pilihan terbaik untuk memanfaatkan antarmuka bandwidth tinggi. SSH mungkin juga bukan protokol transport terbaik untuk itu. Saya akan mencoba menggunakan tar untuk membuat tarball pada host sumber sebelum mengirimkannya ke host sekunder Anda.
tar c /var/mail | ssh [email protected] 'tar x -C /var/backups'
Jika Anda memerlukan cadangan tambahan, Anda mungkin ingin mencoba -g
opsi tar. Jika Anda masih perlu memaksimalkan throughput, coba gunakan netcat daripada ssh.
Bagaimana cara menyembunyikan kata sandi yang diteruskan sebagai argumen baris perintah?
Bagaimana cara menentukan nama host untuk wadah yang sedang berjalan?