サーバ仮想化とは | インフラ初心者が説明する仮想化

サーバ仮想化とは | インフラ初心者が説明する仮想化

イントロダクション

しつこいかもしれませんが、私は元SEですが、ネットワークやインフラに弱いです。
その辺はこちらで詳しくお話しています。

 

 

ただ、弱いからといって放っておいては成長できないので、勉強していきたいと思っています。その手始めとして、昨今よく耳にする「ハイパーコンバージドインフラ」(以下HCI)について調べてみました。

高校生の時に身に着けた勉強法の一つに「他の人に説明する、教える」というのがあります。人に教えられるだけの知識を身に着けたり、人がわかるように言葉を考えることは、一人で勉強するよりも多くの労力を使いますが、理解度も定着度も格段に上がります。

不得意分野なのでつたない説明になるかと思いますが、勉強の一環ということでご容赦いただければ幸いです。また私と同じくあまりインフラに詳しくない人にとっては、難易度の低いところからの話になるのでとっつきやすいかもしれません。

スポンサーリンク

仮想化とは

HCIとは→まずは仮想化から

まず、今回のお話の全体のゴールはHCIの解説です。
IT系の情報収集をされている方であれば、HCIという単語はここ数年目にされることが多いのではないでしょうか。

「インフラ管理の省力化」「中小企業での導入に最適」のような売り文句をよく見かけますが、実際どこのインフラの管理が省力化できて、何が中小企業に最適なのかよくわかっていませんでした。

調べた結果、「仮想化のためのインフラ環境をパッケージ化した製品」ということがわかりました。そこで話の展開としては以下3本立てで進めていくことにします。

・仮想化とは
・コンバージドインフラ(垂直統合型)とは
・ハイパーコンバージドインフラとは

ということで1回目は仮想化についてのお話から進めていきます。

普通は1つのハードに1つのOS

まずは普通のパソコンをイメージしてください。
パソコンがパソコンとして動作するために必要なものは何でしょうか。
まずは筐体、所謂箱です。箱の中にはハードディスクやCPU、メモリ、電源ユニット、ネットワークカード(NIC)等の装置が配置されています。
これらの物理的な装置を総称して「ハードウェア」といいます。

そのハードウェアの上でソフトウェアが動くのですが、多くのコンピューターはこれらのハードウェアの制御を取りまとめて行うためのオペレーションシステム=OSという基本ソフトウェアが動作しています。
メモリの割り当てやCPUへの演算処理の指示、ハードディスクとのデータのやり取りなどを利用者がいちいち考えなくてもいいように管理してくれた上で、扱いやすいように提供してくれるのがOSの役割です。
多くのソフトウェアはOSを介してコンピューターのハードウェアリソースを利用します。

これがざっくりとした普通のパソコンの動いている仕組みです。

サーバーというのは、処理能力や性能が高い代わりに多くの電力を必要としたり、大きくて重いので移動が難しかったり、放熱が激しかったりするコンピューターです。
性能はいいのですがいちいち設置場所まで行くのは面倒なので、ネットワークを介して利用されることが一般的です。
複数の人が利用したりしてハードウェアに高度な処理性能が求められるソフトを利用するのに使われます。

OSはハードウェアを制御している、ということは、1つのハードウェアに対してOSは1つ、というのが基本的な形です。

サーバーの問題点:設置場所のスペースが必要、リソースの余剰が発生する

企業や団体では様々なソフトやシステムが導入されています。
それらがそれぞれサーバーの上で動いているのですが、台数が増えてくると色々問題が発生します。

まずは設置場所の問題です。サーバーを動作させるには専用の電源や空調の整った場所、所謂「サーバー室」が必要です。サーバー室の広さや電源数には限りがあります。
効率的にサーバーを設置するための設備としてサーバーラックがありますが、これも有限です。また台数が増えればそれだけ電力も必要としますし、空調の性能も必要になります。
電源配線やネットワーク配線も複雑になります。

そしてもう一つ挙げられるのが、サーバー毎のリソースの余剰の問題です。
サーバー上で動作するソフトが安定的に稼働するため、また今後の拡張性のためにハードウェアのリソースは若干余裕を持っているのが普通です。無意味な余裕ではないのですが、複数台にわたっての余裕を全部集めることができるとすると、1台分以上のサーバーのリソースが余裕として使われずに余っている、なんてことも発生します。

1つのハードに複数のOSが同時並行で稼働する≒仮想化

省スペース、管理の容易さ、リソースの最適化などを実現するために登場したのが「仮想化」という技術です。
先ほど1つのハードウェアに対してOSは1つというのが基本的な形、と言いましたが、仮想化は1つのハードウェア上で複数のOSを稼働させることができます。

1台のコンピューターに複数のOSをインストールする=仮想化ではありません。

仮想化の基本的な考え方は以下の図のようになります。

物理的なハードウェアの制御を行うのはハイバーバイザと呼ばれるソフトです。「仮想化OS」とも呼ばれ、OSの一種です。
ハイパーバイザは、ソフトの技術で仮想的なハードウェアをOS上に作ることができます。その仮想ハードウェア上に通常のコンピューターと同様のOSやソフトを動作させるのです。

仮想化のメリットは、簡単に言えば先ほどの問題が解消できます。
1台のハードウェア上で複数の仮想マシンを動作させるので、物理的なサーバー数は少なくなります。設置スペースも電力も節約できますし、仮想マシン側には配線も必要ありません。
また物理マシンのハードウェアリソース内であれば仮想マシンへのリソースの割り当てを調整することができるので、余剰リソースを少なくすることができます。

デメリットは、物理サーバのハードウェアにそれなりの性能が無いといけない点です。ある程度まとまった台数を仮想化できないと、逆に物理サーバーの費用の方が高くつくこともあります。

代表的なハイパーバイザー

代表的なハイパーバイザーをいくつか紹介します。

VMware ESX

VMwareが提供しているハイパーバイザです。「VMware vSphere」という仮想化プラットフォーム・スイートの一部として提供されています。
仮想化の先駆者として多くの導入実績があり、多くの対応OSと対応ハードウェアがあり、導入規模は小規模~大規模まで幅広いため、最も一般的なハイパーバイザの一つと言えます。

Hyper-V

Microsoftが提供しているハイパーバイザです。WindowsServer2008以降OS標準で提供されています。仮想環境が多い場合、Datacenterというバージョンを利用することで仮想環境のOS(以下ゲストOS)のライセンス数が無制限になります。

Citrix XenServer

Citrixが提供しているハイパーバイザです。研究プロジェクトXenSourceで開発されたオープンソースソフトウェアがベースであり、XenServerは無償の仮想化プラットフォームです。
ゲストOSのソースコードの変更が必要ですが、オープンソースソフトのため様々な機能の実装速度が速く、無償ですが機能は豊富で性能面でも有償ソフトに引けを取りません。

スポンサーリンク

中締め

仮想化で注意するべき点

Hyper-Vの説明でライセンス数の話をしましたが、仮想化する際にはソフトウェアライセンスについての考え方に注意が必要です。
システムを構成するミドルウェアにはCPUライセンス(CPU数によりライセンス数を決定するもの)など、ハードウェアの要件によってライセンス数が変わるものがあります。
物理ハードが1台だからといって、そのリソース数でライセンス数を計算してよいかどうかは、ソフト毎にきちんと確認しないと、ライセンス違反の原因になります。

ネットワーク・インフラカテゴリの最新記事