仮想化・仮想サーバーについての覚書。
仮想化 (Virtualization) とは
仮想化とは、物理的な環境にとらわれることなく、ハードウェアに含まれるCPU、メモリなどのリソースを倫理的に分割・統合する技術のことで、サーバ仮想化、ストレージ仮想化、ネットワーク仮想化……など、いくつかの種類がある。
仮想マシン (Virtual Machine, VM) とは
仮想マシンとは、仮想化の一つ、「サーバ仮想化」の事で、1台のコンピューターで複数のコンピューターを動かす技術のこと。
1つのサーバを分割して、複数サーバがあるように動作させる事ができる。
仮想マシンのそれぞれに違うOSを起動させる事ができるので、WindowsのPCでLinuxのOSを動かすなども可能。
ホストOSとゲストOS
ホストOSとは、仮想マシンに置いてベースとなるコンピューターに搭載されているOSの事。
ゲストOSとは、仮想マシン環境にインストールして稼働するOSの事。
例えば、WindowsのPCに仮想マシンでLinuxを動かす時は、WindowsがホストOS、LinuxがゲストOSとなる。
仮想マシンのメリットとデメリット
仮想マシンを使うメリット
コスト削減
仮想マシンを活用することで、物理的なパソコンやサーバなどのハードウェアが不要。
機器の追加購入やメンテナンスの維持費などのコストも押さえられる。
大きな仮想マシン1台で複数のシステムを稼働させられるため、物理的なハードウェアの台数を削減することができる。
セキュリティ面で安心
1台のコンピューターに1台のOSだと、万が一、セキュリティホールと突破された場合、全て乗っ取られてしまう危険性があるが、仮想マシンにしておけばそのリスクを分散させることができる。
ただし、ホストOSもゲストOSも万全のセキュリティ対策をしておく必要がある。
複数のOSで確認できる
Windowsでうまく work しても、Mac や Linux では work しないこともある。
この場合、仮想マシンを利用して、複数のOSで動作確認することができる。
仮想マシンを使うデメリット
物理環境よりも性能が劣る
元のホストOSの物理環境よりも性能が劣る事がある。
特に、1台の物理マシンで複数の仮想マシンを実行すると、パフォーマンスが不安定になることがある。
技術がいる
仮想化の知識や技術を必要とする。
仮想マシンの種類
仮想マシンには、主にホスト型、ハイパーバイザー型の2種類の他、最近、コンテナ型と呼ばれる仮想化システムも躍進中。
ホスト型仮想マシン
物理マシンにOSをインストールし、その上に仮想ソフトウェアとなるアプリケーションをインストールして仮想マシンを実現させる。
既に利用しているPCやサーバーにも簡単にインストールできるため、導入しやすい。
ホスト型仮想マシンの例
- VMware Workstation Player
- VMware Fusion
- Microsoft Virtual PC
- Oracle VM Virtualbox
ハイパーバイザー型仮想マシン (ベアメタル型)
仮想化のためのOSのようなもので、サーバにインストールし、そのOSのの上で仮想マシンを稼働させる。
ホストのOSが不要で、直接サーバーにソフトウェアをインストールして仮想マシンを実現させるため、処理速度低下を最小限に抑えられる。
現在、ホスト型VMよりもハイパーバイザー型VMの方が主流。
仮想マシンリソースはホスト・オペレーティングシステムに対してスケジューリングされ、ハードウェアに対して実行される。
ハイパーバイザー型仮想マシンの例
- VMware vSphere ESXi
- Citrix XenServer
- Microsoft Hyper-V
- Linux KVM
- Red Hat Enterprise Virtualization(RHEV)
コンテナ型
ホストOSにコンテナエンジンと呼ばれる仮想化ソフトウェアをインストールし、その上にコンテナを置くことで、複数のアプリケーションを同じOS上で動かす。
コンテナの中で各ユーザーのアプリケーションが独立して動作するため、仮想サーバーというよりは、隔離された別々のアプリケーション実行環境というイメージで、ホスト型やハイパーバイザー型とは全く異なる概念。
アプリケーションやソフトウェアを実行環境と共にコンテナイメージとして包括することから、コンテナ型と呼ばれる。
1つのOSで稼働するので、プロセッサやメモリの消費が少なく、ストレージの使用もわずか。
コンテナイメージやソフトウェアそのものが軽量で、立ち上がりが速い。
コンテナ型仮想マシンの例
- Docker
- Kubernetes
3つの仮想マシン比較
仮想マシン | メリット | デメリット |
---|---|---|
ホスト型 |
|
|
ハイパーバイザー型 |
|
|
コンテナ型 |
|
|
References
今回は、近年よく見聞きする「仮想化」「仮想マシン」の基礎知識と特徴についてご紹介します。 今の時代のビジネスマンなら知っておきたいものですので、今さら聞くのは恥ずかしい!と思った方は、早速目をとおしてみてください。
仮想マシンとは、ソフトウェアを使って1台のコンピューター内に疑似的に再現したコンピューターを作る技術のことです。仮想マシンという言葉は、近年様々な場所で使われており、聞いたことはあっても意味は良く分からないという人も多いのではないでしょうか。インターネットが普及し、パソコンやスマートフォンの利用が当たり前となった現在だからこそ、仮想マシンについても理解しておきたいところです。この記事では、仮想マシンとは一体なんなのか、どんな特徴があるのか、メリットやデメリットなど、今さら人には聞けない仮想マシンの基本情報を解説します。ぜひ最後まで読んで、仮想マシンについて理解を深めてください。 […]
Virtual machines are software computers that provide the same functionality as physical computers.
仮想マシン (VM) とは、物理マシンからリソースを抽象化して作成される、分離されたコンピューティング環境および仮想環境のことで、固有の CPU、メモリーなどを持ちます。
仮想化技術は大きく分けて3つあります。それぞれ型式と特徴があり、メリット・デメリットもあります。利用用途に合わせて型式を選び適切な方式を取らなければサーバのパフォーマンスを活かしきれません。それぞれの方式と特徴に関して図解と合わせて解説します。
はじめに コンテナ技術、特に Docker の普及により、アプリケーションの開発からリリースまでのサイクルが短縮されているのは、皆様実感されているものと思います。 今回は、コンテナサービスの基本について、同じように仮想化 […]
サーバーの仮想化の方法って実は3種類あるって知ってますか? 初めて仮想環境をつくる方は、まずこの3種類を把握しておく必要があります。 仮想化の方法はこの記事で把握し、肝心の「どの仮想化の方法で」「実際どう環境構築するか?」という作業に時間を割いてください!