読む前にこの記事のポイントを音声で確認できます。この音声は本記事をもとにAIツール(NotebookLM)で自動生成したもので、発音や言い回しが不自然な箇所や、内容の誤りが含まれる可能性があります。理解の補助としてご利用ください。
この記事では、VMware ESXi から見たストレージの仮想化について、物理的なストレージがどのような段階を経て仮想マシンのディスクになるのかを、図で順番に説明します。
- 物理ディスク → RAID → LUN → データストアの流れ
- データストアと仮想ディスク(VMDK)の関係
- シンプロビジョニングとシックプロビジョニングの違い
物理ハードディスクの集約
複数の物理的なハードディスク(HDD)を RAID で構成すると、1つの論理ディスクとして見せることができます。RAID については、次の記事を参考にしてください。
>> 参考記事:【初心者・わかりやすく】RAIDシステムの種類
たとえば、1TB の HDD を5台使って RAID 5 を構成したとします。RAID 5 では1台分の容量がパリティに使われるので、4TB の論理ディスク1つとして見えます。
LUN(Logical Unit Number)
この論理ディスク(4TB)から、LUN という論理的な単位を切り出してホストに提供します。1つの物理的なものを論理的に複数に分けて使う点では、LAN スイッチの VLAN に似ています。
たとえば、4TB の論理ディスクから、500GB の LUN を3つ切り出したとします。残りの領域は、まだどの LUN にも割り当てていない状態です。
LUNへの接続
ESXi ホストから、ストレージに接続します。ESXi はストレージアダプタ(FC の HBA や iSCSI アダプタなど)を使い、iSCSI や FC-SAN を経由して SCSI コマンドでストレージにアクセスします。この接続によって、ESXi はストレージ上の LUN の情報を取得します。
FC-SAN については、次の記事を参考にしてください。
>> 参考記事:【VMware ESXi】図解 ファイバーチャネル SAN (FC-SAN)の概要
データストア
データストア作成
ESXi ホストは、LUN を ESXi が読み書きできる VMFS(vSphere Virtual Machine File System)形式でフォーマットします。VMFS でフォーマットした領域は ESXi から読み書きできるようになり、これをデータストアといいます。
VMFS は、iSCSI や FC などのブロックストレージ上に作るデータストアの形式です。データストアにはほかに、NAS のファイル共有を NFS でマウントする NFS データストア、ホストのローカルディスクをまとめる vSAN データストア、vVols(Virtual Volumes)データストアがあります。NFS データストアは VMFS でフォーマットせず、NAS 側のファイルシステムをそのまま使います。
データストアへのISOファイルの保存
仮想マシンを作成するための ISO ファイルなどを、データストアに保存します。VMFS のデータストアは ESXi が管理しているので、ISO ファイルも vSphere Client などから ESXi を経由してアップロードします。
たとえば、Windows Server をインストールする場合は、Windows Server の ISO ファイルを保存しておきます。
仮想マシンの作成
仮想マシンを作成します。作成するときに、仮想マシンをどのデータストアに置くかを選びます。また、OS をインストールするために、ISO ファイルを仮想マシンの CD/DVD ドライブにマウントし、そこから起動するようにします。
仮想マシンを作成すると、データストアに仮想ディスクが作られます。
仮想ディスク
仮想マシンを作成すると、データストアに仮想ディスク(VMDK:Virtual Machine Disk)ファイルが作られます。仮想マシンにインストールした OS やデータは、このファイルに保存されます。仮想「ディスク」という名前ですが、実体はデータストア上のファイルです。
仮想ディスクを作成(プロビジョニング)するときは、シンプロビジョニングとシックプロビジョニングのどちらかを選びます。
シンプロビジョニング
実際に書き込まれたデータの分だけ、データストアの容量を使う方式です。ストレージの容量を効率よく使えます。
たとえば、シンプロビジョニングで 100GB の仮想ディスクを作成し、実際のデータが 50GB しかない場合、データストア上で消費される容量は 50GB だけです。
シンプロビジョニングでは、データストアの実際の容量より大きい仮想ディスクを作れます(オーバーコミット)。仮想マシンのデータが増えてデータストアの空きがなくなると、書き込みができなくなるので、データストアの使用量を監視しておく必要があります。
シックプロビジョニング
実際に使っている容量に関係なく、作成時に指定したサイズの領域を最初から確保する方式です。
たとえば、シックプロビジョニングで 100GB の仮想ディスクを作成し、実際のデータが 50GB しかない場合でも、データストア上で消費される容量は 100GB です。
シックプロビジョニングでは、確保した領域を 0 で初期化(ゼロ埋め)します。どのタイミングで初期化するかによって、Eager Zeroed と Lazy Zeroed のどちらかを選びます。
| 形式 | 初期化のタイミング | 特徴 |
|---|---|---|
| Eager Zeroed | 仮想ディスクの作成時に、すべて 0 で初期化する | 作成に時間がかかるが、あとから初期化する必要がないので、最初の書き込みが速い。Fault Tolerance などのクラスタリング機能で使う |
| Lazy Zeroed | データを初めて書き込むときに、その領域を 0 で初期化する | 作成は短時間で終わるが、最初の書き込み時に初期化が入るので、Eager Zeroed より書き込みが遅くなることがある |
シック(Lazy Zeroed/Eager Zeroed)とシンは、VMFS のデータストアと、ハードウェアアクセラレーションに対応した NFS データストアで選べます。ハードウェアアクセラレーションに対応していない NFS データストアでは、シンだけが使えます。
まとめ
| 段階 | ポイント |
|---|---|
| RAID | 複数の物理ディスクを1つの論理ディスクにまとめる |
| LUN | 論理ディスクから切り出して、ホストに見せる単位 |
| データストア | ESXi が LUN を VMFS でフォーマットした領域 |
| 仮想ディスク | データストア上の VMDK ファイル。仮想マシンの OS やデータが入る |
| シン | 書き込んだ分だけ容量を使う。空き容量の監視が必要 |
| シック | 最初から全容量を確保する。Eager Zeroed は作成時、Lazy Zeroed は書き込み時に初期化 |
コメント