非常に短い時間で何百万もの小さなファイルをバックアップする最良の方法は何ですか?ほとんどが小さなファイルである約6,000万のファイルを含むファイルシステムをバックアップするのに5時間もかかりません。
richcopy、7z、rsyncなどのいくつかのソリューションを試しましたが、それらはすべて苦労しているようです。最適な方法を探しています...
最初にファイルをアーカイブに入れるか、ネットワークまたはハードディスク転送を介して別の場所にファイルを転送することを受け入れます
ありがとう
非常に短い時間で何百万もの小さなファイルをバックアップする最良の方法は何ですか?ほとんどが小さなファイルである約6,000万のファイルを含むファイルシステムをバックアップするのに5時間もかかりません。
richcopy、7z、rsyncなどのいくつかのソリューションを試しましたが、それらはすべて苦労しているようです。最適な方法を探しています...
最初にファイルをアーカイブに入れるか、ネットワークまたはハードディスク転送を介して別の場所にファイルを転送することを受け入れます
ありがとう
回答:
ボリュームのスナップショットとスナップショットからのバックアップを可能にするファイルストレージシステムを使用することを強くお勧めします。このように、実際のサーバーへの影響はほとんどなく、バックアップシステムはメインシステムを気にせずにバックアップに時間をかけることができます。オペレーティングシステムについては言及していませんが、ZFSやNetAppファイラーのようなものがこれを可能にし、両方がこの正確な機能のために至る所で使用されています。私はこれを提供する他のファイルシステムがあると確信していますが、私はこれらの仕事を知っています。
お役に立てれば。
ここでのボトルネックは、ファイルシステムとHDD自体になります。多くの小さなファイルの場合、FSはファイルとは別のファイルに関するメタデータを常に読み取っています。または、読み取り中のファイルがディスク上で連続していない場合があります。どちらの場合でも、ドライブヘッドは頻繁に移動する必要があります。
これらの小さなファイルをすべてより大きなファイルに高速化するほど、プロセス全体が高速になります。
残念ながら、これらのファイルを一度コピーするだけであれば、それらをアーカイブのような単一の大きなファイルに入れても処理は遅くなります。
すべてのファイルを読む>アーカイブ>バックアップの場所
VS
すべてのファイルを読む>バックアップ場所
最適な方法は、すべてのファイルを2番目の場所に一度コピーしてから、Windowsを使用しているため、変更された日付とサイズ、またはアーカイブビットを使用することです(ハッシュのようなコンテンツの検査ではなく、ファイルの読み取りが含まれます) )どのファイルが変更されたかを判断し、それらだけをセカンダリロケーションにコピーし、そこからバックアップします。または、FSをバイパスするシステムを使用するには、poigeのようなRAWコピーが推奨されます。
Windows 2008以降のWindows Serverバックアップはボリュームレベルのイメージを実行するため、何百万ものファイルメタデータをすべて処理する必要はありません。スナップショット(またはMSの用語ではボリュームシャドウコピー)を実行し、ファイルシステムで使用されているすべてのブロックを順番にバックアップします。読み取りはシーケンシャルであるため、非常に高速で、別のボリュームまたはネットワーク共有上の大きな.vhdファイルに結果を書き込みます。
欠点がいくつかあります。すべてのバックアップは完全バックアップであり、圧縮は行われません。また、ネットワーク共有にアクセスする場合、ターゲットフォルダーごとに1つの「イメージ」しか保存できません。後者はスクリプトで、前者は7-zip、rsync、または生ファイルを処理できる他のバックアップ/圧縮/重複排除ツールなどの他のツールで克服できます。
おそらく、このためにコマンドラインwbadminインターフェイスを使用することになります。GUIは無視してください。ほとんどのユースケースでは単純すぎます。
これが私たちがやったことです。
Windows 2008ストレージサーバーR2を搭載したNASを購入しました。実際には1つの大きなファイル(.vhd)であるISCSIターゲットを作成しました。ISCSIターゲットをマウントし、すべてのファイルを仮想ディスクに移動しました。
次に、バックアップソフトウェアでvhdをバックアップします。1つの大きなファイルをバックアップすることは、多くの小さなファイルよりもはるかに高速です。
NASにもバックアップソフトウェアをインストールし、テープドライブをこれに接続できます。そうすれば、二重ストレージを使用する必要がありません(データをミラーリングし、時間を購入するためにミラーリングされたデータをバックアップします)