定義:仮想マシンとは何か
仮想マシン(VM)は、物理コンピュータ上で「仮想的なコンピュータ」を作り、その上でOSやアプリを動かす仕組みです。1台の物理サーバ(ホスト)に対して、複数の仮想マシン(ゲスト)を同時に動かせる場合があります。
ここで重要なのは、仮想マシンが“実機そのもの”ではなく、ソフトウェアがCPU・メモリ・ネットワーク・ストレージなどの振る舞いを間に入れて再現している点です。そのため、構成や負荷状況によって体感や性能が変わります。
仕組みの簡単なモデル
仮想マシンの動きは、概ね次の流れで捉えると理解しやすくなります。
- ホスト側で仮想化レイヤーが動作し、仮想マシンに割り当てる資源の枠を用意します。
- ゲストOSは、仮想的なハードウェア(仮想CPU、仮想メモリ、仮想ネットワークなど)としてOSが起動できる前提で動きます。
- ゲストが行う命令やI/Oは、仮想化レイヤーを通してホストの実リソースに反映されます。
この結果、複数のゲストが同じ物理CPUやメモリを共有することになります。共有は便利ですが、同時実行の増加や設定ミスがあると、待ち時間や応答遅延として表面化することがあります。
部品(構成要素)と関係
仮想マシンを考えるときは、次の要素の関係で整理するとズレにくいです。
- ゲストOS:仮想マシン内で動くOS。
- 仮想CPU:ゲストに見せる処理単位。割当数やスケジューリングの影響を受けます。
- 仮想メモリ:ゲストが使うメモリ領域。ホスト側の空きメモリが不足すると影響が出ます。
- 仮想ストレージ:ゲストが使うディスク領域。方式により性能特性が変わります。
- 仮想ネットワーク:ゲスト間通信や外部通信の経路。
加えて、仮想マシンの作成・起動・停止を行うための管理手段(ツールや設定)も重要です。ここは環境により異なるため、具体的な操作名は各自の利用環境の手順に合わせる必要があります(不確実性が残るため、断定は避けます)。
制限と注意点(どこで差が出るか)
仮想マシンは万能ではなく、次のような制限・注意点があります。
