何百万もの小さなファイルをバックアップする方法は?


6

非常に短い時間で何百万もの小さなファイルをバックアップする最良の方法は何ですか?ほとんどが小さなファイルである約6,000万のファイルを含むファイルシステムをバックアップするのに5時間もかかりません。

richcopy、7z、rsyncなどのいくつかのソリューションを試しましたが、それらはすべて苦労しているようです。最適な方法を探しています...

最初にファイルをアーカイブに入れるか、ネットワークまたはハードディスク転送を介して別の場所にファイルを転送することを受け入れます

ありがとう


面白いタスク。それは何ですか、秘密ではありませんか?:)
poige

そもそもこれらのファイルはどのように作成されますか?バックアップから復元するのではなく、単に再作成することは可能ですか?
jftuga

あなたは多くのことを試みました-しかし、それらのどれも専門的なものではないようです。Windows統合バックアップもありません。
トムトム14年

回答:


6

ボリュームのスナップショットとスナップショットからのバックアップを可能にするファイルストレージシステムを使用することを強くお勧めします。このように、実際のサーバーへの影響はほとんどなく、バックアップシステムはメインシステムを気にせずにバックアップに時間をかけることができます。オペレーティングシステムについては言及していませんが、ZFSやNetAppファイラーのようなものがこれを可能にし、両方がこの正確な機能のために至る所で使用されています。私はこれを提供する他のファイルシステムがあると確信していますが、私はこれらの仕事を知っています。

お役に立てれば。


オペレーティングシステムは現在、Windows 2008で
grassbl8d

2

95%が4k未満のサイズで、約50%が90日ごとに削除される約2,000万個のファイルを保存するサーバーを使用しました。バックアップにはrawディスクイメージを使用します。また、スクリプトを使用して作成された名前、md5ハッシュ、日付のインデックスファイルを作成し、それを使用してコンテンツを追跡します。

元のバックアップソリューションは、md5署名によってデータベース内のファイルとしてファイルをロードすることでした。何百万ものmd5ハッシュの作成には、生のイメージバックアップを作成するよりも時間がかかったため、これは段階的に廃止されました。


1

毎回すべてを本当にバックアップする必要がありますか?増分/差分バックアップを作成する場合、関係するすべてのファイルではなく、変更を毎回バックアップするだけで済みます。

を見てきたようにrsyncrsnapshotを使用して、一種の増分バックアップを作成することを検討できます。


0

次に、ボリューム(パーティション)全体を「raw」デバイスとしてバックアップします。


0

ここでのボトルネックは、ファイルシステムとHDD自体になります。多くの小さなファイルの場合、FSはファイルとは別のファイルに関するメタデータを常に読み取っています。または、読み取り中のファイルがディスク上で連続していない場合があります。どちらの場合でも、ドライブヘッドは頻繁に移動する必要があります。

これらの小さなファイルをすべてより大きなファイルに高速化するほど、プロセス全体が高速になります。

残念ながら、これらのファイルを一度コピーするだけであれば、それらをアーカイブのような単一の大きなファイルに入れても処理は遅くなります。

すべてのファイルを読む>アーカイブ>バックアップの場所

VS

すべてのファイルを読む>バックアップ場所

最適な方法は、すべてのファイルを2番目の場所に一度コピーしてから、Windowsを使用しているため、変更された日付とサイズ、またはアーカイブビットを使用することです(ハッシュのようなコンテンツの検査ではなく、ファイルの読み取りが含まれます) )どのファイルが変更されたかを判断し、それらだけをセカンダリロケーションにコピーし、そこからバックアップします。または、FSをバイパスするシステムを使用するには、poigeのようなRAWコピーが推奨されます。


0

Windows 2008以降のWindows Serverバックアップはボリュームレベルのイメージを実行するため、何百万ものファイルメタデータをすべて処理する必要はありません。スナップショット(またはMSの用語ではボリュームシャドウコピー)を実行し、ファイルシステムで使用されているすべてのブロックを順番にバックアップします。読み取りはシーケンシャルであるため、非常に高速で、別のボリュームまたはネットワーク共有上の大きな.vhdファイルに結果を書き込みます。

欠点がいくつかあります。すべてのバックアップは完全バックアップであり、圧縮は行われません。また、ネットワーク共有にアクセスする場合、ターゲットフォルダーごとに1つの「イメージ」しか保存できません。後者はスクリプトで、前者は7-zip、rsync、または生ファイルを処理できる他のバックアップ/圧縮/重複排除ツールなどの他のツールで克服できます。

おそらく、このためにコマンドラインwbadminインターフェイスを使用することになります。GUIは無視してください。ほとんどのユースケースでは単純すぎます。


0

これが私たちがやったことです。

Windows 2008ストレージサーバーR2を搭載したNASを購入しました。実際には1つの大きなファイル(.vhd)であるISCSIターゲットを作成しました。ISCSIターゲットをマウントし、すべてのファイルを仮想ディスクに移動しました。

次に、バックアップソフトウェアでvhdをバックアップします。1つの大きなファイルをバックアップすることは、多くの小さなファイルよりもはるかに高速です。

NASにもバックアップソフトウェアをインストールし、テープドライブをこれに接続できます。そうすれば、二重ストレージを使用する必要がありません(データをミラーリングし、時間を購入するためにミラーリングされたデータをバックアップします)


制限は、そのシステムでのみフルバックアップ(増分ではなく)を実行できることです。
エール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.