Cách đơn giản nhất và nhanh nhất để chuyển tệp lớn qua mạng Windows là gì?


14

Tôi có một máy chủ Window Server 2000 chạy MS SQL Server lưu trữ hơn 20GB dữ liệu. Cơ sở dữ liệu được sao lưu mỗi ngày vào ổ cứng thứ hai. Tôi muốn chuyển các tệp sao lưu đó sang một máy tính khác để xây dựng một máy chủ thử nghiệm khác và để thực hành phục hồi. (bản sao lưu chưa bao giờ thực sự được khôi phục trong gần 5 năm. Đừng nói với sếp của tôi về điều đó!)

Tôi gặp khó khăn khi chuyển tập tin lớn đó qua mạng. Tôi đã thử sao chép mạng đơn giản, tải xuống apache và ftp. Bất kỳ phương pháp nào tôi đã thử đều thất bại khi lượng dữ liệu được truyền đạt tới 2GB. Lần cuối cùng tôi chuyển tập tin thành công, nó đã thông qua một ổ cứng gắn ngoài USB. Nhưng tôi muốn thực hiện nhiệm vụ này thường xuyên và tốt nhất là tự động.

Tự hỏi cách tiếp cận thực tế nhất cho tình huống này là gì?


Hệ thống tập tin nào bạn đang sử dụng trên đĩa mà bạn đang chuyển sang?
Marko Carter

NTFS. Có vấn đề gì không?
Sake

Điều này quan trọng bởi vì hệ thống tệp mục tiêu có thể có giới hạn kích thước tệp 2 GB có thể gây ra lỗi của bạn luôn ở mức 2 GB. Nhưng đó là NTFS nên có lẽ không phải vậy :)
Lucas

Vâng, tôi cá rằng tiền không thực sự là NTFS.
Brent Ozar

Câu trả lời:


16

Một lỗi có thể dự đoán ở mức 2Gb có vẻ như hệ thống tệp đích là lỗi ... Cả hai đều trên NTFS? Bạn có đang chuyển qua bất kỳ nén nào không (zip được sử dụng để thất bại ở ranh giới 2gb) ((là apache đang thực hiện nén))

Tôi đã sao chép nhiều tệp trên 20Gb bằng robocopy (như những người khác đã đề cập) nhưng tôi sẽ tránh sử dụng công tắc / MIR cho đến khi bạn chắc chắn rằng bạn đã có bản sao làm những gì bạn muốn - vì nó sẽ xóa các tệp cũng như sao chép chúng.

SMB bị một gói tại một thời gian giới hạn, vì vậy thường là cách sao chép tệp chậm hơn - bạn có tùy chọn sao chép bằng cách đẩy hoặc kéo. Cá nhân, tôi thích phương pháp đẩy (bản sao được bắt đầu bởi nguồn).


3
Hoàn toàn đồng ý. 2gb là một nút cổ chai phổ biến cho các hệ thống tập tin FAT. Tôi thực sự kiểm tra chặt chẽ để đảm bảo rằng bạn không cố gắng sao chép vào hệ thống tệp FAT.
Brent Ozar

tôi nghĩ đó là 4 gb?
Geek

10

Công cụ MS Exchange eseutil là một tiện ích tuyệt vời để sao chép nhanh chóng các tệp lớn trên mạng:

eseutil / y source_file / d Dest_file.


+1 Không bao giờ nghĩ sẽ sử dụng nó cho bất cứ điều gì khác ngoài Exchange! Tôi sẽ phải cho một cơn lốc.
squillman

3
Từ technet.microsoft.com/en-us/l Library / aa998673 (EXCHG.80). / Y chuyển sang sao chép tệp cơ sở dữ liệu hoặc tệp nhật ký. Tuy nhiên, chế độ không phù hợp làm tiện ích sao chép mục đích chung "
Goyuix

+1, đây có lẽ là tác dụng phụ tuyệt vời nhất của tiện ích bảo trì cơ sở dữ liệu từng nghe thấy!
Massimo

6

Tôi thực sự khuyên bạn nên sử dụng tiện ích RichCopy miễn phí . Nó là đa luồng và có thể tạm dừng và tiếp tục các hoạt động sao chép tệp. Tôi đã rất may mắn khi sử dụng nó để chuyển tập tin giữa các sever.

Ba mẹo hàng đầu của tôi để sử dụng RichCopy

  1. Nếu bạn đang sao chép một hoặc một vài tệp lớn, hãy đặt thuộc tính 'Sao chép tệp' thành nhiều hơn '1'. Nó sử dụng hết tài nguyên nhưng sao chép các tệp lớn xuống nhanh hơn

  2. Nếu bạn đang sao chép nhiều tệp thì hãy đặt thuộc tính 'Số luồng' thành 10-10-1. Điều này sẽ sao chép nhiều tập tin nhanh hơn

  3. Nếu bạn đang sao chép qua một kết nối tinh ranh. Bạn có thể chạy lại quá trình tải xuống và nó sẽ đi và tìm các tệp mà nó không quản lý để có được lần đầu tiên.

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


5

Theo như các tiện ích sao chép tệp, TeraCopy là một tiện ích dựa trên GUI đẹp (không phải dòng lệnh) có thể xếp hàng nhiều tệp, hỗ trợ tạm dừng và tiếp tục, có thể tự động thay đổi kích thước bộ đệm của nó để tối ưu hóa tốc độ và có thể thay thế tùy chọn mặc định của Windows Explorer sao chép / di chuyển với chính nó.


3

Robocopy với tùy chọn / MIR rất hữu ích để sao lưu nhanh và bẩn giữa các máy. Bạn có thể tìm thấy bản sao trong Bộ công cụ Windows Server 200X Resouce

MIR sẽ MIRror nội dung của một thư mục đến một máy chủ khác. Nó sẽ chỉ sao chép các tập tin đã thay đổi.


2
/ Z cũng là một lựa chọn ngọt ngào. Nó cho phép bạn tiếp tục các bản sao thất bại. Điều này đã cứu mạng tôi qua các mạng chậm
Nick Kavadias

2

Giải pháp thực tế nhất cho các lần xáo trộn lặp lại của các tệp sao lưu SQL Server lớn là sử dụng sản phẩm nén sao lưu của bên thứ ba hoặc nén sao lưu tích hợp của SQL Server 2008 Enterprise Edition.

Có một số ngoài kia từ các nhà cung cấp khác nhau. Tôi làm việc cho Quest Software, nhà sản xuất LiteSpeed, nhưng tôi không ở đây để bán bất cứ thứ gì. Bạn muốn kiểm tra tất cả các sản phẩm ngoài đó và quyết định những gì tốt nhất cho nhu cầu của bạn. Đây là một bài đăng blog gần đây nói về LiteSpeed, nhưng các khái niệm tương tự cũng áp dụng cho các sản phẩm khác:

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


1

Bạn đang sao chép tệp qua mạng LAN hoặc thông qua một số kết nối WAN như ADSL? Tôi cho rằng đó là một mạng LAN vì 20GB không phải là một tệp lớn để sao chép qua mạng LAN. Tôi sao chép nhiều tập tin như vậy mỗi ngày.

Nếu đó là kết nối WAN thì cách tôi làm là sử dụng phiên bản rsync của Cygwin.

JR


1

Tôi đã chuyển mạng thất bại ở mức 2GB - hóa ra đó là một lỗi Nic.


3
Lỗi luôn bị lỗi khoảng 2GB? khốn khổ!
Lucas

Có lẽ NIC này đã tăng tốc phần cứng TCP với một lỗi trong đó?
qbeuek

Tôi không chắc chắn 100% điều gì đã xảy ra với chính NIC, nhưng đó là một vấn đề không có thương hiệu từ eBay - ngay sau khi tôi thay thế, việc chuyển mạng đã được cải thiện rất nhiều mà không bị giảm kết nối.
Lazlow


1

Hơi muộn một chút nhưng tôi muốn giới thiệu tùy chọn ứng dụng sao lưu và khôi phục bên thứ 3. Chúng tôi sử dụng Red Gate SQL Backup ( www.red-gate.com ), nó có các tùy chọn vị trí nén và thay thế trong GUI. Tôi nhận được mức tiết kiệm nén trung bình 80% - vì vậy bạn chỉ chuyển 20% kích thước db thực tế. Nó cũng hỗ trợ mã hóa để nó có thể được sử dụng qua mạng WAN mà không phải lo lắng về việc chặn.

Nó hoàn toàn có thể lên lịch để có thể chạy tự động theo chu kỳ bạn chọn.

GUI cũng cho phép bạn định cấu hình và quản lý vận chuyển nhật ký.

Phiên bản dùng thử miễn phí có sẵn ở trên.


0

Tôi không có kinh nghiệm với một tệp lớn như vậy, nhưng bạn có thể sử dụng robocopy hoặc thậm chí xcopy với tùy chọn / Z mà tuyên bố là có thể khởi động lại được không. Có vẻ như điều này được dành cho các bản sao tệp lớn trong đó mạng không đáng tin cậy.


0

Tôi đã sử dụng robocopy tới hơn 1gb và không gặp vấn đề gì. ss64.com có ​​một lời giải thích tốt về các thiết bị chuyển mạch. Tôi không thể đăng liên kết mặc dù :-(


0

Câu trả lời ác ..

Sử dụng Netcat . Một hướng dẫn unix định hướng để chuyển tập tin có thể được tìm thấy ở đây . Bạn có thể tăng tốc hơn nữa bằng cách:

  1. Nén ở phía người gửi và giải nén ở phía đích. (cửa sổ chuck tương đương với gzip ở giữa các dòng lệnh.)
  2. Chọn gửi dữ liệu qua udp thay vì bởi tcp (hey man, ai quan tâm đến tính toàn vẹn dữ liệu ?? !!)

Đùa qua một bên, netcat có thể là cách nhanh nhất để chuyển các tệp lớn trên mạng LAN. Vì không có kiểm tra nào được thực hiện, bạn có thể muốn thực hiện tổng MD5 của tệp trước khi gửi và so sánh với tổng MD5 của tệp đã nhận.

Tôi đã sử dụng netcat rất nhiều theo cách này, chưa bao giờ thấy nó thất bại, chưa bao giờ thấy nó thất bại trong việc tối đa hóa mạng ..


Có thể Netcat rất dễ sử dụng và nhanh chóng, nhưng tôi chưa đạt được tốc độ cao nào với nó. IIRC nó chỉ có thể đạt 2-3 MB / s. Khi nói đến tốc độ nó hút quá nhiều.
Cristian Ciupitu

Tôi cảm thấy một số bài kiểm tra hiệu suất sắp tới ... Tôi sẽ xem liệu tôi có thể tìm thấy thời gian để so sánh nfs, cifs, ftp và nc trên mạng gia đình địa phương của tôi không.
Matthew

Nếu netcat chỉ cung cấp cho bạn 2-3 MB / s thì hệ thống của bạn bị hỏng. ftp và netcat nên thực hiện giống hệt nhau. nfs và cifs cũng thường giống nhau.
Justin

0

Có thể đáng để chia nhỏ tệp thành các phần nhỏ hơn như một giải pháp ngắn hạn cho đến khi bạn có thể xác định chính xác vấn đề. Chúng tôi đã có vấn đề tương tự như vậy trong quá khứ và ftp luôn làm việc cho chúng tôi


0

Nếu đây là các tệp SQL .bak bạn đang sao chép, tôi khuyên bạn nên thực hiện một trong những cách sau để thu nhỏ tệp của mình trước khi sao chép:

  • Thu nhỏ cơ sở dữ liệu và cắt bớt nhật ký trước khi chạy bản sao lưu. HOẶC LÀ
  • Nén tệp .bak trước khi sao chép. Các tệp SQL .bak nén xuống nếu bạn không sử dụng không gian được phân bổ đầy đủ trong các tệp dữ liệu và nhật ký.

Có thể loại bỏ sự cần thiết phải có một phương pháp thay thế để sao chép các tệp lớn.


Tôi đã thử nó. Không có nhiều sự giúp đỡ đáng tiếc.
Sake

Vì tò mò, sau đó ... Bạn có cài đặt tự động thành giá trị byte cứng hay% không? Hoặc thậm chí bạn có đặt nó thành autogrow?
squillman

0

Tôi không nghĩ rằng việc tìm kiếm thứ gì đó để chuyển nhanh hơn là vấn đề của bạn, hãy kiểm tra kỹ để đảm bảo hệ thống tệp mục tiêu của bạn KHÔNG phải là FAT, như những người khác đã nói. Ngoài ra, hãy đảm bảo rằng các NIC ở cả hai bên đã cập nhật trình điều khiển và nếu không thì hành động không ổn định.

Như đã nói, bạn đang di chuyển nhiều tệp nhỏ hay chỉ một vài tệp lớn? Tôi đã thấy các vấn đề của bộ điều khiển RAID khi cố gắng di chuyển hàng triệu tệp nhỏ.

Tôi không nghĩ bạn sẽ gặp vấn đề khi tự động hóa điều này một khi bạn tìm ra nguyên nhân gây ra lỗi. Nó có thể giúp liệt kê thêm chi tiết về phần cứng của bạn và bất kỳ lỗi nào có thể gặp trong trình xem sự kiện.


0

Bạn đã thử sử dụng kết nối eSATA với ổ cứng ngoài chưa? Các kết nối nhanh chóng (3 gigabit!) Và có thể chuyển tệp đó ngay lập tức!

Tốc độ nào là card mạng của bạn trên máy chủ, 10/100 hoặc 10/100/1000? Băng thông và chuyển đổi mạng máy chủ trông như thế nào khi bạn đối phó với tệp? Băng thông mạng của vị trí đích (máy chủ?) Trông như thế nào khi sao chép? Bạn đã thử hợp tác 2 NIC với nhau chưa? Các trình điều khiển card mạng được cập nhật? BIOS có được cập nhật không?

Có nhiều điều có thể là vấn đề cho việc chuyển tập tin. Đảm bảo trình điều khiển phần cứng và BIOS được cập nhật thực sự có thể tạo ra sự khác biệt.

-JFV


0

Cách đơn giản nhất và nhanh nhất: đĩa USB ngoài và đi bộ.

Cách của tôi: sử dụng rsync. Nếu sao chép thất bại, chỉ cần khởi động lại nó, và nó sẽ chọn nơi nó để lại.


0

Một thứ khác để kiểm tra là xem dịch vụ hạn ngạch có được thiết lập trên máy chủ đích hay không; Tôi nghĩ rằng nó sử dụng 2 GB làm hạn ngạch mặc định cho mỗi người dùng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.