仮想化の基礎のおさらい

Pocket

クラウドサービスでも使われている

クラウドサービスといえば、Amazon Web ServiceやGoogle Cloud Platformなどがあり、最近はどちらも様々なサービスが豊富にあり、より複雑になってきています。様々なサービスを組み合わせることでできたアーキテクチャなどもあります。

クラウドの基盤となる仮想化技術のお話を軽くおさらいしていきます。

仮想化技術

クラウドサービスの基礎となっているのは、仮想化技術です。
その仮想化技術とは、仮想化技術によって1台のマシン上で複数の仮想的なマシン動かせるようにする技術のことです。

一般的に仮想化される側のマシンをゲストと呼び、仮想化を提供する方をホストといいます。(ちなみにゲスト側の仮想マシン内で動くOSのことをゲストOSといいます。)

仮想化すると、1台で複数のマシンを動かせるので、複数台使用するときと比べて、サーバを置く場所や電力の消費を抑えれたりします。
また、仮想マシンの間で共有してリソース(CPUやメモリ、ディスク容量など)の利用効率を高めることもできます。
こうした利点もあり、クラウドサービスでは、仮想マシンを利用されています。

そのほかにも、仮想マシンの便利な機能としては、スナップショット機能もあります。
スナップショット機能は、ある時点の仮想マシンのディスク、データや設定の状態を記録してくれます。
これは、ある仮想マシンで開発環境を作って、スナップショットして、複製を作って開発メンバに渡すこともできるし、きれいな状態でスナップショットして、その後に実験的なことをしてぐちゃぐちゃになっても、きれいな状態に復元できたりします。

仮想マシンの仕組み

仮想マシンを実現するための制御プログラムのことを仮想化モニタ(VMM : Virtual Machine Monitor)または、ハイパーバイザと言います。
このハイパーバイザの動作方法によって、ホスト型とネイティブ型の2つタイプに分類できます。

ホスト型は、ホストOS上で動くハイパーバイザでType2 VMMとも言われています。
デュアルブートのように、ホストOS側でなにかしらのアプリケーションを動かしながら、仮想化できるといった利点があります。
しかしホストOSを経由してハードウェアを操作するため、オーバヘッドが大きくあまり性能がでないといった欠点もあります。

ホスト型の欠点を潰したのが、ネイティブ型です。
ネイティブ型のハイパーバイザは、ハイパーバイザ自体がOSを兼ねてハードウェア上で動きます。
仮想化に最適化されているので、処理効率がよくなっています。
また、ネイティブ型ハイパーバイザは、Type1 VMMとも言われています。

下記の表は、ホスト型とネイティブ型に対応しているソフトウェアをまとめています。

ホスト型 ネイティブ型
VMware Workstation, Oracle VirtualBox, QEMU Citrix Xen, Microsoft Hyper-V, VMware ESXi, Linux KVM

上の表にあるLinux KVMは、ネイティブ型ではあるが、ゲストOSがホストOS上で1プロセスとして動作するので完全なネイティブ型とは言い切れないかもしれません。

タイプ別ハイパーバイザ

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>