
ゲストの作成時に事前割り当てされるのではなく、使用量に応じてゲストハードドライブを増やすことはできますか?
最大サイズを指定したり、サイズをまったく指定せずにゲストが必要なだけのHDDを消費するようにしたいと思います。
ゲストで管理が難しいと思います。特に、ゲストがハードドライブをフォーマットし、一定量の記憶領域が必要な場合(WindowsまたはMacOSゲストを考えてみてください)。
答え1
まさか。
最も近い方法は、VMにネットワーク経由でカーネルを起動させることです(例:PXEおよび/またはbootp / dhcpを使用する)。次に、VMホストシステムが提供する「ネットワーク」ファイルシステム(NFSv3やv4など)からrootfsをマウントします。一種の割当システムを組み合わせたものです。例えば
- 使用シェア- これは、特定のVMを特定のuidおよび/またはgidで実行することを意味します。
- NFS 共有は、専用の ZFS データセットを使用してサポートされます。 ZFSには、クォータ(このデータセットがプールで使用できる最大サイズ設定)と予約(このデータセットに予約されているディスク容量の最小サイズ割り当て)を管理するための独自のツールがあります。たとえば、参照してください。ZFSクォータと予約を設定する方法
NFSを介してルートファイルシステムと/ usr、 / var、およびその他のディレクトリをマウントすることにもさまざまな問題があります。これらの問題のうち、克服できない問題はありませんが、処理する必要があるPITAです。
さらに、ゲストがLinuxまたは他のUNIXシリーズオペレーティングシステムを実行している場合にのみ、実際に実行可能なオプションです。
生ファイル、qcow2ファイル、ディスクパーティション、LVMボリューム、ZFS zvols、または他のブロックデバイス(またはファイル/エミュレートされたブロックデバイス)を使用してVMに仮想「ディスク」を提供する方がはるかに簡単です。仮想マシンの「ディスク」サイズを増やすためのいくつかのステップですが、明確に定義された非常に単純なプロセスがあります。
- 基本ファイル、パーティション、LV、ZVOLなどのサイズを増やします。
- 余分なスペースがパーティションに割り当てられるように仮想ディスクを再分割します。
- パーティション内のすべての新しいスペースを使用するようにファイルシステムのサイズを変更します。
ステップ1は、プライマリストレージの性質によって異なります。たとえば、ZFS zvolのサイズ制限を増やすには、LVなどのサイズを拡張するために使用できるqcow2イメージファイルを増やすことができますzfs set volsize=10G pool/zvol
。qemu-img
lvextend
fdisk
ステップ2には、等のパーティション編集ツールを実行することが含まれます。gdisk
parted
(VMゲストの内部またはVMが終了している間にホストでこれを行うことができます)
ステップ3には、パーティションのフォーマットされたファイルシステム(resize2fs
ext2/3/4、xfs_grows
XFSなど)に適したツールを使用することが含まれます。これは通常、VMゲストで実行するのが最も簡単ですが、VMの実行中にホストシステムで行うこともできます。やめた。さて、NTFS-3Gntfsresize
Linuxでは、NTFSパーティションのサイズを変更するためのツールが含まれています。 Mac VMに似たものがあるかどうかはわかりませんが、Macの内部Mac VMを使用してサイズを変更できます。diskutil
答え2
はい、可能です。ゲストで実行されているオペレーティングシステムは重要ではありません。あなたがしなければならないのは、まれなqcow2イメージを提供することだけです。ほぼゼロサイズから始まり、定義された最大サイズまで大きくなります。ゲストOSがより多くのディスク容量を占めると自動的に大きくなりますが、ゲストOS内のファイルを削除しても、このサイトプロセスに関する他の質問で説明したように縮小されないことに注意してください。
基本ディスクイメージの拡張を可能にするために、PSゲストの内部にスペース管理は必要ありません。ゲストオペレーティングシステムがディスクブロッククレームを発行すると、qemu はホストのディスクを増やします。