web-dev-qa-db-ja.com

Linuxサーバー上で小さいながらも一般的なqcow2ファイルをどのように作成しますか?

私はサーバーに少量のギガバイトを置き換えるqcow2ファイルがあると信じています(物理サーバーでdf -hを使用して確認済み)が、virt-manager VMとdf -hを発行します。このようなファイルをどのように作成しますか?VMが最大サイズに達し、物理サーバーがいっぱいになる可能性がある場合、または物理サーバーが問題にならない場合、物理サーバーはどのように問題がないことを認識しますか?

Truncateコマンドは小さなqcow2ファイルを作成しません。 Virtual Machine ManagerのGUIでは、GUIを介して「ハードウェア」を作成できます。 .qcow2ファイルを作成するこれらの方法はどちらも、最大サイズのファイルを作成します。

7
Catbird55

100MBの仮想ディスクサイズのqcow2イメージを作成するには、次のようにします。

qemu-img create -f qcow2 foobar.qcow2 100M

作成されたfoobar.qcow2は約200KBになります。

これを使用すると、ホストファイルシステムで非常に小さなスペースしかとらない非常に大きな仮想ディスクを簡単に作成できます。 100TBの仮想ディスクはホストで約2MBしかかかりませんが、ディスクがゲストで使用されている場合、ファイルはホストで増大します。これにより、最終的にホストファイルシステムがいっぱいになり、ゲストがまだ割り当てられていない場所にさらに書き込みを行うことができなくなります。ホスト上で実際に利用可能なゲストにより多くのリソースを割り当てることはthin provisioningと呼ばれます https://en.wikipedia.org/を参照) wiki/Thin_provisioning 詳細情報。

ディスクがシンプロビジョニングされているときに問題を回避する最も簡単な方法は、ホストシステムのディスク使用量を監視し(自動アラームが管理者に送信される)、ホストシステムのファイルシステムがいっぱいになる前にディスクスペースを追加することです。

18
Tuomas