「仮想化」について調べると、「仮想マシン」や「ゲストOS」、「ホストOS」など多くの専門用語も一緒に出てきます。そのため余計にわからなくなることはありませんか。この記事ではそれらの用語をあらためて図解し、わかりやすく解説しています。「仮想化」技術にはいくつかの種類があり、進化しています。より新しく利用しやすい「HCI」という新しいサービスについても紹介しています。
目次
仮想化とは?仮想マシンがなぜ必要?
そもそも「仮想」とは現実ではない想像上の何か、なのでしょうか。意味が漠然としているため、何ができるか思い浮かべることが難しいと思いませんか。
仮想化とは
ITに関連する技術では多くの分野で導入されています。こちらの記事では、サーバー機器の場合で説明します。仮想化を一言でいうと、目に見える1台のサーバー機器を、あたかも複数の機器があるように分割して利用できるようにした技術です。見た目(物理的)には1台でも、実際には複数の機器として同時に動かすことができます。これで1台のサーバーをより効率的に使い回すことできるようになりました。
カゴヤのサーバー研究室では、別の記事でサーバーの仮想化について詳しく解説しています。あわせてお読みください。
サーバーの仮想化とは?仕組み、メリット・デメリットをわかりやすく解説します
近頃よく聞かれる、「サーバーの仮想化」という言葉。サーバーの仮想化を導入することで容易にビジネスの変化に対応できるだけでなく、サーバー台数の減少によるコスト低減やスペースの確保が見込まれます。この記事では、そもそも仮想化ってどういうこと?メリットやデメリットは?という疑問について、わかりやすく解説します。 サーバー仮想化とは 物理的な1台のサーバー上で、複数の仮想的なサーバー(仮想サーバー)を運用…
仮想マシンとは
仮想化の技術を使い、物理的なサーバー機器(マシン)上で「仮想」的に動かす別のマシンのことです。バーチャルマシン(Virtual Machine)、略してVMとも呼ばれています。けっして想像上の機器などではなく、実在の機器と同じように動いています。
仮想マシン導入のメリットとデメリット
(1)メリット
- 稼働コストを削減できる(仮想化して複数の用途に使用することで物理サーバーを有効活用ができ、追加コストを節約できる)
- 利用したいサーバー数の増減がしやすい(必要なときに必要なだけ利用できる)
- 複数台の物理サーバーにまたがる構成で仮想化することで、物理サーバー障害時でも残ったサーバーで稼働できる(可用性の向上)
(2)デメリット
- 物理的なサーバー機器(物理マシン)の性能に制約される(仮想マシンすべての性能の合計は、物理マシンを超えることができない)
- 障害の対応が増える場合がある(物理マシンに原因がある場合など)
- 専門技術の学習コストがかかる(仮想化技術を学習するコストまたは技術者のコスト)
ホストOSやゲストOSとは
パーティーでは、ホストは会場を用意してお客さんを招待する側、ゲストは招待される側の意味で使われています。この関係を仮想化に当てはめるとわかりやすいでしょう。
パーティーの場合 | サーバーマシンの場合 | OSの機能 | |
---|---|---|---|
ホストOS | 招く側 | おおもとのマシン | ゲストOSのために機能や場所を提供する |
ゲストOS | 招かれる側 | おおもとのマシン上で動く仮想マシン | ホストOSとは異なるOS、バージョンで動作が可能 |
仮想化ソフトウェアの分類と概要
仮想化する方法は一つではなく、種類がありそれぞれ改良されています。より効率的で、シンプルな考え方で改善されています。その中から主要な仮想化ソフトウェアを紹介しましょう。WindowsやMac OS Xで利用可能なものもあり、慣れた画面で直感的に操作ができますね。
ホストOS型
ホストOSに仮想化専用のソフトウェアをインストールし、ゲストOSが動く仮想マシンを作成します。
ホストOSにはLinux ばかりでなく、WindowsやMac OS Xも利用可能です。ホストOS型の仮想化ソフトウェアには、「Oracle VM VirtualBox」「VMware Workstation Player」などがあります。仮想化ソフトウェアは、個人利用や教育目的には多くの場合無償で利用可能です。
主なメリットとデメリット
(1)主なメリット
- 直観的に操作できるので手軽に試すことができる
- 複数のOSに対応し、ホストOSとゲストOSの組み合わせがある程度できる
(2)主なデメリット
- 同時に動作させる機能が多くなり、処理速度の高速化は難しい
- ホストOSにトラブルがあるとゲストOSに影響しやすい
主な仮想化ソフトウェア
(a)Oracle VM VirtualBox
(画像はOracle VM VirtualBox公式サイトより引用)
URL | https://www.virtualbox.org/ https://www.oracle.com/jp/virtualization/technologies/vm/downloads/virtualbox-downloads.html |
---|---|
開発元 | Oracle |
(b)VMware Workstation Player(旧称 VMware Player)
(画像はVMware Workstation Player公式サイトより引用)
仮想マシンへの接続方法
それではゲストOSが動いている仮想マシンには、インターネットなど外部からどのように接続するのでしょうか。主な方法として以下2つの方法をご紹介します。
(A)ブリッジ接続
外部からは、物理マシンと仮想マシンが並んでいるように見えます。そのためIPアドレスでは、仮想マシンと物理マシンは同じ範囲となり、外部から接続しやすくなっています。
(B)NAT(ネットワークアドレス変換)接続
外部からは、仮想マシンは物理マシンに隠れているため見えません。物理マシンを経由することでIPアドレスが変換され、仮想マシンにつながるようなイメージです。
ハイパーバイザー型
仮想化ソフトウェアとして「ハイパーバイザー」が動いています。ホストOS型との違いはホストOS自体が不要の点で、他の機能はだいたい共通です。「ハイパーバイザー」という用語には、OSや管理者を示すスーパーバイザーより、さらにハイパー(すごい)な意味が含まれています。ハイパーバイザー型の仮想化ソフトウェアには、「VMware ESXi」「KVM」「Microsoft Hyper-V」などがあります。
主なメリットとデメリット
(1)主なメリット
- ホストOSを動かさない分、処理速度が上がる
(2)主なデメリット
- 既存の物理マシンがハイパーバイザーと互換性がない場合、あらたに物理マシンを購入する必要がありコストがかかる
主な仮想化ソフトウェア
(a)VMware ESXi
(画像はVMware vSphere のドキュメントより引用)
(b)KVM
(画像はカゴヤのサーバー研究室 【図解】Linux KVMの仕組みとは?より引用)
URL | https://www.linux-kvm.org/page/Main_Page |
---|---|
開発元 | Red Hat |
カゴヤのサーバー研究室では、KVMについて下記の記事で詳しく解説しています。
KVMとは、Linuxに最適化された仮想化技術の一つです。この記事ではKVMの基本的な仕組みを整理したあと、KVMを実際に動かす方法を解説しています。 最初にホストOS(今回はUbuntu)にKVMを設定します。次に、ホストOS上に仮想マシン(今回はUbuntu機とWindows機の2台)を構築していきます。ホストOSのUbuntuにはデスクトップ環境を導入して、できる限りやさしく解説していきます…
(c)Microsoft Hyper-V(旧Windows Virtual PC)
(画像はWindows 10 の Hyper-V の概要 公式サイトより引用)
URL | https://docs.microsoft.com/ja-jp/virtualization/ |
---|---|
開発元 | Microsoft |
(注)Windows 10 Homeへのインストールや利用は不可
コンテナ型
ホストOS型やハイパーバイザー型と違い、コンテナ型には仮想マシンやのゲストOSがありません。代わりに「コンテナ」と呼ばれる仕組みを導入します。仮想化ソフトウェアとしてコンテナエンジンをインストールし、その上に「コンテナ」という容器をつくります。代表的なコンテナエンジンとして「Docker」が有名です。
コンテナをより理解するために、カゴヤのサーバー研究室では以下の記事も公開しています。
日常生活でコンテナは知っていても、IT業界のそれとどう関連するのかわからない方に向けに、この記事であらためて解説しています。もともとコンテナが使われてきたのは貿易業界で、そこでの意味もご紹介しています。これで、なぜコンテナが「技術」として大切かご理解いただけると考えています。キーワードは「整理整頓」と「効率化」です。 貿易業界の「コンテナ」とは? まずは貿易業界で使われている「コンテナ」についてご…
主なメリットとデメリット
(1)主なメリット
- 動作が軽量
- 移動しやすい
(2)主なデメリット
- 学習コストがかかる
- 操作が難しい印象がある
より新しい仮想化関連サービス
2018年頃より、「ハイパーコンバージドインフラストラクチャ(HCI)」と呼ばれるより新しいサービスが始まっています。仮想化によって増えた管理作業がHCIで整理され、管理業務の効率化が進んでいます。
HCIの理解のため、カゴヤのサーバー研究室では以下の記事を公開しています。
【図解】HCI(Hyper-Converged Infrastructure)とは?わかりやすく解説
HCI(Hyper-Converged Infrastructure)とは、シンプルな構成でサーバーの仮想化を実現する製品の種類です。従来のサーバー仮想化は構成が複雑で、手が出せない企業も少なくありませんでした。そうした中で登場したHCIは、サーバー仮想化を今までより簡単に実現できる手段として注目を集めています。 それではHCIとは具体的にどのような技術で、これまでのサーバー仮想化と何が違うのでし…
HCIの導入に対応するため、カゴヤ・ジャパンは2種類のサービスを用意しています。詳細は以下のページをご覧ください。
【関連リンク】HCIサービス
https://www.kagoya.jp/cloud/hci/
まとめ
「仮想化」全般についてより理解できるよう、種類や考え方を整理しました。カゴヤ・ジャパンでは、「仮想化」に関連して次のようなサービスを提供しています。
仮想化ソフトウェア | カゴヤ・ジャパンが対応するサービス |
---|---|
VMware ESXi | FLEXクラウドサーバー |
KVM | VPS |
Docker | VPS Dockerテンプレート |
また仮想化ソフトウェアの初期構築の代行など、豊富なオプションも取り揃えています。ご検討してみてはいかがでしょうか。