web-dev-qa-db-ja.com

Qcow2の画像が本来のサイズをはるかに超えて成長

私はubuntu12.04を使用していて、これを見ました: https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/1025244

私たちのqcow2イメージは、本来あるべきものをはるかに超えて成長しています... 20〜30 GBしかないはずなのに、600GBにまで成長するものもあります。

他のものはよりゆっくりと成長していますが、まだ成長しています...通常、最大10Gbであるはずの牛の画像は、現在20gb以上を示しています。これは非常識です!私が成長するということは、仮想サイズは最大10 GBである必要がありますが、qcow2ファイルのそれをはるかに超えて成長するということです。

Qemu-imgを使用してディスクをシンプロビジョニングしています

Virt-sparsifyを使用して未使用のスペースを再利用することで、これを一時的に解決できることを私は知っています。

画像が大きすぎて仮想化できない場合、すぐに大きな問題が発生します-スペースを取り戻すために画像を分割します(一時的なコピーには2倍のサイズが必要になるため)

マシンにはスナップショットがあります...

私の質問は次のとおりです。

  • これは、シンプロビジョニングされているためにのみ発生しますか?
  • それらを事前に割り当てると、これはなくなりますか?
  • どうすればこれを回避できますか?生に変更しますか?事前割り当て?
  • スペースを2倍にすることなく、そのスペースを再利用できる方法はありますか?
1
Onitlikesonic

いくつかのこと:

  1. スパースイメージを使用する場合、VMがデータをディスクに書き込むときにイメージが大きくなります。
  2. スナップショットは新しいスパースイメージであり、元のサイズと同じサイズに拡大できます。したがって、10Gbディスクを取得し、それを10Gbまで満たしてからスナップショットを作成すると、スナップショットも20Gbに拡張できます。長期的には、これは常に問題であり、本番環境でのスナップショットの理由の1つは決して良い考えではありません。
  3. qemu-imgを使用して画像を作成する場合は、コマンドで最大サイズを指定します。画像がそのサイズを超えて拡大できない場合は、拡大できないはずです。バグが発生しています。
  4. イメージの無秩序な増加を回避するには、スナップショット、特に長時間実行されるスナップショットを回避し、可能な場合は常に、事前に割り当てられた生のイメージに固執します。
2
dyasny