「サーバーの仮想化」ってどういうこと?今更聞けない基礎知識から徹底解説します!
私たちがPCやスマートフォンでインターネットを利用する時、必ず接続しているのがサーバーです。サーバーにはサービスを含め様々な種類がありますが、もっと大まかに分類すると物理サーバーと仮想サーバーに分かれます。今回は、サーバーの中でも「サーバーの仮想化」について、サーバーの基本的な知識を交えながら解説します。
目次
サーバーの仮想化とは
仮想化と聞いても、その概念がなかなかイメージできない人も多いと思います。一般的に浮かぶのは、広く無機質なフロアーに黒いロッカーボックスが並び、数え切れないほどのケーブルが配線されている部屋のイメージではないでしょうか。
もしそのようなイメージを持っているならば正解です。正確には、そのロッカーボックスの中に何台もの機器が綺麗にラッキングされています。そして、その機器がいわゆる「物理的サーバー」です。
手で筐体を組み立てることができ、ラックに設置した後に電源ケーブルやLANケーブルを配線するという、物理的に設置するサーバーなのです。
対して、これらの物理的サーバーに「仮想化ソフト」をインストールし、そのソフトウェア上に稼働させるいくつものサーバーを「仮想サーバー」と呼びます。
ですので、サーバーの仮想化を実現するには、最低一つの物理的サーバーが必要というこということになります。
仮想サーバーの利用
仮想サーバーは現在、あらゆるITサービスで利用されています。
ソフトウェア開発会社などの企業内でも、コンシューマー向けのレンタルサーバーでも用いられているため、仕事でもプライベートでも、それと意識することなく仮想サーバーに触れていることになります。
開発サーバーで利用される
仮想化技術が利用されるシーンとしてはまず、サービスの開発サーバーが挙げられます。IT技術者が最も仮想化されたサーバーに触れる場所ではないでしょうか。
開発サーバーに仮想化技術が用いられる背景としては、サーバー機器のコスト削減はもちろん、複数の実行環境を1台のサーバー機器で賄えることが挙げられます。
例えばこれまで、複数のプロジェクトがあれば、プロジェクトごとにサーバー機器を購入し、プロジェクトの数だけサーバー機器の構築・運用・保守をしなければなりませんでした。
しかし、1台のサーバー機器の中に、プロジェクトの数に応じた複数のOSを載せることができれば、運用も保守も実質1台のサーバー機器に集約することができ、効率的なサーバー運用が可能になるというメリットがあるのです。
サーバーが仮想化されているのか否かを開発者が意識することは無いかもしれませんが、それを支えるITインフラ技術者(サーバー技術者など)は、環境が効率よく運用されるために、サーバーの仮想化を決断するはずです。
レンタルサーバーで利用される
インターネットの一般ユーザーが最も意識できる仮想サーバーは、レンタルサーバーを契約する時でしょう。
個人的なブログなどを、独自ドメインの取得から行う人はおそらくレンタルサーバーの選定もするはずです。もちろん、サーバー機器そのものをレンタルするプランも存在しますが、ほとんどは仮想サーバーをレンタルしています。
仮想サーバーならば、1台の機器にいくつものサーバーを稼働させることが可能ですので、複数のユーザーへのサーバー提供も、サーバー機器1台で行うことができます。
このように、日常的に使っている“サーバー”の半数以上は、現在サーバーの仮想化によって成り立っているのです。
\ IT転職のプロが無料でサポート! /
サーバーを仮想化するメリット
ここまでで、サーバーを仮想化するメリットはだいたいイメージできたかもしれませんが、より具体的なメリットを紹介していきます。
コスト削減
サーバーの運用において、大幅なコスト削減を実現する方法の一つが「サーバーの仮想化」です。
特に、多数のサーバーを稼働するプロジェクトやサービスにとっては、その数に比例してサーバー機器自体を増やすことは現実的ではありません。
ですので、サーバー機器やそれに付随する周辺機器のコスト削減方法として、1台のサーバー機器の中に必要台数分の仮想サーバーを立ち上げ、運用します。
リソースの節約
サーバー機器という個体を稼働させるには、電源ケーブルやLANケーブル、設置するスペースはもちろんのこと、搭載するCPUやメモリーなどのリソースが必要です。
仮想サーバーでは、一つのサーバー機器のリソースを共有します。仮想サーバーの台数に関わらず、利用するリソースは同じものを使うのです。
これらリソースの使い方に関しては、仮想化を実現するためのソフトウェアでもある程度制御してくれますが、手動でのチューニングを行うのもサーバーエンジニアの重要な役割です。
効率的なサーバー構築が可能
1台のサーバー機器を必要台数分構築するためには、筐体のキッティングからラッキング、OSのインストールや必要サーバーの構築を、全てのサーバー機器に施す必要があります。
しかし、基本的なサーバー構築を一つ行えば、類似するサービス用に“OSごとコピー”して、再利用することも可能なのです。もちろん、OS環境もそのまま複製できます(IPアドレスなどの細かい設定は必要です。)
10台のサーバー環境を構築する場合を考えても、サーバー構築が如何に効率的に行えるかがわかりますね。
効率的な運用・保守
複数のサービスを稼働させていても、サーバーが仮想化されていれば、物理サーバーの保守としては1台だけで済みます。
もちろん、仮想サーバーごとのメンテナンスも必要ですが、複数のサーバー機器がトラブルを起こした場合を想定すると、1台の保守だけで済むという事実は圧倒的な効率アップと迅速なトラブル対応を実現できるのです。
サーバーを仮想化するデメリット
多くのメリットを持つサーバーの仮想化ですが、仮想化したが故に起こるトラブルなどのデメリットも存在します。
物理サーバー異常が全てのサーバーに影響する
仮想サーバーは、一つの物理的サーバー上で稼働していますよね。ということは、1台のサーバー機器が障害を起こすと、そこに構築している全ての仮想サーバーに影響するということなのです。
例えば、仮想サーバーが構築してあるサーバー機器において、LANケーブルが断線してしまったとします。この場合、全ての仮想サーバーへの疎通が停止してしまうのです。
もちろん、LANケーブルなどは必ず多重化してありますが、LANボードなどの物理的な障害が起きた場合には、復旧までの間、全ての仮想サーバーが止まってしまうということなのです。
また、仮想化ソフトがフリーズしてしまえば、これも全ての仮想サーバーに影響しますので致命的です。サーバーエンジニアは、これらの障害に配慮した構成を構築する必要があります。
リソースのシェアによってパフォーマンスが落ちる
1つの物理的サーバーに複数の仮想サーバーが稼働している場合、CPUやメモリーなどのリソースを共有して使うことになります。
ですので、一つの仮想サーバーにおけるサービスだけがCPUやメモリーを使いすぎると、その他の仮想サーバーのパフォーマンスに影響が出てしまうのです。
サーバーを仮想化する方法
ここまでで、仮想化するというイメージはできたと思いますので、最後に「サーバーを仮想化する方法」について見ていきましょう。
仮想化に利用する「ハイパーバイザー」
サーバーの仮想化には、仮想化するためのソフトウェアを使います。そして、それらソフトウェアは「ハイパーバイザー」と呼ばれます。
有名なソフトウェアとしては以下のようなものがあります。
・VMware vSphere ESXi
・Hyper-V
・KVM
・Citrix XenServer
ハイパーバイザーは、サーバー機器が手元に到着後、OSよりも先にインストールします。仮想サーバー構築の手順は、ハイパーバイザーをインストールした後、ハイパーバイザー上に必要なOS(ゲストOSと呼ぶ)をインストールする形になります。
ハイパーバイザーは仮想化の要であり、これに必要数だけのOSをインストールします。サービスごとに必要な複数のサーバーを、OSレベルから構築することができるのです。
もちろんサーバーの複製も、ハイパーバイザー上でOS(ゲストOS)ごとコピーできるため、同じ環境のサーバーを瞬時に構築ができるというわけです。
まとめ
サーバーの仮想化はイメージがしにくいものですが、利用シーンや構築手順、そしてメリットやデメリットを把握することで、具体的な利用シーンを想像することができるのではないでしょうか。
インターネットが普及し、世界中でサーバーが利用されている現代、サーバーの仮想化技術はサーバーエンジニアに限らず、ITインフラエンジニアにとっては基本的な知識や技術になりますので、まずはイメージだけでもしっかりと把握しておくことが大切です。
\ IT転職のプロが無料でサポート! /
あわせて読みたい関連記事
この記事を読んでいる人におすすめの記事