Apa cara termudah dan tercepat untuk mentransfer file besar melalui jaringan Windows?

14

Saya memiliki mesin Window Server 2000 yang menjalankan MS SQL Server yang menyimpan lebih dari 20GB data. Basis data dicadangkan setiap hari ke harddisk kedua. Saya ingin mentransfer file-file cadangan ke komputer lain untuk membangun server uji lain dan untuk berlatih pemulihan. (cadangan tidak pernah benar-benar dipulihkan selama hampir 5 tahun. Jangan beri tahu bos saya tentang itu!)

Saya kesulitan mentransfer file besar itu melalui jaringan. Saya sudah mencoba salinan jaringan biasa, unduhan apache, dan ftp. Metode apa pun yang saya coba berakhir gagal ketika jumlah data yang ditransfer mencapai 2GB. Terakhir kali saya berhasil mentransfer file, itu adalah melalui hard drive eksternal yang terpasang usb. Tetapi saya ingin melakukan tugas ini secara rutin dan lebih disukai secara otomatis.

Bertanya-tanya apa pendekatan yang paling pragmatis untuk situasi ini?

Demi
sumber
Sistem file apa yang Anda gunakan pada disk yang Anda transfer?
Marko Carter
NTFS. Apakah itu masalah?
Sake
Itu penting karena sistem file target bisa memiliki batas ukuran file 2GB yang bisa menyebabkan kesalahan Anda selalu di 2GB. Tapi itu NTFS sehingga mungkin bukan :)
Lucas
Ya, saya bertaruh uang bahwa itu sebenarnya bukan NTFS.
Brent Ozar

Jawaban:

16

Kegagalan yang dapat diprediksi pada 2GB terdengar seperti sistem file target yang harus disalahkan ... Apakah keduanya pada NTFS? Apakah Anda melakukan piping melalui kompresi apa pun (zip digunakan untuk gagal pada batas 2gb) ((apakah apache melakukan kompresi))

Saya telah menyalin banyak file lebih dari 20GB menggunakan robocopy (seperti yang lain telah disebutkan) tapi saya akan menghindari menggunakan / MIR switch sampai Anda yakin Anda mendapatkan salinan melakukan apa yang Anda inginkan - karena itu akan menghapus file serta menyalinnya.

SMB menderita satu paket pada batas waktu sehingga seringkali merupakan cara yang lebih lambat untuk menyalin file - Anda memiliki opsi untuk menyalin menggunakan push atau pull. Secara pribadi, saya lebih suka metode push (salinan dimulai oleh sumber).

Iain
sumber
3
Setuju. 2gb adalah hambatan umum untuk sistem file FAT. Saya benar-benar akan memeriksa dengan seksama untuk memastikan Anda tidak mencoba menyalin ke sistem file FAT.
Brent Ozar
saya pikir itu 4 gb?
Journeyman Geek
10

Alat MS Exchange eseutil adalah utilitas yang sangat baik untuk menyalin file besar dengan cepat di jaringan:

eseutil / y source_file / d dest_file.

baru ini
sumber
+1 Tidak pernah terpikir untuk menggunakannya untuk selain Exchange! Saya harus memberikan pusaran itu.
squillman
3
Dari technet.microsoft.com/en-us/library/aa998673(EXCHG.80).aspx "Mode Exchange Server Database Utilities (Eseutil.exe) / Y menyalin mode file dioptimalkan untuk menyalin file yang sangat besar secara efisien. Anda dapat menggunakan / Y beralih untuk menyalin file database atau file log. Namun, mode ini tidak cocok sebagai utilitas copy tujuan umum "
Goyuix
+1, ini mungkin efek samping paling mengagumkan dari utilitas pemeliharaan basis data yang pernah terdengar!
Massimo
6

Saya sangat merekomendasikan menggunakan RichCopy utilitas gratis . Ini multithreaded dan dapat menghentikan sementara dan melanjutkan operasi penyalinan file. Saya sangat beruntung menggunakannya untuk mentransfer file antar severs.

Tiga tips teratas saya untuk menggunakan RichCopy

  1. Jika Anda menyalin satu atau beberapa file besar, atur atribut 'File Copy' menjadi lebih dari '1'. Ini menggunakan sumber daya tetapi menyalin file besar turun lebih cepat

  2. Jika Anda menyalin banyak file, maka atur atribut 'Jumlah utas' menjadi 10-10-1. Ini akan menyalin beberapa file lebih cepat

  3. Jika Anda menyalin melalui koneksi yang cerdik. Anda dapat menjalankan unduhan dan itu akan pergi dan menemukan file yang tidak berhasil untuk pertama kalinya.

http://blogs.technet.com/markdea/archive/2009/03/24/richcopy-is-it-the-new-sliced-bread.aspx

Notandy
sumber
5

Sejauh utilitas salin file berjalan, TeraCopy adalah yang bagus berbasis GUI (bukan baris perintah) yang dapat mengantri banyak file, mendukung jeda dan melanjutkan, secara dinamis dapat mengubah ukuran buffer untuk mengoptimalkan kecepatan, dan secara opsional dapat menggantikan default Windows Explorer. salin / pindahkan dengan miliknya sendiri.

Lucas
sumber
3

Robocopy dengan opsi / MIR sangat berguna untuk backup cepat dan kotor antara mesin. Anda dapat menemukan robocopy di Windows Server 200X Resouce Kit

MIR akan MIRror konten dari satu direktori ke server lain. Itu hanya akan menyalin file yang telah berubah.

Cephas
sumber
2
/ Z juga merupakan opsi yang manis. Ini memungkinkan Anda melanjutkan salinan yang gagal. Ini telah menyelamatkan hidup saya melalui jaringan lambat
Nick Kavadias
2

Solusi paling pragmatis untuk pengocokan berulang file cadangan SQL Server besar adalah dengan menggunakan produk kompresi cadangan pihak ketiga atau kompresi cadangan bawaan SQL Server 2008 Enterprise Edition.

Ada beberapa di luar sana dari berbagai vendor. Saya bekerja untuk Perangkat Lunak Quest, pembuat LiteSpeed, tapi saya di sini bukan untuk menjual apa pun. Anda ingin memeriksa semua produk di luar sana dan memutuskan yang terbaik untuk kebutuhan Anda. Berikut adalah posting blog terbaru yang membahas tentang LiteSpeed ​​secara khusus, tetapi konsep yang sama juga berlaku untuk produk lain:

http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/title-8

Brent Ozar
sumber
1

Apakah Anda menyalin file melalui LAN atau melalui beberapa koneksi WAN seperti ADSL? Saya menganggap itu WAN karena 20GB bukan file besar untuk disalin melalui LAN. Saya menyalin banyak file seperti itu setiap hari.

Jika itu adalah koneksi WAN maka cara saya melakukannya adalah dengan menggunakan versi Cygwin dari rsync.

JR

John Rennie
sumber
1

Saya mengalami kegagalan transfer jaringan di sekitar angka 2GB - ternyata NIC rusak.

Lazlow
sumber
3
NIC rusak selalu gagal sekitar 2GB? aneh!
Lucas
mungkin NIC ini memiliki hardware yang mempercepat TCP dengan bug di dalamnya?
qbeuek
Saya tidak 100% yakin apa yang salah dengan NIC itu sendiri, tetapi itu adalah urusan tidak bermerek dari eBay - segera setelah saya menggantinya, transfer jaringan meningkat pesat tanpa penurunan konektivitas.
Lazlow
1

Yang sedikit terlambat tapi saya akan merekomendasikan cadangan pihak ke-3 dan mengembalikan pilihan aplikasi. Kami menggunakan Red Gate SQL Backup ( www.red-gate.com ), memiliki kompresi dan pilihan lokasi alternatif di GUI. Saya mendapatkan penghematan kompresi rata-rata 80% - jadi Anda hanya mentransfer 20% dari ukuran db yang sebenarnya. Ini juga mendukung enkripsi sehingga dapat digunakan melalui WAN tanpa kekhawatiran intersepsi.

Ini sepenuhnya dapat dijadwalkan sehingga dapat berjalan secara otomatis pada siklus pilihan Anda.

GUI juga memungkinkan Anda untuk mengkonfigurasi dan mengelola pengiriman log.

Versi uji coba gratis tersedia di atas.

Fatherjack
sumber
0

Saya tidak memiliki pengalaman dengan file sebesar itu, tetapi dapatkah Anda menggunakan robocopy atau bahkan xcopy dengan opsi / Z yang mengklaim dapat di-restart. Sepertinya ini dimaksudkan untuk salinan file besar di mana jaringan tidak dapat diandalkan.

Knox
sumber
0

Saya telah menggunakan robocopy lebih dari 1GB dan tidak memiliki masalah. ss64.com memiliki penjelasan yang bagus tentang sakelar. Saya tidak dapat memposting tautannya :-(

JoeOD
sumber
0

Jawaban jahat ..

Gunakan Netcat . Tutorial berorientasi unix untuk mentransfer file dapat ditemukan di sini . Anda selanjutnya dapat mempercepat dengan:

  1. Kompres di sisi pengirim dan dekompresi di sisi tujuan. (chuck windows setara dengan gzip di tengah-tengah baris perintah.)
  2. Pilih untuk mengirim data melalui udp daripada dengan tcp (hei man, siapa yang peduli dengan integritas data ?? !!)

Sambil bercanda, netcat mungkin merupakan cara tercepat untuk mentransfer file besar di LAN. Karena tidak ada checksum yang dilakukan, Anda mungkin ingin melakukan jumlah MD5 file sebelum mengirimnya dan membandingkannya dengan jumlah MD5 dari file yang diterima.

Saya telah menggunakan netcat banyak dengan cara ini, tidak pernah melihatnya gagal, tidak pernah melihatnya gagal untuk memaksimalkan jaringan juga ..

Matius
sumber
Mungkin Netcat mudah dan cepat digunakan, tetapi saya belum mendapatkan kecepatan tinggi dengannya. IIRC hampir tidak bisa mencapai 2-3 MB / s. Ketika datang ke kecepatan itu menyebalkan terlalu banyak.
Cristian Ciupitu
Saya merasakan beberapa tes kinerja datang ... Saya akan melihat apakah saya dapat menemukan waktu untuk membandingkan nfs, cifs, ftp dan nc di jaringan rumah lokal saya.
Matius
Jika netcat hanya memberi Anda 2-3MB / s sistem Anda rusak. ftp dan netcat harus melakukan keduanya secara identik. nfs dan cifs juga biasanya hampir sama.
Justin
0

Mungkin layak memecah file menjadi potongan-potongan kecil sebagai solusi jangka pendek sampai Anda dapat menentukan masalah. Kami memiliki masalah yang mirip dengan ini di masa lalu, dan ftp selalu bekerja untuk kami

beakersoft
sumber
0

Jika ini adalah file SQL .bak yang Anda salin, saya sangat menyarankan melakukan salah satu dari yang berikut untuk memperkecil file Anda sebelum menyalin:

  • Kecilkan basis data dan potong log sebelum menjalankan cadangan. ATAU
  • Kompres file .bak sebelum disalin. File SQL .bak kompres turun jika Anda tidak menggunakan ruang yang sepenuhnya dialokasikan dalam data dan file log.

Mungkin menghilangkan kebutuhan akan metode alternatif untuk menyalin file besar.

squillman
sumber
Saya sudah mencobanya. Sayangnya tidak banyak membantu.
Sake
Karena penasaran, lalu ... Apakah Anda memiliki autogrowth yang disetel ke nilai byte keras atau%? Atau apakah Anda bahkan mengaturnya ke autogrow?
squillman
0

Saya tidak berpikir menemukan sesuatu untuk ditransfer lebih cepat adalah masalah Anda, periksa kembali untuk memastikan sistem file target Anda TIDAK FAT, seperti yang orang lain katakan. Juga, pastikan NIC di kedua sisi telah memperbarui driver dan tidak bertindak serpihan.

Dengan mengatakan bahwa, kau pindah banyak banyak file kecil atau hanya beberapa yang besar? Saya telah melihat masalah pengontrol RAID ketika mencoba memindahkan jutaan file kecil.

Saya tidak berpikir Anda akan memiliki masalah mengotomatisasi ini setelah Anda mengetahui apa yang menyebabkan kegagalan. Mungkin membantu untuk membuat daftar detail lebih lanjut tentang perangkat keras Anda dan kesalahan yang relevan yang mungkin Anda lihat di penampil acara.

jhayes
sumber
0

Sudahkah Anda mencoba menggunakan koneksi eSATA ke hard drive eksternal? Koneksi cepat sekali (3 gigabit!) Dan seharusnya dapat mentransfer file itu dalam waktu singkat!

Berapa kecepatan kartu jaringan Anda di server, 10/100 atau 10/100/1000? Seperti apa bandwidth jaringan dan switch server ketika Anda menyalin file? Seperti apa bandwidth jaringan (lokasi?) Di lokasi tujuan saat menyalin? Sudahkah Anda mencoba menggabungkan 2 NIC bersama? Apakah driver kartu jaringan terbaru? Apakah BIOS terbaru?

Ada banyak hal yang bisa menjadi masalah untuk transfer file. Memastikan driver perangkat keras dan BIOS yang terbaru dapat benar-benar membuat perbedaan.

-JFV

JFV
sumber
0

Cara paling sederhana dan tercepat: disk USB eksternal dan berjalan.

Cara saya: gunakan rsync. Jika salinan gagal, restart saja, dan itu akan mengambil di mana ia pergi.


sumber
0

Hal lain yang perlu diperiksa adalah melihat apakah layanan kuota diatur pada server target; Saya pikir ini menggunakan 2 GB sebagai kuota default per pengguna.

Jason Cumberland
sumber