コンピュータの仮想化技術

スポンサーリンク

仮想化って?

仮想サーバ、仮想ネットワーク、仮想ストレージって聞いたことありますよね。
クラウドコンピューティングが注目されてよく名前が出てくるようになっています。
仮想化は、AWSやgoogle cloud platform、さくらのクラウド、niftyクラウドのほとんどのサービスの基幹となっている技術です。
具体的に言うと、物理的に存在しているサーバ、ネットワーク、ストレージを論理化(イメージ化)して物理的なハードウェアにまとめてのせてあげることです。
みなさんが持っているPCのOS(windowsやmac)上にまたOS(windows,Linux)をインストールするみないなこと思ってください。

仮想化のメリット

複製や移動が簡単である

仮想化されたサーバやネットワークは、イメージ化(vmdkファイル等)されているのでコピーが簡単にできてしまいます。また、ESXi上の仮想サーバをhyper-v上に載せかえることも可能です。(イメージの変換が必要ですが…)

ハードウェアのリソースを有効活用できる

普段使用しているPCを思い浮かべてください。あなたのPCは常時リソースをフルに活用していますか?していませんよね。1台の物理サーバに複数のOSが共存し、リソースをそれぞれが分け合っているため無駄がありません。ある仮想ホストがメモリをたくさん使いたいときにほかの仮想ホストのメモリの使用量を少なくするといったことが可能なわけです。

仮想サーバのリソースを柔軟に変更できる

物理サーバを運用している際に、急なアクセスの集中があると迅速に対応できませんね。仮想化サーバですと、瞬時ににメモリを2G→3Gにアップグレードしたりすることが可能です。

運用コストの節約

数段に重なったラックマウントサーバは、電気代も掛かりますし配置場所にも困りますよね。サーバを仮想化することで、物理マシンの台数を削減することができハードウェアや運用コストを削減することができます。

仮想化のデメリット

構造の複雑化

サーバやネットワークを仮想化することで、物理サーバの数を減らすことができますが、代わりに1台1台が複雑化します。それらをどうやって管理していくかが重要なポイントになってきます。ベンダー固有の管理ツール(vCenter server)や最近では、Ansible等の構成管理ツールといった物もありますが、物理サーバ1台に1サーバと言う時よりも管理が難しくコストが掛かってしまうのがデメリットです。

耐障害性

1台の物理マシンの中に、複数の仮想サーバが入っています。突然、物理サーバの電源が落ちたりするとすべてのサーバが落ちて、サービスが止まってしまいます。このようにサーバを集約化することで、逆に単一障害点となってしまうのもデメリットのひとつです。

仮想化の種類

ホストOS型

記事の冒頭でもあげましたが、OS上にVMware WorkstationやVirtualBox等のソフトウェアを利用して、さらにOS(ゲストOS)をインストールするものです。ゲストOSは複数台作成することができますが、起動できるゲストOSの数が限られているなどの制限があるものが多いです。

  • VMware Workstation
  • VirtualBox

ハイパーバイザー型

これは、物理マシン上にOSをインストールせずにハイパーバイザー(ESXi等)のハイパーバイザーと呼ばれるソフトウェアをインストールします。仮想サーバは、そのハイパーバイザー上でインストールすることで利用可能になります。ホストOS型と違う点は、ハイパーバイザー自体は、仮想サーバ等の管理のみの機能しかもってもっていません。また、複数代同時に起動することができたり、ハイパーバイザーがフェイルオーバーの機能を持っていたりします。

  • ESXi
  • Hyper-V
  • Xen
  • KVM

コンテナ型

これは、サーバ自身を仮想化しません。単一のOS上にコンテナエンジン(docker等)を利用し、コンテナと呼ばれる仮想環境を構築します。ですので、サーバ自体を仮想せずに、アプリケーションが動作する環境を作成するわけです。各コンテナは、OSを共有するため仮想ハードウェア等が必要ないため、処理の効率化が期待できます。ちなみに、OSは共有しますが、それぞれのコンテナで、リソースを共有したりしなかったりと柔軟に対応することができます。

  • docker
  • OpenVZ
  • Linux VServer

予備知識

P2V

既存の物理サーバを仮想サーバへ移行することを言います。

V2V

既存の仮想サーバを異なる仮想環境に移行することを言います。

タイトルとURLをコピーしました