web-dev-qa-db-ja.com

Windowsネットワーク経由で大きなファイルを転送する最も簡単で最速の方法は何ですか?

20 GBを超えるデータを格納するMS SQL Serverを実行するWindow Server 2000マシンがあります。データベースは、2番目のハードドライブに毎日バックアップされます。これらのバックアップファイルを別のコンピューターに転送して、別のテストサーバーを構築し、復旧の練習をしたいと考えています。 (バックアップは実際にはほぼ5年間復元されませんでした。それについて上司に言わないでください!)

その巨大なファイルをネットワーク経由で転送するのに問題があります。プレーンネットワークコピー、Apacheダウンロード、およびftpを試しました。転送したデータの量が2GBに達すると、私が試した方法はどれも失敗しました。最後にファイルを正常に転送したのは、USB接続された外付けハードドライブを使用した場合です。しかし、私はこのタスクを定期的に、できれば自動的に実行したいと考えています。

この状況で最も実用的なアプローチは何ですか?

14
Sake

2Gbで予測可能な障害は、ターゲットファイルシステムが原因であるように聞こえます...どちらもNTFSにありますか?圧縮をパイプしていますか(Zipは2GBの境界で失敗していました)((Apacheが圧縮を行っています))

(他の人が述べたように)robocopyを使用して20Gbを超える多くのファイルをコピーしましたが、ファイルを削除するだけでなくコピーするため、希望どおりのコピーが得られるまで/ MIRスイッチの使用を避けます。

SMBは時間制限で1パケットの影響を受けるため、ファイルをコピーするための遅い方法であることがよくあります。プッシュまたはプルを使用してコピーするオプションがあります。個人的には、私はプッシュ方式を好んでいます(コピーはソースによって開始されます)。

16
Iain

MS Exchangeツールeseutilは、ネットワーク経由で大きなファイルをすばやくコピーするための優れたユーティリティです。

eseutil/y source_file/d dest_file。

10
this.matthew

無料のユーティリティ RichCopy を使用することを強くお勧めします。マルチスレッドであり、ファイルのコピー操作を一時停止および再開できます。私はそれを使用してサーバー間でファイルを転送するために非常に幸運でした。

RichCopyを使用する上での3つのヒント

  1. 1つまたはいくつかの大きなファイルをコピーする場合は、「ファイルコピー」属性を「1」以上に設定します。リソースを使い果たしますが、大きなファイルをより速くコピーします

  2. 大量のファイルをコピーする場合は、「スレッド番号」属性を10-10-1に設定します。これは複数のファイルをより速くコピーします

  3. 危険な接続を介してコピーする場合。あなたはダウンロードを再実行することができます、そしてそれは行き、最初に取得することができなかったファイルを見つけます。

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

6
notandy

ファイルコピーユーティリティに関する限り、 TeraCopy は、多くのファイルをキューに入れたり、一時停止と再開をサポートしたり、バッファサイズを動的に変更して速度を最適化したりできる、GUIベースのコマンドラインではありません。オプションで、Windowsエクスプローラーのデフォルトのコピー/移動を独自のものに置き換えることができます。

5
Lucas

/ MIRオプションを指定したRobocopyは、マシン間の迅速でダーティなバックアップに非常に役立ちます。 robocopyは、Windows Server 200Xリソースキットにあります。

MIRは、あるディレクトリの内容を別のサーバーにミラーリングします。変更されたファイルのみをコピーします。

3
Cephas

大きなSQL Serverバックアップファイルを繰り返しシャッフルする最も実用的なソリューションは、サードパーティのバックアップ圧縮製品またはSQL Server 2008 Enterprise Editionの組み込みのバックアップ圧縮を使用することです。

さまざまなベンダーの会社がいくつかあります。私はLiteSpeedのメーカーであるQuest Softwareで働いていますが、ここでは何も販売していません。そこにあるすべての製品をチェックアウトして、ニーズに最適なものを決定します。 LiteSpeedについて具体的に述べた最近のブログ投稿を次に示しますが、同じ概念が他の製品にも適用されます。

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

2
Brent Ozar

Binferを試してください。かつて私は44 GBのデータを簡単に送信しました。受信側のコンピュータにディスク容量があることを確認してください。彼らのサイトは http://www.binfer.com です。

1
Daniel

少し遅いですが、サードパーティのバックアップと復元のアプリケーションオプションをお勧めします。 Red Gate SQLバックアップ( www.red-gate.com )を使用します。GUIには圧縮と代替の場所オプションがあります。平均80%の圧縮節約を実現-実際のデータベースサイズの20%しか転送しません。また、暗号化もサポートしているため、WANを介して傍受の心配なしに使用できます。

その完全にスケジュール可能なので、選択したサイクルで自動的に実行できます。

GUIでは、ログ配布を構成および管理することもできます。

上記で利用可能な無料の試用版。

1
Fatherjack

LANまたはADSLなどのWAN接続を介してファイルをコピーしていますか? 20GBはLAN経由でコピーするのに大きなファイルではないので、これはWANだと思います。私はそのようなファイルを毎日たくさんコピーしています。

WAN接続の場合、Cygwinバージョンのrsyncを使用する方法です。

JR

1
John Rennie

私はsyncback( http://www.2brightsparks.com/syncback/sbse.html )を毎日使用して、ファイルの数倍のサイズのファイルを転送しています。問題はありませんでした。

1
Peter Stuer

2GB前後でネットワーク転送が失敗しました-NICに障害があることが判明しました。

1
Lazlow

たいていの場合、ユーザーが接続されているサーバー共有を移行するために大量のデータをコピーするため、Replistorを頻繁に使用します(www.emc.com/products/detail/software/replistor.htm)。コピー中およびその後、sourceとdestのディレクトリの同期を維持します。

0
Lloyd Petrey

これらがコピーするSQLの.bakファイルである場合は、次のいずれかを実行して、コピーする前にファイルを圧縮することを強くお勧めします。

  • バックアップを実行する前に、データベースを縮小してログを切り捨てます。または
  • コピーする前に.bakファイルを圧縮します。データファイルとログファイルで完全に割り当てられたスペースを使用していない場合、SQL .bakファイルは圧縮率が大幅に低下します。

大きなファイルをコピーするための別の方法が不要になる場合があります。

0
squillman

コンピューターからコンピューターへのコピーにBinferを使用できます。 OSに依存せず、非常に高速です。 2 GBの制限もありません。 http://www.binfer.com

0
Charlie

私はそのような大きなファイルの経験はありませんが、再起動可能であると主張する/ Zオプションを指定してrobocopyまたはxcopyを使用することもできます。これは、ネットワークが信頼できない大きなファイルのコピーを対象としているようです。

0
Knox

外付けハードドライブへのeSATA接続を使用しようとしましたか?接続は高速(3ギガビット!)であり、すぐにそのファイルを転送できるはずです!

サーバーのネットワークカードの速度は、10/100または10/100/1000ですか。ファイルをコピーするとき、サーバーのネットワーク帯域幅とスイッチはどのように見えますか?コピーするとき、宛先ロケーション(サーバー)のネットワーク帯域幅はどのように見えますか? 2つのNICをチーム化しようとしましたか?ネットワークカードドライバは最新ですか? BIOSは最新ですか?

ファイル転送の問題になる可能性がある多くの事柄があります。ハードウェアドライバーとBIOSが最新であることを確認することで、本当に違いが生まれます。

-JFV

0
JFV

最もシンプルで最速の方法:外付けUSBディスクとウォーキング。

私の方法:rsyncを使用します。コピーが失敗した場合は、再起動するだけで、元の場所に戻ります。

0
Quazatron

私は1GBをはるかに超えるまでロボコピーを使用しましたが、問題はありませんでした。 ss64.comにスイッチの説明があります。私はリンクを投稿することはできません:-(

0
JoeOD

悪の答え….

Netcat を使用します。ファイルを転送するためのUNIX指向のチュートリアルは、 ここ にあります。あなたはさらに物事をスピードアップすることができます:

  1. 送信側で圧縮し、宛先側で解凍します。 (コマンドラインの中央にgzipに相当するウィンドウをチャックします。)
  2. Tcpの代わりにudp経由でデータを送信することを選択します(データの整合性を気にする人は?)

冗談はさておき、netcatは、LAN上の大きなファイルを転送するための最も迅速な方法です。チェックサムが行われていないため、送信する前にファイルのMD5サムを実行し、受信したファイルのMD5サムと比較することをお勧めします。

私はこの方法でnetcatを何度も使用しましたが、失敗することはなく、ネットワークを最大限に活用できないこともありませんでした。

0
Matthew

他の人が言っているように、速く転送するものを見つけることがあなたの問題だとは思いません。ターゲットファイルシステムがFATではないことを確認するために再確認してください。また、両側のNICに更新されたドライバーがあり、他の方法で不安定な動作をしていないことを確認してください。

そうは言っても、移動するのは多くの小さなファイルですか、それとも少数の大きなファイルですか?何百万もの小さなファイルを移動しようとすると、RAIDコントローラの問題が発生しました。

失敗の原因を突き止めたら、これを自動化するのに問題はないと思います。ハードウェアの詳細とイベントビューアに表示される可能性のある関連エラーを一覧表示すると役立つ場合があります。

0
jhayes

問題を特定できるまで、短期的な解決策としてファイルを小さなチャンクに分割する価値があるかもしれません。過去にこれに似た問題があり、ftpは常に私たちのために働いてきました

0
beakersoft

私はExtremeCopyをあなたのコピータスクに強くお勧めします、それは私の経験でファイルを非常に速くコピーします、そのウェブサイトに行きます詳細www.easersoft.com

0
Jack

チェックするもう1つのことは、クォータサービスがターゲットサーバーに設定されているかどうかを確認することです。ユーザーあたりのデフォルトの割り当てとして2 GBを使用すると思います。

0