Windows 네트워크를 통해 대용량 파일을 전송하는 가장 간단하고 빠른 방법은 무엇입니까?


14

20GB가 넘는 데이터를 저장하는 MS SQL Server를 실행하는 Window Server 2000 시스템이 있습니다. 데이터베이스는 매일 두 번째 하드 드라이브에 백업됩니다. 다른 테스트 서버를 구축하고 복구 연습을 위해 백업 파일을 다른 컴퓨터로 전송하고 싶습니다. (백업은 실제로 거의 5 년 동안 복원되지 않았습니다. 내 상사에게 말하지 마십시오!)

네트워크를 통해 큰 파일을 전송하는 데 문제가 있습니다. 일반 네트워크 복사, 아파치 다운로드 및 ftp를 시도했습니다. 전송 된 데이터 양이 2GB에 도달하면 시도한 모든 방법이 실패합니다. 마지막으로 파일을 성공적으로 전송했을 때 USB 연결 외장형 하드 드라이브를 통해 이루어졌습니다. 그러나 나는이 작업을 일상적이고 바람직하게 자동으로 수행하고 싶습니다.

이 상황에서 가장 실용적인 접근법이 무엇인지 궁금하십니까?


전송중인 디스크에서 어떤 파일 시스템을 사용하고 있습니까?
Marko Carter

NTFS. 그게 문제 야?
Sake

대상 파일 시스템에 2GB의 파일 크기 제한이있어 항상 2GB의 오류가 발생할 수 있기 때문에 중요합니다. 그러나 그것은 아마도 NTFS이므로 아마도 그렇지 않습니다 :)
Lucas

네, 실제로 NTFS가 아니라고 생각합니다.
브렌트 오자르

답변:


16

대상 파일 시스템과 같은 2Gb 사운드에서 예측 가능한 오류는 비난받을 것입니다 ... NTFS에 모두 있습니까? 압축 (2GB 경계에서 실패하는 데 사용되는 지퍼)을 통해 파이핑하고 있습니까 ((아파치가 압축을 수행하고 있음))

나는 robocopy를 사용하여 20Gb 이상의 많은 파일을 복사했지만 (다른 사람들이 언급했듯이) / MIR 스위치는 파일을 삭제하고 복사 할 것이기 때문에 원하는 작업을 수행 할 때까지 / MIR 스위치를 사용하지 않는 것이 좋습니다.

SMB는 한 번에 하나의 패킷으로 인해 파일을 복사하는 속도가 느린 경우가 많습니다. 푸시 또는 풀을 사용하여 복사하는 옵션이 있습니다. 개인적으로, 나는 푸시 방법을 선호합니다 (소스는 복사를 시작합니다).


3
전적으로 동의합니다. 2gb는 FAT 파일 시스템의 일반적인 병목 현상입니다. FAT 파일 시스템으로 복사하지 않으려는지 확인하고 싶습니다.
Brent Ozar

나는 4 기가 바이트 생각?
Journeyman Geek

10

MS Exchange 도구 eseutil은 네트워크를 통해 대용량 파일을 빠르게 복사 할 수있는 훌륭한 유틸리티입니다.

eseutil / y source_file / d dest_file.


+1 Exchange 이외의 다른 용도로는 사용하지 않으려 고했습니다! 나는 그 소용돌이를 제공해야합니다.
squillman 2016 년

3
에서 technet.microsoft.com/en-us/library/aa998673(EXCHG.80).aspx 는 "Exchange 서버 데이터베이스 유틸리티 (Eseutil.exe) / Y 파일 복사 모드는 대용량 파일을 효율적으로 복사하도록 최적화되어 있습니다. 당신은을 사용할 수 있습니다 / Y 스위치를 사용하여 데이터베이스 파일 또는 로그 파일을 복사 할 수 있지만이 모드는 범용 복사 유틸리티로 적합하지 않습니다. "
Goyuix

+1, 이것은 아마도 데이터베이스 유지 관리 유틸리티의 가장 놀라운 부작용 일 것입니다!
Massimo

6

무료 유틸리티 인 RichCopy를 사용하는 것이 좋습니다 . 다중 스레드이며 파일 복사 작업을 일시 중지했다가 다시 시작할 수 있습니다. 나는 서버간에 파일을 전송하기 위해 그것을 사용하여 매우 행운을 빕니다.

RichCopy 사용을위한 3 가지 주요 팁

  1. 하나 또는 몇 개의 큰 파일을 복사하는 경우 '파일 복사'속성을 '1'이상으로 설정하십시오. 리소스를 사용하지만 큰 파일을 더 빨리 복사합니다.

  2. 많은 파일을 복사하는 경우 'Thread number'속성을 10-10-1로 설정하십시오. 여러 파일을 더 빨리 복사합니다

  3. dodgy 연결을 통해 복사하는 경우 다운로드를 다시 실행할 수 있으며 처음 다운로드 할 때 관리하지 않은 파일을 찾습니다.

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


5

파일 복사 유틸리티가 사용되는 한, TeraCopy 는 GUI를 기반으로하는 멋진 GUI 기반의 명령 줄로, 많은 파일을 대기열에 넣고 일시 중지 및 재개를 지원하며 버퍼 크기를 동적으로 변경하여 속도를 최적화하고 선택적으로 Windows 탐색기의 기본값을 대체 할 수 있습니다 자체 복사 / 이동


3

/ MIR 옵션을 사용하는 Robocopy는 시스템 간 빠르고 더러운 백업에 매우 유용합니다. Windows Server 200X Resouce Kit에서 robocopy를 찾을 수 있습니다

MIR은 한 디렉토리의 내용을 다른 서버로 미러링합니다. 변경된 파일 만 복사합니다.


2
/ Z도 좋은 옵션입니다. 실패한 사본을 재개 할 수 있습니다. 이는 속도가 느린 네트워크를 통해 내 인생을 저장 한
닉 Kavadias에게

2

대용량 SQL Server 백업 파일을 반복적으로 섞는 가장 실용적인 솔루션은 타사 백업 압축 제품 또는 SQL Server 2008 Enterprise Edition의 기본 제공 백업 압축을 사용하는 것입니다.

여러 공급 업체의 여러 제품이 있습니다. LiteSpeed의 제조업체 인 Quest Software에서 일하고 있지만 아무것도 팔지 않습니다. 모든 제품을 확인하고 필요에 가장 적합한 제품을 결정하려고합니다. LiteSpeed에 대해 구체적으로 언급 한 최근 블로그 게시물이 있지만 다른 제품에도 동일한 개념이 적용됩니다.

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


1

LAN을 통해 또는 ADSL과 같은 WAN 연결을 통해 파일을 복사하고 있습니까? 20GB는 LAN을 통해 복사하기에 큰 파일이 아니기 때문에 WAN이라고 가정합니다. 나는 매일 그러한 많은 파일들을 복사합니다.

그것이 WAN 연결이라면 내가하는 방법은 Cygwin 버전의 rsync를 사용하는 것입니다.

JR


1

2GB 근처에서 네트워크 전송에 실패했습니다. NIC 결함으로 판명되었습니다.


3
결함이있는 NIC가 항상 2GB 정도 실패 했습니까? 이상하다!
Lucas

이 NIC는 하드웨어 가속 TCP에 버그가있을 수 있습니까?
qbeuek 2016 년

나는 NIC 자체에 어떤 문제가 있는지 100 % 확신하지 못하지만 eBay의 브랜드 문제는 아니었다. 교체하자마자 네트워크 전송은 연결 저하없이 크게 개선되었다.
Lazlow


1

조금 늦었지만 타사 백업 및 복원 응용 프로그램 옵션을 권장합니다. Red Gate SQL Backup ( www.red-gate.com )을 사용하며 GUI에 압축 및 대체 위치 옵션이 있습니다. 평균 80 %의 압축 절약 효과를 얻으므로 실제 DB 크기의 20 % 만 전송합니다. 또한 인터 셉션 걱정없이 WAN을 통해 사용할 수 있도록 암호화를 지원합니다.

완전히 예약 가능하므로 선택한주기에 자동으로 실행할 수 있습니다.

GUI를 사용하면 로그 전달을 구성하고 관리 할 수도 있습니다.

위의 무료 평가판이 제공됩니다.


0

그런 큰 파일에 대한 경험이 없지만 robocopy 또는 xcopy를 / Z 옵션과 함께 사용하여 다시 시작할 수 있다고 주장 할 수 있습니까? 네트워크가 신뢰할 수없는 대용량 파일 복사본을위한 것 같습니다.


0

나는 robocopy를 1GB 이상으로 사용했지만 아무런 문제가 없었습니다. ss64.com에는 스위치에 대한 좋은 설명이 있습니다. 그래도 링크를 게시 할 수 없습니다 :-(


0

사악한 대답

Netcat을 사용하십시오 . 파일 전송을위한 유닉스 중심의 튜토리얼은 여기 에서 찾을 수 있습니다 . 다음을 통해 작업 속도를 높일 수 있습니다.

  1. 발신자 측에서 압축하고 대상 측에서 압축을 푸십시오. (명령 행 중간에 gzip에 해당하는 척 윈도우)
  2. tcp가 아닌 udp를 통해 데이터를 보내도록 선택하십시오.

농담으로, netcat은 LAN에서 대용량 파일을 전송하는 가장 빠른 방법 일 것입니다. 체크섬이 수행되지 않으므로 파일을 보내기 전에 파일의 MD5 합계를 수행하여 수신 된 파일의 MD5 합계와 비교할 수 있습니다.

나는 netcat을 이런 식으로 많이 사용했는데, 결코 실패한 것을 보지 못했고, 네트워크를 최대한 활용하지 못하는 것을 보지 못했다.


어쩌면 Netcat은 쉽고 빠르게 사용할 수 있지만 빠른 속도는 얻지 못했습니다. IIRC는 2-3MB / s에 거의 도달 할 수 없습니다. 속도가 빨라지면 너무 많이 빨립니다.
Cristian Ciupitu

몇 가지 성능 테스트가 진행되고 있음을 느낍니다. 로컬 홈 네트워크에서 nfs, cifs, ftp 및 nc를 비교할 시간이 있는지 확인할 수 있습니다.
Matthew

netcat이 2-3MB / s 만 제공하면 시스템이 손상된 것입니다. ftp와 netcat은 모두 동일하게 작동해야합니다. nfs와 cifs는 일반적으로 거의 같습니다.
Justin

0

문제를 정확히 찾아 낼 수있을 때까지 파일을 단기 해결책으로 작은 청크로 분할 할 가치가 있습니다. 우리는 과거에 이와 비슷한 문제가 있었고 ftp는 항상 우리를 위해 일해 왔습니다.


0

복사하려는 SQL .bak 파일 인 경우 복사하기 전에 다음 중 하나를 수행하여 파일을 축소하는 것이 좋습니다.

  • 백업을 실행하기 전에 데이터베이스를 축소하고 로그를 자릅니다. 또는
  • 복사하기 전에 .bak 파일을 압축하십시오. 데이터 및 로그 파일에서 완전히 할당 된 공간을 사용하지 않으면 SQL .bak 파일이 압축됩니다.

큰 파일을 복사하기위한 대체 방법이 필요하지 않을 수 있습니다.


나는 그것을 시도했다. 불행히도 많은 도움이되지 않습니다.
Sake

그러면 호기심에서 벗어나 ... 자동 증가가 하드 바이트 값 또는 %로 설정되어 있습니까? 아니면 자동 성장으로 설정 했습니까?
squillman

0

다른 사람들이 말했듯이 더 빨리 전송할 것을 찾는 것이 문제라고 생각하지 않습니다. 대상 파일 시스템이 FAT가 아닌지 다시 확인하십시오. 또한 양쪽의 NIC가 드라이버를 업데이트하고 다른 방식으로 작동하지 않는지 확인하십시오.

그 말로, 많은 작은 파일이나 몇 개의 큰 파일을 옮기고 있습니까? 수백만 개의 작은 파일을 이동하려고 할 때 RAID 컨트롤러 문제가 발생했습니다.

나는 당신이 실패의 원인을 알아 낸 후에 이것을 자동화하는 데 문제가 있다고 생각하지 않습니다. 하드웨어 및 이벤트 뷰어에 나타날 수있는 관련 오류에 대한 자세한 정보를 나열하는 데 도움이 될 수 있습니다.


0

외장 하드 드라이브에 eSATA 연결을 사용해 보셨습니까? 연결 속도가 빠르며 (3 기가비트!) 즉시 해당 파일을 전송할 수 있어야합니다!

서버의 네트워크 카드 속도는 10/100 또는 10/100/1000입니까? 파일을 복사 할 때 서버 네트워크 대역폭과 스위치는 어떻게 생깁니 까? 복사 할 때 대상 위치 (서버?) 네트워크 대역폭은 어떻게 생깁니 까? 2 개의 NIC를 함께 팀 구성하려고 했습니까? 네트워크 카드 드라이버가 최신 상태입니까? BIOS가 최신입니까?

파일 전송에 문제가 될 수있는 것이 많이 있습니다. 하드웨어 드라이버와 BIOS를 최신 상태로 유지하면 실제로 차이를 만들 수 있습니다.

-JFV


0

가장 간단하고 빠른 방법 : 외장 USB 디스크 및 보행.

내 길 : rsync를 사용하십시오. 복사에 실패하면 다시 시작하면 남아있는 곳에서 가져옵니다.


0

확인해야 할 다른 것은 할당량 서비스가 대상 서버에 설정되어 있는지 확인하는 것입니다. 사용자 당 기본 할당량으로 2GB를 사용한다고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.