仮想マシンとは「仮想的に作られたハードウェア」のことだ。
物理的にマシンを用意するのではなくて、例えばコンピュータの上に「仮想的に」もう一台コンピュータを動かすイメージだ。
このページでは仮想マシンについて初心者の方向けにざっくりのイメージをお伝えする。
目次
仮想マシンとは?
「仮想マシン」や「仮想化技術」と聞くと「何かよくわからない」「難しいのでは?」と思うかもしれない。
しかしそう難しい話ではないので安心していただきたい。ぱっと言ってしまえば「本来物理的に必要なものを仮想的にあるようにして動かす」というだけだ。
例えば、「Windowsコンピュータの上でLinuxコンピュータを稼動させる」というのが仮想マシンだ。「Linuxコンピュータ上で他のLinuxコンピュータを稼働させる」という場合も多い。
はじめは詳しくわからなくていい
仮想化技術について検索してみると「ホストOS」や「ゲストOS」、「VirtualBox」や「VMware」など専門用語の羅列となる。
しかし、まずは「仮想化=オペレーティングシステムの上でオペレーティングシステムを稼動させる」という理解でいいだろう。
ここだけおさえておけば、徐々に理解は広がっていくはずだ。
一般のコンピュータでも
昨今コンピュータの処理能力は飛躍的に進歩しており、その処理能力は10年前とは比べものにならない。丁度10年前ほどだと、仮想化技術がIT業界で普及しはじめて間もない頃合いだっただろう。
当初サーバなどの分野では普及が進んではいたが一般ユーザがその恩恵をきっちり受けるには、ハードウェア的なハードルが少々高い位置にあった。
しかし10年たった今ではハードウェアが成熟し、我々一般人にも手が届く技術となっている。あなたのノートPCでも仮想マシンは利用できるようになっているので、下記などを参考に使ってみていただければと思う。
仮想マシンのメリット
台数の削減
「オペレーティングシステムの上でオペレーティングシステムを稼動させる」という話ではあるが、ではなぜ昨今ここまで注目されているのか?
やはりそれはメリットがあるからだ。具体的なものを上げると「サーバマシンの台数削減」などがあがる。
従来の方法だと提供するサービス毎にサーバを複数用意したり、負荷を分散させるために、数多くのハードウェアを設置しなければならなかった。
電気代や点検保守などに手間がかかるのは想像にたやすいだろう。しかし仮想化技術を利用するとそのハードウェア台数を削減出来るのである。一つのパワフルなマシンの上で複数のシステムを稼動させてサービスを提供出来るからだ。
セキュリティ的な側面も
仮想化せずとも、ひとつのコンピュータで複数のサービスを動かすことはもちろん可能だ。
しかし、例えばサービスを提供するアプリケーションの一つに管理者権限を乗っ取ることの出来るセキュリティホールが存在した場合、そのセキュリティホール一つで全てが乗っ取られてしまうことになる。「なるべくセキュリティリスクを減らしたい」というのが管理者の声だろう。
仮想化技術を利用するとそういった要望に応えられる。
仮想化を利用して実行されるオペレーティングシステム個々は、安全に分離されているので一つの仮想マシンに異常が発生しても他の仮想マシンには影響が出ることを多少なりとも避けられる。
違うオペレーティングシステムの混合
サーバの台数削減、管理コスト削減、安全性の他にもメリットはある。違う種類のオペレーティングシステムの混在を実現出来ることだ。
Windowsの上でLinuxやBSDを実行することも可能だ。その逆もしかりでLinux上でWindowsを実行することも可能だ。やろうと思えば一台のサーバの上でWindowsやLinux、各種BSDを全て実行することも可能となっている。
例えば何かのシステムを開発するとき、WindowsPC上でLinuxでのサービスの稼働を確認できるなど色々と使い道がある。
もちろん実験環境として
また、「実験環境」としても使えるのが魅力的なところだろう。
簡単にOSをインストールして使えるので、Linuxを使ったことがない人がはじめてLinuxを使う時などの実験的環境として使える。
またメジャーな仮想化ソフトウェアVirtualBoxなどは「スナップショット」という機能を使用することで、いつでもタイムマシンのように、環境を特定のスナップショットした状態にもどせるようになっている。
例えばインストールした直後のプレーンな状態をスナップショットとして記録しておいて、アプリケーションを試しにインストールしてみる、インストール後そこで問題が発生したらいつでもスナップショット機能を使用してプレーンな状態に瞬時にまきもどすことが可能となっている。
こういった機能があるのでセキュリティの研究の一環として仮想マシン上でウィルスを実行してみるといった使われ方もする。基本的に仮想環境は閉じた環境となるので比較的に安全に実験できる。
こういった「冒険」が出来るというのは仮想化技術の大きなメリットといえる。
仮想化デメリット
これまでメリットをとりあげてきたがデメリットもお伝えしておこう。デメリットというか、こういうこともありますよ、程度だが。
仮想化技術を使用すると「オペレーティングシステムの上でオペレーティングシステムを稼動させる」という状態になるので、「遅い」という状態に直面することがよくある。重いからだ。
ある程度仮想化の為に余分なコンピュータ資源を要求されるので、コンピュータ資源がないと実行速度が実用の域にたっしないという状態になる。最近のコンピュータであれば一台ぐらいの仮想化は余裕でこなせるが、それが10台や100台という数になると強靭なコンピュータ資源を要求される。
現代ではその課題はスペックの上昇などでクリアされてきているが、一応デメリットとしてあげられるだろう。
また、ハードウェア、例えばUSBなどを認識させるのに手間がかかるあたりも仮想マシンならではだ。ここのあたりもデメリットと言えるかもしれない。
いずれにせよ、便利さの方が上回っている。
まとめ
このページでは「仮想マシンとは」についてまとめてお伝えした。VirtualBoxなどは手軽に使えるため、一度トライしてみてはいかがだろうか?
コメント