Ini adalah situasi yang sering saya alami:
- Saya memiliki server sumber dengan 320GB hard-drive di dalamnya, dan 16GB ram ( spesifikasi tepat tersedia di sini , tetapi karena ini adalah masalah yang sering saya temui di mesin lain, saya lebih suka jawaban untuk bekerja pada setiap Mesin Linux "masuk akal")
- Saya memiliki server cadangan dengan beberapa terabyte ruang hard-drive ( spesifikasi spesifik di sini , lihat penafian di atas)
Saya ingin mentransfer 320GB data dari server sumber ke server target (khususnya, data dari /dev/sda
).
- Kedua komputer secara fisik bersebelahan, jadi saya bisa menjalankan kabel di antara mereka.
- Saya menggunakan LAN, dan saya menggunakan router baru-ish , yang berarti kecepatan jaringan saya "idealnya" adalah 1000Mbit, bukan?
- Keamanan bukan masalah. Saya di jaringan lokal, dan saya percaya semua mesin di jaringan, termasuk router.
- (opsional) Saya tidak perlu memerlukan checksum yang ditandatangani dari data, tetapi pemeriksaan kesalahan dasar (seperti paket yang jatuh, atau drive menjadi tidak dapat dibaca) harus dideteksi daripada menghilang begitu saja ke dalam output.
Saya mencari pertanyaan ini secara online, dan telah menguji beberapa perintah. Salah satu yang paling sering muncul adalah ini:
ssh user@192.168.1.100 'dd bs=16M if=/dev/sda | gzip' > backup_sda.gz
Perintah ini telah terbukti terlalu lambat (itu berjalan selama satu jam, hanya mendapat sekitar 80GB melalui data). Butuh sekitar 1 menit dan 22 detik untuk paket tes 1GB, dan akhirnya menjadi dua kali lebih cepat ketika tidak dikompresi. Hasil mungkin juga condong oleh fakta bahwa file yang ditransfer kurang dari jumlah RAM pada sistem sumber.
Selain itu (dan ini diuji pada potongan uji 1GB), saya mendapatkan masalah jika saya menggunakan gzip
perintah dan dd
; file yang dihasilkan memiliki checksum yang berbeda ketika diekstraksi pada target, daripada jika disalurkan secara langsung. Saya masih mencoba mencari tahu mengapa ini terjadi.
/dev/sda
sebagai gambar atau hanya file. Mengapa rsync tidak ada pilihan? Sudah /dev/sda
terpasang saat Anda dd
mengedit?