VMware ESXi の Read-only 仕様以外に、厄介なのは容量固定ディスクと可変ディスクの仕様です。仮想化環境につきものの容量可変ディスクって何、というジャブ程度から、まず。

仮想ファイル … 使った分だけ確保か、パーティション全体を確保か

仮想ディスクでは、中身にどれだけファイルが入っていたとしても、親になるホスト OS やハイパーバイザーから見ると 1~数本の巨大なファイルとして格納しています。Hyper-V / Virtual Server では .vhd、VMware では .vmdk という拡張子になっています。

VMware vSphere Client: 4.0: データストア ブラウザ

例えば、仮想ディスクを全体で 127GB 確保して OS をインストールし、最初は 4.57GB しか使っていないとします。ちなみにこれは Virtual Server 2005 R2 上で作成した Windows Server 2003 の仮想ディスクの中身です。

Windows 2003: ディスク容量 127GB

このとき、最初から 127GB のサイズの巨大仮想ファイルを作ってしまうのが容量固定ディスク (Flat / Thick) ですが、バックアップするにも、稼働している VMware サーバに置いておくにもかさばって仕方がありません。

逆に仮想ファイルが今使っている 11.5GB 分の容量しか物理的に消費せず、今後中身が増えていくのに合わせて仮想ファイルも大きくしていくのが、容量可変ディスク (Thin) です。シンプロビジョニング (Thin Provisioning) とも呼ばれます。物理的な HDD 容量を削減するといった直接的な効果の他、バックアップコピーの時間が節約できる (=サーバのダウンタイムが減らせる) といったメリットが、個人的には大きいと思います。

なお容量固定ディスクも一応弁護しておくと、容量可変ディスク (thin) で仮想マシンが新しく容量をもりもり消費していくような使い方をすると、データの書き込み前に、オンデマンドで新たに容量を確保する必要があるため、オーバーヘッドになります。固定ディスクならそれがないため、若干速いというわけ。以上。

仮想化技術によらず固定 / 可変ディスクは選択可能

固定 / 可変ディスクは仮想化環境によって色々な名前で呼ばれています。

VMware Server 1.x の場合は、Add Hardware Wizard に “Allocate all disk space now” (チェックすると容量固定)。

VMware 1.x: Add Hardware Wizard: Specify Disk Capacity

Virtual Server 2005 R2 では「容量可変の拡張バーチャル ハード ディスク」です。

Virtual Server: バーチャルディスクの作成

ここでもサイズが 127GB となっているのにご注目。これは Virtual Server 2005 R2 で、IDE 接続の場合の 1ディスクあたりの最大容量でデフォルト値です。大は小を兼ねるだろう、というのでデフォのまま仮想ディスクを作成すると、だいたい max がこの容量になるというわけ。

VMware ESXi にもディスク フォーマットとしては zeroedthick (デフォルト), eagerzeroedthick, thick, thin, rdm, rdmp, raw, 2bsparse, monosparse, monoflat と多彩に用意されています。細かい説明は ESX Server 3i 構成ガイドに書いてあるとして、容量固定ディスクが zeroedthick、可変ディスクが thinです。

両方あるなら不自由ないんではという気がしますが、ここから先がごーまんかましてよかですか的な展開なのです。

つづく。