私は全部で30ギガバイトの合計90万の小さなファイルを含むいくつかのデータをウィンドウズのコンピュータにコピーする必要があります。ただし、コピーして1時間半以内にセットアップできるようにする必要があります。また、USBハードドライブからファイルをコピーするのに5時間以上かかることもあります。ある種のブロックコピーをするなど、これに対処するためのより良い/より速い方法はありますか?ありがとう
私は全部で30ギガバイトの合計90万の小さなファイルを含むいくつかのデータをウィンドウズのコンピュータにコピーする必要があります。ただし、コピーして1時間半以内にセットアップできるようにする必要があります。また、USBハードドライブからファイルをコピーするのに5時間以上かかることもあります。ある種のブロックコピーをするなど、これに対処するためのより良い/より速い方法はありますか?ありがとう
回答:
大量のファイルを扱う場合は、扱うファイルが少なくなるようにtarアーカイブを作成するのが最善です。 USB 2.0外付けハードドライブを使用している場合は、USB 3.0、eSATAの使用、または高速ローカルネットワークの使用を検討してください。
ソースOSは何ですか?両方のオペレーティングシステムがLinuxの場合は、ファイルをtar、gzip、およびsshを介してターゲットマシンにパイプすることができます。 WindowsにcygwinをインストールしてWindows用のこのような機能を取得することもできます。
更新:
「 SCP速度を向上させるためのTarとSSHの使用 msgstr "" "postはssh上でtarの内容を送信するのに必要なコマンドを説明しています。
ハードドライブをUSBインターフェイスからSATA / ATAに取り外すことができる場合は、インストール先のコンピュータに取り付けます。他の人が指摘したように、あなたははるかに速い転送速度を得るでしょう。コピーのために、あなたがWindows上にいると仮定して、私は簡単なROBOCOPYをするでしょう。他にも選択肢がありますが、あなたが本当に望むことができるのと同じくらい速いです。
ROBOCOPY /E /B /MT 'source' 'destination'
私はこれらすべてのファイルの圧縮を避けようとしますが、圧縮して移動する時間は単にファイルを移動するだけの時間を超える可能性があります。
* robocopyに/ MTオプションを追加しました。あなたがマルチスレッド環境にいるとき、それは転送を非常にスピードアップすることができます。
/MT
ローカルのシングルディスク転送を手助けしますか、それとも大量のディスクスラッシングを引き起こしますか?サーバー間で大きなシェアをコピーするのが一般的ですが、ネットワークを経由するためにレイテンシが増え、RAIDアレイからのIOPSが向上することがよくあります。
あなたは全体のフォルダ/ドライブの画像を撮ってみることができます
Linuxシステムでは使用できます dd
ファイルシステムの生のコピーを入手し、それを単一の大きなファイルとしてコピーします。
画像をWindowsに抽出するには、cygwinまたはそれを処理できるプログラムをインストールする必要があるかもしれません。 dd
画像
設定しているコンピュータのソースファイルがあるディスクをインストールし、ディスクをディスクに転送します。 USBを忘れます。有線で(マシンをネットワークにまとめて)転送する場合でも、USBよりも高速です(usb 2.0および1Gbps NICを想定)。 これが繰り返し発生するイベントである場合は、代わりにレプリケーションを調べてください。
つかいます rsync
と z
オプション。
-z, --compress compress file data during the transfer
--compress-level=NUM explicitly set compression level
--skip-compress=LIST skip compressing files with suffix in LIST
これにより、ネットワークを介した転送速度が向上します。だからあなたのケースではおそらくほとんど役に立ちません。
もう少し読んだ後、私は、あるローカルハードドライブから別のローカルハードドライブにデータをコピーするときに '-z'フラグを使うべきではないことを認識しました、それはオーバーヘッドを増やします。 @FakeNameからコメントしていただきありがとうございます。
あなたはすぐにあなたのハードドライブの限界に近づいています。事実、現在のコモディティドライブでは、ファイルごとのコピー操作で転送時間を合わせることは不可能です。
各ファイルが1 HDシークを必要とし、シーク時間が7 msであると仮定すると(これは少し理想化された、現実的には各ファイルが必要となります) 二 ボリュームビットマップがram)にキャッシュされていない限り、たかだか142ファイル/秒まで管理できます(\ $ \ frac {1000} {7} = 142.8 ... \ $)。
1ファイルあたり最大33KのOP仕様(30 GB、900,000ファイル)の場合(\ $ \ frac {30,000,000k} {900,000} =〜33.3 ... \ $ 33 KB * 142 = 4.68 MBps)。
の 最小 30 MBを5 MBpsで転送するのにかかる時間は、1時間40分です(\ $ \ frac {30,000} {5} = = 6,000 \ $秒。\ $ \ frac {6,000} {60} = 100 \ $分、または1:40時間)
したがって、それは 不可能 最大5 MBPSを超える速度を達成するには、理想的なドライブを使用する必要があります(そして、シーク操作が少なくなります。これはファイルごとに1回のシークです。あなたは限られています 完全に ディスク性能によって。
パフォーマンスを向上させる唯一の方法は、ファイルシステム全体をコピーすることです。順次分割します。 dd
Linuxでこれを行うことができます。
あなたは何をしようとしているのですか?
ファイルを1つのファイルにのみアーカイブするには、7zipを試してください。可能であれば、ノートブックへのアドホック接続でWLANを使用してください。