この記事では、VMWareから見たストレージの仮想化について、実際のストレージをどのように仮想マシンに提供するのかを概念的に説明します。
物理ハードディスクの集約
複数の物理的なハードディスク(HDD)をRAIDを使用して、1つのディスクに見せることができます。 RAIDに関しては、以下の記事を参考にしてください。
>> 参考記事 : 【初心者・わかりやすく】RAIDシステムの種類例えば、1TBのHDD×5つをRAID5で構成したとします。すると、4TBのHDD×1つに見せることができます。
LUN(Logical Unit Number)
上の論理ディスク(4TBのHDD1つ)をLUNという論理ボリュームに分割します。LUNは、LANスイッチでいうVLANのようなもので、論理ディスクを複数のディスクがあるように論理的に分割します。
例えば、4TBの論理ディスクを 3つのLUNに分割したとします。1つのLUNのサイズを500GBとします。
LUNへの接続
ESXiホストから、ストレージへ接続します。iSCSIやFC-SANなどを経由してSCSIコマンドで接続します。これらの接続により、ESXiは、論理ディスク上のLUN情報を取得します。
FC-SANについては、以下の記事を参考にしてください。
>> 参考記事 : 【VMWare ESXi】図解 ファイバーチャネル SAN (FC-SAN)の概要データストア
データストア作成
ESXiホストは、LUNに対して、ESXiホストが読み書きできるVMFS形式にフォーマットします。VMFSでフォーマットされた領域は、ESXiから読み書きができるようになり、この領域をデータストアといいます。
データストアへのISOファイルの保存
仮想マシンを作成するためのISOファイルなどをデータストアに保存します。データストアはESXiからしか読み書きできませんので、ISOファイルもESXiを経由してアップロードします。
例えば、Windowsサーバをインストールする場合は、Windows用のISOファイルを保存しておきます。
仮想マシンの作成
仮想マシンを作成します。仮想マシンを作成する際に、ESXiで、どのデータストアで仮想マシンを稼働させるのか選択します。また、初期インストール時は、ISOファイルをマウントし、起動するようにします。
仮想マシンを作成すると、データストアに仮想ディスクが作成されます。
仮想ディスク
仮想マシンがインストールされると、データストアに仮想ディスク(Virtual Machine Disk Format (VMDK)ファイル)が作成されます。これが、仮想マシンの実体です。仮想”ディスク”という名前ですが、実際はファイルです。
仮想ディスクを作成(プロビジョニング)する際に、2つのタイプ(シンプロビジョニング、シックプロビジョニング)があります。
シンプロビジョニング
一般的な仮想ディスクのプロビジョニング方式で、使用されているディスク容量分のサイズだけしか仮想ディスクファイルの容量は消費しません。そのため、ストレージの容量を効率的に運用することができます。
例えば、仮想ディスクをシンプロビジョニングで100GB作成し、実際のデータは50GBしかないとします。この場合、データストア上で実際に消費される容量は50GBだけです。
シックプロブジョニング
実際に、使用されているディスク容量分のサイズによらず、プロビジョニングの際に構成したサイズを仮想ディスクのサイズとして、常に割り当てられます。
例えば、仮想ディスクをシンプロビジョニングで100GB作成し、実際のデータは50GBしかないとします。この場合でもデータストア上で実際に消費される容量は100GBです。
シックプロブジョニングの場合、データを書き込む前にディスクの初期化(ゼロを書き込み初期化)を行いますが、どのタイミングで初期化をするのかにより、Eager Zeroed とLazy Zeroedの2タイプのいずれかを選択します。
- Eager Zeroed :仮想ディスク作成時に初期化します。そのため、仮想ディスク作成時に時間を要します。ただし、これ以降に初期化を行う必要がないため、パフォーマンスの向上が見込まれます。
- Lazy Zeroed:仮想ディスクへデータを書き込む際に、初期化をします。仮想ディスク作成時に初期化をしないため、短時間での作成ができます。ただし、データ書き込み時に初期化が必要のため、Eager Zeroedと比べ、パフォーマンスが低下します。
コメント