Saya memiliki sekitar 200.000 file yang saya transfer ke server baru hari ini. Saya belum pernah melakukan apapun dalam skala besar seperti ini sebelumnya, dan ingin mendapatkan saran tentang bagaimana saya harus melakukan ini. Saya memindahkan mereka antara dua distro Centos 6, dan mereka berada di lokasi yang berbeda di negara ini. Saya tidak memiliki cukup ruang HDD pada server asli untuk mengumpulkan semua direktori dan file menjadi satu tarball besar, jadi pertanyaan saya adalah bagaimana saya harus mentransfer semua file ini? rsync? beberapa cara khusus menggunakan rsync? Setiap masukan / saran tentang cara melakukannya akan luar biasa.
Terima kasih
EDIT: Bagi mereka yang bertanya-tanya, saya SANGAT menyarankan menggunakan screen
ketika menjalankan rsync
perintah besar seperti ini. Terutama ketika sesuatu yang konyol dapat terjadi dan Anda kehilangan koneksi ke server A tempat Anda menjalankan rsync
perintah. Kemudian lepaskan layar dan lanjutkan lagi nanti.
sumber
rsync
? Mungkin pada set kecil file atau lebih? Seharusnya menjadi alat yang ideal untuk itu.tar cz | ssh [email protected] tar xz
rsync
untuk pembaruan berikutnya): "Jangan pernah meremehkan bandwidth dari station wagon yang penuh dengan kaset" (yaitu: apakah Anda mempertimbangkan untuk menempatkan hd ke-2 (atau memasang usb2 / USB3 disk), backup di atasnya, dan kirim yang itu melalui fedex ke lokasi terpencil? Bisa jadi JAUH lebih cepat dari yang lain, dan menghemat bandwidth untuk keperluan lainJawaban:
Untuk menyempurnakan jawaban Simon ,
rsync
adalah alat yang sempurna untuk pekerjaan itu:Dengan asumsi Anda memiliki akses ssh ke mesin jarak jauh, Anda ingin melakukan sesuatu seperti ini:
Ini akan menyalin direktori
path/to/local/foo
ke/path/to/remote/bar
pada server jauh. Subdirektori baru bernamabar/foo
akan dibuat. Jika Anda hanya ingin menyalin konten direktori, tanpa membuat direktori nama itu pada target, tambahkan garis miring:Ini akan menyalin isi dari
foo/
ke direktori jauhbar/
.Beberapa opsi yang relevan:
sumber
rsync -hrtplu --progress
jika saya ingin melihat kemajuan yang sedang terjadi?rsync --progress --stats -hrtl --update source destination
.rsync -hrtplu --progress --rsh='ssh -p2202'
adalah apa yang saya gunakan dan tidak dapat terhubung. Terus mendapatkan 255 kesalahan. Tapi aku harus melakukannya. Jadi saya tahu ini bukan firewall ... apakah saya perlu memberikan kata sandi melalui cmd juga? atau tidak akan hanya meminta saya setelah itu?Itu tergantung pada seberapa cepat itu perlu disalin, dan berapa banyak bandwidth yang tersedia.
Untuk koneksi jaringan yang buruk, pertimbangkan bandwidth truk yang diisi dengan kaset. (Baca: kirim HDD 2,5 inci, atau drive saja di sana sendiri. 300 gigabit drive seharusnya mudah ditemukan).
Jika waktu kurang kritis atau Anda banyak bandwidth maka rsync sangat bagus. Jika ada kesalahan, Anda dapat melanjutkan tanpa menyalin kembali file sebelumnya.
[Sunting] Saya lupa menambahkan bahwa Anda dapat menjalankan rsync beberapa kali jika data Anda digunakan selama penyalinan.
Contoh:
1) Data sedang digunakan. Rsync -> Semua data akan disalin. Ini mungkin memakan waktu.
2) Jalankan rsync lagi, hanya file yang diubah disalin. Ini harus cepat.
Anda dapat melakukan ini beberapa kali hingga tidak ada perubahan, atau Anda dapat melakukannya dengan cerdas / aman dengan membuat data hanya-baca selama penyalinan. (mis. jika berada di set bersama yang digunakan yang hanya dibagikan untuk dibaca. Atau rsync datanya, lalu pada malam hari setel hanya-baca saat Anda menjalankannya untuk kedua kalinya).
sumber
Saya akan pergi untuk rsync! Saya menggunakannya untuk membuat cadangan server saya ke server luar kantor dan berfungsi dengan baik. Biasanya ada beberapa MB untuk disalin tetapi beberapa hari itu berjalan hingga 20-30GB dan itu semua berfungsi tanpa masalah.
sumber
rsync melalui NFS menggunakan koneksi Gigabit akan memakan waktu hampir 10 jam. Akan lebih baik untuk menyalin data pada HDD dan memindahkannya di antara server. Jika Anda perlu menyalin satu-ke-satu disk sebenarnya, gunakan dd atau semacamnya, untuk membuat gambar mentah disk. Menggunakan ssh (scp) menyebabkan overhead yang sangat besar. Diuji secara empiris pada koneksi Gigabit. rsync baik dalam melakukan sinkronisasi tambahan antara dua server yang digunakan dalam HA atau dalam mode cadangan. Saya kira.
sumber
will took nearly about 10h. It will be better to copy data on HDD and move them between server.
kecuali bahwa itu di seluruh negeri, jadi itu akan lebih lama.pertama kali menggunakan NFS dan tar / untar (NFS adalah protokol tercepat dalam hal ini, tar untuk menghemat bandwidth jaringan dengan lebih banyak pemanfaatan CPU)
lain kali gunakan rsync
sumber
tar -cf - * | gzip | nc -p 4567
dannc -l 4567 | gunzip | tar xf -
.