VMware の仮想ディスクでは以下の3種類からディスクのプロビジョニングの方法を選択することができます。
- シックプロビジョニング(Lazy zeroed)
仮想ディスク作成時に指定したサイズ分の領域を確保します。 - シックプロビジョニング(Eager zeroed)
仮想ディスク作成時に指定したサイズ分の領域を確保し、ゼロで初期化します。 - シンプロビジョニング
仮想ディスク作成時には最低限の領域のみ確保し、必要に応じて増加します。
VMware のドキュメントの31ページ目にディスクのタイプの説明が記載されています。
Performance Best Practices for VMware vSphere? 5.0
http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.0.pdf
仮想ディスクを作成する際にどれを選択したらいいかということになるのですが、 仮想環境の用途や仮想環境内のそのディスク(ドライブ)の用途によって選択する必要があります。
シックプロビジョニング | シンプロビジョニング | ||
---|---|---|---|
(Lazy zeroed) | (Eager zeroed) | ||
仮想ディスク作成時の領域確保 | 指定した容量の領域サイズを確保します。 | 必要最低限の領域のみ確保します。 | |
拡張時の領域確保 | 仮想ディスク作成時に指定した容量の領域サイズを確保しているのでディスクは拡張しません。 | 仮想環境でデータを保存するなど使用量が多くなったときに自動で拡張します。 | |
領域の初期化 | 最初に書き込みがあったときにゼロで初期化します。 | 領域を確保したときにゼロで初期化します。 容量に応じて作成時に時間がかかります。 | 最初に書き込みがあったときにゼロで初期化します。 |
ストレージの使用効率 | 普通 | 普通 | 良い |
パフォーマンス | 中 | 高 | 低 |
シンプロビジョニングにすると100GBで作成した仮想ディスクは仮想OS上では100GBのディスクとして認識されますが、 実際には20GBしか使用していない場合、ストレージ上は20GBしか消費しません。
例えばOS用にCドライブを80GB準備したいとします。
仮にOSをインストールしてWindows Update をして20GB程度になる場合、シックプロビジョニングであれば80GB消費しますが、シンプロビジョニングの場合は20GBしか消費しません。
仮想OSを10環境作った場合にはその差は600GBにもなります。
アプリケーションサーバーなどディスクの容量が頻繁に増加しない用途であればシンプロビジョニングで十分です。
上記比較表の「パフォーマンス」の欄の標記については相対的なものであり、「シンプロビジョニングにすると遅い」というものではありません。
シンプロビジョニングでオーバーヘッドになるのは仮想ディスクの拡張時と初回の書き込み時です。
仮想OS内でシンプロビジョニングのドライブに数GBの大きなファイルをコピーするなどした場合にはディスクの拡張と初期化、データのコピーが繰り返されるのでこの場合に遅くなりますが、それ以外はシックプロビジョニングと変わりません。
頻繁にデータが増え、そのオーバーヘッドが性能に影響する可能性があるデータベースサーバーなどの環境ではシックプロビジョニング(Eager zeroed)にするといいでしょう。