web-dev-qa-db-ja.com

なぜ人々はrsyncを使用してVMwareゲストをバックアップしないのですか?

最新のVMware ESXiシステムを実行している場合、静的にリンクされたrsyncバイナリとrsyncファイルをSSH経由で任意の宛先にドロップできます。

VMwareゲストのほとんど(すべて?)のバックアップがこのように行われない理由を理解しようとしています。

VMが実行されている場合は、 'vim-cmd vmsvc/snapshot.create'を使用してスナップショットを作成し、そのスナップショットをリモートホストにrsyncするだけです(「スナップショットの静止」

または、より堅牢なバックアップが必要な場合は、VMおよびrsyncをvmdkファイルに対して適切に停止できます。

だから...私は、私が今までやりたかったすべてのバックアップから離れて、単純なシェルスクリプトのように見えます。

ここで何が欠けていますか?

13
user227963
  • ESXiコンソールからの転送速度が意図的に制限されているためです。
  • これは、決してスケーラブルではないためです。
  • 静的にコンパイルされたrsyncバイナリをESXiホストにドロップする必要があるためです。
  • VM、VMDK、それらのramdiskファイル、およびその他のコンポーネントは、rsyncを失う命題にするのに十分に変化する可能性があるため...あなたはreally 200GBを再同期したい= VM再起動され、少数のファイルが変更されましたか?
  • ソースまたは宛先のCPU /メモリリソース要件のため。 Rsyncは無料ではありません。
  • 市場には他の製品もあるので、サードパーティとVMwareの両方が提供します。検索 Changed Block Tracking
  • ESXiは[〜#〜]]でないため[〜#〜]汎用オペレーティングシステムです。

以下も参照してください。 VMware ESX 4.1サーバーにrsyncをインストール

33
ewwhite

私は数年前にこれをやっていました。 (編集:確かにESXiではなくCentOSホストで実行されているVMWareを使用)

毎晩、VMを一時停止し、ファイルをディスクからバックアップサーバーにrsyncしてから、VMを再起動するスクリプトがありました。それ以外はかなりうまくいきました...

Rsyncは2GBファイルではうまく機能しません。

それはrsyncが素晴らしいわけではないからではなく、各2GB vmdkファイルがrsyncに対して非常に不透明な方法で変更されるだけでなく、囲まれたファイルシステムに小さな変更を加えても、私が非難したvmdk(または何らかの理由ですべてのvmdk)に変更が生じますWindowsでは、実際のシステムを実行している場合は問題になりませんが、VMをrsyncしようとすると表示されます。

変更を検出するためのrsyncメカニズムは2GBファイルではうまく機能しないと思いますが、vmdkの最初のチャンクをスキップすることがよくあります。違いを見つけ始めたら、ファイルの残りの部分をコピーするだけです。 rsyncがバイナリデータの移動されたチャンクを検出できないか、ソースボックスのメモリが不足しているのか、またはvmdkが完全に更新されているのか、それが問題かどうかはわかりません。結果は同じだったので問題ではありません-vmdkの大部分がコピーされました。

最後に、変更されたファイルをコピーして上書きしましたが、まだrsyncを使用しています。また、rsyncにコピーしてそこにあったものを置き換えるのではなく、バックアップファイルを上書きするだけでパフォーマンスが向上しました。

私たちのバックアップサーバーも最速ではなく、実行中のすべてのVMをバックアップするのに一晩では足りないほどになりました。

ただし、VMを復元する必要があった場合、それは本当に簡単で美しく機能しました。

4
gbjbaanb

単一ファイルのRsyncはバックアップソリューションではありません

vmに何かが起こり、ファイルが削除されたときに何をしますか?rsyncが再度実行された後にのみこれに気付きましたか?これで、ファイルの適切な「バックアップ」が不良なイメージで上書きされました。

バックアップが必要な場合は、古いバージョン、または差分をどこかに保持する必要があります。 Rsyncは差分をコピーするだけですが、差分のみを保存するのではなく、以前のファイルを上書きします。

ここには、rsyncを使用するオプションと、バージョン情報を含むコピーオンライトファイルシステムがあります。これにより、rsyncスクリプトが実行されるたびにdiffが保存されます。このソリューションはもう少し複雑になり始めています。そのため、人々は既知の実用的なソリューションである私見に頼っています。

2
Jens Timmerman

ESXiサーバーでRsyncを使用できない理由はありません。ここでは静的にコンパイルされたバージョンを提供しています https://33Hops.com/rsync-for-vmware-vsphere-esxi.html これは非常にうまく機能します。自分でコンパイルする方法についての情報もあります。

それでも、Rsyncとそのデルタアルゴリズムは、VMハードディスクなどの固定長のスパースファイルをバックアップすることは考えられていませんが、可変長の小さなファイルを同期することは考慮されていません。つまり、動作しますが、差分データを計算するのに多くの時間とCPUが必要です。実際、これはCPUによって帯域幅を交換する方法にすぎません。いずれにしても、特に仮想ディスクが数十ギガバイトのオーダー。

私はここでトピックに関する完全な投稿を公開し、すべての長所と短所を詳述しました https://33Hops.com/blog_xsibackup-rsync-considerations.html

0
Daniel J.