web-dev-qa-db-ja.com

多数のファイルを処理する場合のLinux-> Linux用の最も効果的なバックアップソフトウェア

NASが2つあります。
私は一方を処理し、もう一方はバックアップとして使用されます。今設定しているので、遅いです。バックアップの実行には週間かかります。
7 TB、1,979,407ファイルの場合でも、特に両方のシステムがRAID-5であり、ネットワークがすべてギガビットであるため、これは少し奇妙に思えます。

私はrsyncのマニュアルページを掘り下げてきましたが、さまざまなトポロジの違いが何であるかを本当に理解していません。
現在、すべての処理はバックアップNASで実行されています。バックアップNASには、メインNASがSMBを介してローカルにマウントされています。SMBオーバーヘッドは、特に大量のファイルを処理するときに私を殺します。

私が必要としているのは、メインNASでrsyncをデーモンとしてセットアップし、ローカルのrsyncクライアントを実行してそれに接続することです。これにより、SMB-in-the-middleの問題全体を完全に回避できると思いますが。そこにあることに言及する以外に、rsyncにデーモンモードを使用する理由についての情報はほとんど見つかりません。

これが私の現在のrsyncコマンドラインです:
rsync -r -progress --delete /cifs/Thecus/ /mnt/Storage/

入力はありますか?これを行うためのより良い方法/ツールはありますか?

編集:
わかりました、追加の質問に対処します:
「メイン」NASは Thecus N77 です。SSHを提供する追加のモジュールがインストールされています hasrsyncですが、$ PATHにありません。また、再起動の間に持続する方法でローカル$ PATHを編集する方法がわかりません。
「バックアップ」NASはDIYの問題であり、 1.6Ghz Via Mobo with Adaptec Hardware RAIDカード =。フルデスクトップ環境でCentOS5を実行しています。これは、rsyncを実行しているハードウェアです(ギガビットは追加のPCIカードを介しています)。

さらに編集:OK、SSH経由のrsyncが機能するようになりました(ありがとう、lajuette!)。
コマンドラインを少し調整する必要がありました。argsを使用してrsyncを実行しています。
rsync -rum --inplace --progress --delete --rsync-path=/opt/bin/rsync [email protected]:/raid/data/Storage /mnt/Storage
(注:SELinuxを狂わせないために、所有権をローカルアカウントに変更したいので、特に-aは使用していません)

動作しているようです。どれくらいかかるかわかります。

3
Fake Name

あなたは正しいです:SMBは、多くのファイルに関してはひどく遅いです。

私は自分の音楽ライブラリを同期するために自分でrsyncを使用しています。

rsync -aum --delete /my/music/library/* 192.168.1.5:/backup/of/music/library/

そうすれば、rsyncにssh経由で同期するように指示します。ターゲットマシン(私の場合は192.168.1.5)で実行されているsshサーバーが必要であり、両方のマシンにrsyncがインストールされています。

オプションの場合の説明は次のとおりです。

  • -a:リストアイテムはすべてのファイルをアーカイブします(オプションrlptgoDを含む)
  • -u:既存のファイルを更新します。すでに配置されている場合は再度コピーしないでください
  • -m:空のdirsを削除します
  • --delete:ソースで削除されたターゲット上のファイルを削除します

フラグ-aを介して継承:

  • -r:サブディレクトリを介して再帰
  • -l:シンボリックリンクをシンボリックリンクとして保持
  • -p:権限を保持します
  • -t:変更時間を保持します
  • -g:グループを保持
  • -o:所有者を保持します
  • -D:デバイスと特別なファイルを保存します

これにより、NASが非常に高速に同期されます。試してみる場合は、結果を投稿してください。

3
lajuette

それでも問題が解決しない場合、またはこれを読んでいる他の人のために、次のrsyncオプションを調べることをお勧めします(非常に便利な-uのようにlajuetteによって言及されたものに加えて):
-z(圧縮:ネットワークがCPUよりもはるかに高速でない限り、時間を節約できる可能性がありますが、テストすることはできます)
-partial-dir = '。rsync-partial'(接続が切断され、7ギガバイトのムービーファイルを転送したばかりの場合は、再起動するのではなく、中断したところから続行できます。 -危険すぎるため、これと互換性のないインプレース)
-v(詳細モード-テスト/トラブルシューティングのみ)
-exclude-from = 'your-exclude-list-file'(バックアップファイル、システムファイル、サムネイル画像、一時/キャッシュファイル、特定のディレクトリなどがある場合は、バックアップする必要はありません。 upなど、オプションのワイルドカードを使用して除外ファイルにリストします。これにより、ボリュームが減少する可能性があります)

--deleteオプションは非常に危険であり、注意して使用する必要があります。誤って1つ以上のファイルを削除し、気付く前にバックアップを実行すると(たとえば、cronジョブを介して)、バックアップしたコピーが失われるためです。 、も。

PATH変数は$ HOME/.profileファイルで設定/変更する必要があります。これは、ログインするたびに実行されます。

それとは別に、私は最初にボトルネックを見つけようとするというマットビアンコの提案を2番目にしています。

お役に立てれば。

1
Thomas

デーモンとして実行されているrsyncはセキュリティで保護されていないため、実際には、パブリックにアクセスできるようにしたいストアでのみ役立ちます。これを行う方法は、sshをNASで動作させて、nas-device:/path/to/storageに直接rsyncできるようにし、そこからssh設定を微調整して最適化することです。

これらはどのようなNAS:esですか?組み込みCPUでrsyncを実行していますか?ここでボトルネックになっているのはおそらくCPUです。
NAS:esの内部ファイルシステムを知っていますか?同じディレクトリに何百万ものファイルがありますか?

両方のNAS:esからのギガビットネットワークがあり、両方をLinuxボックスにマウントしている場合(smbmountまたはNFSを使用)すべきではありませんrsyncと同期するのはそれほど遅いと思いますあなたのように、大量のデータを同期するための最良のオプション。ボトルネックが最初にどこにあるかを把握してみてください。そうすれば、より良い解決策を見つけるのがはるかに簡単になります。

0
MattBianco

ハードリンクを使用してスペース効率の高いポイントインタイムバックアップを作成することについて知っていますか?

これについての記事があります。 http://www.mikerubel.org/computers/rsync_snapshots/

Rsyncを使用しているので、すでに途中ですが、既存のシステムに追加すると便利な場合があります。

基本的に、ソースデータのコピーを多数保存できます。それぞれが完全なディレクトリ構造のように見えますが、バージョン間で変更されないファイルは、ディスク上の同じiノードを共有します。最も簡単な解決策は、上記で概説したように、-link-destパラメーターを指定してrsyncを使用することですが、この手法は、次のような他のバックアップソフトウェアにも実装されています。

  • backuppc :: backuppc.sourceforge.net
  • バックインタイム:: backintime.le-web.org
  • rsnapshot :: rsnapshot.org(これを個人的に使用したことはありません)
0
Tullis