ホスト型とハイパーバイザー型の違いは何?VMware vSphere Hypervisor の概要
1.2. ESXi におけるリソースの管理
それでは、ハイパーバイザーのESXiが効率よく仮想マシンを稼働させるためにどのようにリソースの管理を行っているのか見ていきましょう。
CPU
ESXi でのCPU割り当て方法の考え方としては、まず仮想マシンのCPUをvCPUという単位で分けます。vCPUの全体数が物理CPUコア数より少ないときは、基本的にはvCPUを空いている物理CPUコアに割り当てるように制御していきます。
vCPUの数が物理CPUコア数を超えたとき、物理CPUコアのリソースを細かな時間単位に分割し、vCPUにリソースを割り当てるようスケジューリングします。スケジューリングは各仮想マシンの負荷状況によって可変し、CPUリソースの消費が少ない仮想マシンには割り当てるリソース量が少なくなります。
メモリ
ESXi では、仮想マシンに設定したメモリサイズをフルに割り当てず常に必要な分だけ物理メモリから割り当てられます。例えば、メモリサイズ1GBの仮想マシンでゲストOSを起動したときのメモリ消費量が400MBであった場合、 ESXi は1GBではなく実際の消費量400MBに応じて適切なサイズを仮想マシンへ割り当てます。
複数の仮想マシンがメモリを消費しあい物理メモリが少なくなったとき、ESXi はゲストOS上のバルーンドライバー(VMware Toolsをインストールすることで組み込まれます)を通じて、ゲストOS上でメモリの解放を行います。このようにしてメモリの管理はデフォルトのままでも ESXi が自動的に柔軟な対応を行ってくれます。
さらに限界に近づくと、ESXiはメモリ圧縮やESXi上でのスワップなどを行い空き領域を増やそうと試みます。ただし、これらの機能はパフォーマンスの劣化につながりますので、過信せず余裕を持って容量を見積もるようにしましょう。
ディスク
ESXi で使用できる仮想ディスク形式には大きくシックディスクとシンプロビジョニングの2つがあります。
シックディスクは指定したサイズをあらかじめ確保します。例として仮想ディスク作成時にサイズを1TBと指定したとき、実際の使用量が100GBであっても物理ディスク上では1TBを消費します。仮想マシン内での使用量が少なくても物理領域を消費するため無駄が生じやすいですが、物理ディスクの空き容量不足による障害が起きにくいというメリットがあります。
なお、シックディスクには LazyZeroed と EagerZeroed の2種類があります。違いは仮想ディスクとして割り当てた領域を「0」で塗りつぶすかつぶさないかの違いで、Windows での通常フォーマットとクイックフォーマットの関係に似ています。
シンプロビジョニングは仮想ディスク作成の段階では領域確保は行わず、必要に応じて順次拡張していく方式です。こちらも例として仮想ディスク作成時に1TBを指定したとき、実際の消費量が100GBであれば物理ディスクで消費されるディスクもおよそ100GBとなります。こちらの方式では仮想マシン内で使用されていなければ領域確保を行わないため、効率よく物理ディスクを使用することができます。
また、構築時は多めに割り当てておき足りなくなったら後からディスクを増設するといった運用も行うことも可能です。ただし、読み書きの激しいアプリケーションを利用する場合、ディスクの断片化により若干のパフォーマンス低下が発生する場合があります。
1.3. 無償版と有償版の違い
有償版である vSphere 5 では、複数の ESXi を一元管理できる vCenter、仮想マシンを定期的にバックアップできるData Recovery、ゲストOSを起動したまま他のESXiへ移行できる vMotion 等、複数台で運用するときに有利となる様々な機能が利用できるようになります。
なお、有償版には複数のエディションが用意されています。詳細は以下のサイトをご確認ください。
→ VMware vSphere(vmware)
1.4. ESXi のドキュメント
VMware社では、ESXiの製品ドキュメントを無償で公開されており、下記のサイトよりPDFをダウンロードすることができます。
→ VMware の主なドキュメント セット(vmware)
次回は実際に仮想マシンを作成してみたいと思います。お楽しみに。