仮想化のイメージを図解で解説
仮想マシンの構築や考え方

最近では仮想マシンを作成して、仮想環境を作るのが一般的になってきました。

会社の作業としても「仮想マシンで開発環境を構築して」といわれることも珍しくありません。

実際に今後、開発環境を仮想で作ることは多くなります。今自分の入る現場では20環境近くが仮想化されています。

そのマシンの仮想化について理解してますか?

どのような作業を行なって、どのような設定を行うかイメージがつきますか?

マシンの仮想化について、知らない人、わかっていない人、うまく説明できない人でも分かるように説明していきます。

マシンの仮想化とは?

1台のマシン上に複数台のマシンを作成する技術です。

簡単にいうと、使っているWindowsOS上で、複数個のWindowsを起動できるということです。

仮想化を実現するためには、仮想化ソフトウェア(Hyper-V、Virtual Box…)を使用します。

仮想化マシンを載せる物理マシンのことをホスト、物理マシン上に作成したマシンのことを仮想マシンのことをゲストと呼びます。

仮想マシンのスペックは、ホストのリソース(CPUのコア、メモリ、ストレージ)を割り当てて構築します。

仮想化のメリットとして、物理マシンを減らすことができるというのがあります。

まず、物理マシンを減らすことができるので電気代の節約になります。

また、また物理マシンが減ることで、本体を購入する費用が安価で済みます。
ただし、仮想マシンの台数が多くなると物理マシンのスペックが必要になってくるため高くなってしまう可能性があるため注意が必要です。

例として、ホストマシン上にゲストを3つ作成したイメージ図が下記になります。

マシンとしては1台(ホスト)しかないのですが、ゲスト(3台)があるためトータルとして4台のマシンを使用することができます。

ですが、ホストマシンには仮想管理アプリケーション以外を入れないのが一般的な考え方になります。
そのため、ホストのOSにはいろいろなアプリケーションを入れないように注意をしてください。
ゲストマシンを一般的なサーバのように使用してください。

仮想マシンの管理以外をさせることも可能ですが、ゲストマシンの動作が不安定になる可能性があります。

マシンの仮想化の仕組み

仮想マシンを作成する際には、ホスト機に仮想化ソフトウェアをインストールします。

仮想化ソフトウェアは一般的にWindowsであれば「Hyper-V」、Linux系であれば「Virtual Box」がよく使用されます。

この仮想化ソフトウェアで、それぞれの仮想マシンにホスト機のCPUのコアや、メモリ、ストレージの割り当てを行います。

この図だと、CPUの4コアをそれぞれの仮想マシン3台に振り分けます。
メモリ16GBやストレージ1TBも同様に、メモリ4GBとストレージ250GBに割り当てます。
ここでは分かりやすく4等分にしていますが、ここの割合は自由に設定を行うことができます。

ここで、ホストのリソースを割り当てる時の注意点があります。

①ホストが使用するリソースを考えること
②リソースを超えた値を設定をしないこと
③ネットワークカード(NIC)が共通であること

①については、仮想マシンを構築するときにゲストに割り振るリソースだけを考えがちですが、ホストのリソースを考えておかないとゲストマシンの動作が不安定になります。

また②については、リソースの割り振りは実際の値を超えて割り振ると動作が不安定になります。超えないように固定で割り振るか、または自動で必要な分を割り振ってくれる機能がついていたりするので、状況に応じて設定を行ってください。

最後に③について、ネットワークカード(NIC)をそれぞれに割り当てるようにホストにNICを4枚挿しているのであればいいのですが、通常は1つのNICを共有で使用します。ゲストの中に大容量ファイルのやりとりをするようなマシンがあれば、専用のNICを追加することを検討しなければいけません。

リソースの割り当て後、仮想化ソフト上にOSをインストールしてマシンを作成することになります。

ゲストのOSは、WindowsでもLinuxでもなんでも可能です。インストーラがあれば仮想マシンにインストールすることができます。

OSのインストールが完了すれば、あたかも普通のマシンがそこにあるかのように使用することができます。

普通のマシンと同じであるため当然リモートの許可をすれば、他のマシンからリモートで接続することもできます。

まとめ

以前はあまり仮想化はありませんでしたが、メモリやストレージの大容量化、CPUの多コア化が進み値段も安価になってきたため、一般的に使用されるようになってきました。

最近では開発環境や本番環境でも費用を削減になるため利用されています。

また、仮想化ソフトウェアの使用方法が簡単なため一度覚えてしまえば作れるようになります。

サーバOSのような特殊なOSがないとできないと思われがちですが、Windows10であればHyper-Vが標準で使用でき、Virtual Boxであれば、ほとんどのOSで使用することができます。
そのため、自宅でもすぐに仮想環境を作成することができます。

実際にやってみればイメージがつき操作も覚えられるので、一度、自分のマシンで入れてみることをお勧めします。