web-dev-qa-db-ja.com

ディスクイメージファイルを使用してdom0からXenゲストをバックアップする

多数のゲストがインストールされたXenサーバーdom0があり、dom0側からバックアップを管理する簡単な方法を見つけるのに苦労しています。

  • ゲストスクリプト:もちろん、各ゲストでバックアップスクリプトを実行することもできますが、管理の観点から、可能であればそれを避けたいと考えています。理想的には、ディスクイメージ自体をバックアップできるようにしたいのですが、これはconfigとともに、必要に応じて別のXen dom0に直接復元でき、特定のディレクトリのファイルバックアップも可能です。
  • / var/lib/libvirt/imagesのrsync:ドメインをシャットダウンして/ var/lib/libvirt/images /内のイメージファイルの単純なrsyncを試しましたが、問題があります-ディスクイメージはそれらでコピーしようとします利用可能なフルサイズ(拡張可能なサイズ)。つまり、これは、各画像が実際の約2.5Gbではなく250Gbでコピーしようとすることを意味します(たとえば、duで示される[使用済み]サイズではなく、ls -lで示されるサイズ)。

オンラインには多くのソリューションとスクリプトがありますが、これらはすべてかなり古く、LVMデバイスであるディスクに基づいているようで、/ dev/virtual/NAME-diskにあります。コピーしてマウントし、バックアップすることができます。 rsyncを使用します。これは私のシステムがどのように構成されているかではないようです。

可能であれば、解決策の可能性があると思います(理想的には、イメージファイルをバックアップし、VM)の特定のディレクトリのファイルレベルのバックアップも実行したいと思います。したがって、おそらくこれらの組み合わせ)。

  1. 画像ファイルの縮小:画像ファイルをコピーして、実際に使用されているスペースに縮小することはできますか?次に、これをrsyncして、一時ファイルを削除できます。
  2. 実際のサイズでコピー:画像ファイルを実際のサイズでコピーし、必要に応じて別のdom0でサイズ属性を再作成しますか?
  3. 画像ファイルのマウント:どういうわけか画像ファイルを直接マウントしますか?それをLVMイメージに変換する方法はあると思いますが、これが唯一の方法であるかどうかはわかりません(そして、ドメインゲストの通常の操作にイメージファイルを使用することに満足しています)。

事前に感謝し、それが十分に明確であることを願っています。

1
Dave

私にとって、ディスクイメージのバックアップはここでより理にかなっています。バックアップスクリプトの観点からは、VDIがファイルベースであるかLVMベースであるかは実際には問題ではなく、パスを変更するだけで同じ方法でバックアップできるはずです。ただし、LVMに移行すると、特に生の(VHDベースではない)VDIを使用している場合に、パフォーマンスが大幅に向上する可能性があります。

スパースファイル全体が毎回転送されないようにするには、スクリプトをさらに変更して、データをパッカー経由でパイプします(gzipが優れたソリューションです)。このように、フルサイズでVDIファイルを読み取る場合でも、コンパクトな出力が得られます。これはrsyncで実現するのが難しい場合があるため、他の手段を使用してデータをバックアップ場所に転送します(つまり、ssh シェルリダイレクトあり)。

ダウンタイムを減らすために、LVM SRの場合(イメージファイルでは不明)、スクリプトを拡張して、バックアップする前にVMのスナップショットを取得するようにすることもできます。スナップショットストレージからバックアップするため、VMの開始をブロックすることなく、一貫したデータを提供します。スナップショットの取得には通常、数秒かかります。スナップショットVDIをdom0にマウントして、個々のファイルをバックアップすることもできます。唯一の問題は、使用されているVHD形式です(ここでも、 LVMとraw VDIを使用 )。

1
sam_pan_mariusz