Saya memiliki dua server Dell R515 yang menjalankan CentOS 6.5, dengan salah satu NIC Broadcom di masing-masing terpasang langsung ke yang lain. Saya menggunakan tautan langsung untuk mendorong cadangan dari server utama di pasangan ke sekunder setiap malam menggunakan rsync over ssh. Memantau lalu lintas, saya melihat throughput ~ 2MBps, yang jauh lebih sedikit daripada yang saya harapkan dari port gigabit. Saya telah mengatur MTU ke 9000 di kedua sisi, tetapi itu tampaknya tidak mengubah apa pun.
Apakah ada satu set pengaturan dan optimisasi yang direkomendasikan yang akan membawa saya ke throughput maksimum yang tersedia? Selain itu, karena saya menggunakan rsync over ssh (atau berpotensi hanya NFS) untuk menyalin jutaan file (~ 6Tb file kecil - toko surat Zimbra yang besar), optimasi yang saya cari mungkin perlu lebih spesifik untuk kasus penggunaan khusus saya. .
Saya menggunakan ext4 di kedua sisi, jika itu penting
Terima kasih
EDIT: Saya telah menggunakan rsync
opsi berikut dengan hasil yang hampir mirip:
rsync -rtvu --delete source_folder/ destination_folder/
rsync -avHK --delete --backup --backup-dir=$BACKUPDIR source_folder/ destination_folder/
Saat ini, saya melihat tingkat kinerja buruk yang sama ketika menggunakan cp
untuk ekspor NFS, melalui tautan kabel langsung yang sama.
EDIT2: setelah menyelesaikan sinkronisasi, saya bisa menjalankan iperf
dan menemukan kinerja sekitar 990Mbits / detik, kelambatan ini disebabkan oleh dataset aktual yang digunakan.
sumber
iperf
.Jawaban:
Jumlah file dan overhead enkripsi SSH kemungkinan merupakan hambatan terbesar. Anda tidak akan melihat kecepatan kawat pada transfer seperti ini.
Pilihan untuk meningkatkan termasuk:
-e "ssh -c arcfour"
)dd
, ZFS snapshot send / receive , dlltar
, netcat (nc
), mbuffer atau kombinasi.tuned-adm
pengaturan CentOS Anda .rsync
perintah Anda . Apakah-W
opsi seluruh file masuk akal di sini? Apakah kompresi diaktifkan?sumber
iperf
pasti.rsync
dan bukan olehcp
. Saya telah melihatrsync
membutuhkan waktu lebih lama untuk memperbarui pohon direktori jauh yang awalnya dibuat olehcp
: 88GB diperbarui dengan checksumming dalam 1h26m, bukan 3j! Cara Anda membuat tata letak disk awal sangat penting untuk mendapatkan kinerja pembaruan yang baik. Waktu CPU adalah sama; waktu nyata dapat berlipat ganda. (Pembaruan yang sama tanpa pemeriksaan berjalan dalam 13 menit dari SSD ke 200GB Seagate).Seperti yang 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 transportasi terbaik untuk itu. Saya akan mencoba menggunakan tar untuk membuat tarball pada host sumber sebelum mengirimkannya kepada Anda host sekunder.
Jika Anda perlu cadangan tambahan, Anda mungkin ingin mencoba
-g
opsi tar. Jika Anda masih perlu memaksimalkan throuput, coba gunakan netcat daripada ssh.sumber
dd
melaluinc
itu. tapi sekarang, saya terjebak dengan dua cadangan besar maka harus dipindahkan dari host utama, jadi saya dapat membuat sistem LVM di sanaCoba pisahkan faktor-faktor yang berkontribusi:
dan mengujinya secara mandiri.
Saya memiliki beberapa pengalaman buruk dengan driver Broadcom, jadi saran pertama saya adalah menguji bandwidth jaringan yang dapat digunakan dengan:
dd if=/dev/zero bs=1m count=10k | rsh backup_host cat \> /dev/null
sumber