Chinese | English

03-3510-1616 受付時間 9:00〜17:00(土日除く)

お問い合わせ 資料請求

 

  • HOME
  • コラム
  • 第2回 『サーバ仮想化っていったい何?』

コラム

仮想化技術編

第2回 『サーバ仮想化っていったい何?』

仮想化技術編

サーバを効率良く使うための仕組み

第1回は情報システムの効率的な運用のためにサーバ統合やサーバ仮想化機構が有効であることをお伝えしました。今回は少し立ち戻って、サーバの仮想化というのはどういうことなのかを考えてみましょう。

サーバの仮想化とはひとことで言うと「本当は1台のサーバしかないのに、何台もサーバがあるかのように別々に使えるようにしましょう」という仕組みです。1台しか存在しないサーバを何台にもできるものでしょうか。仙人は霞を食べて生きていると言いますが、ソフトウェアは霞の上では動きません。実は、仮想化の霞の上にサーバの影を何台分か別々に投影して、ユーザは各々に対応するサーバの影を専用サーバだと思って使えばいいのです......というのは冗談ですが、これに似た機能が必要になるのです。

図1 1台のサーバが3台別々に見えるように影を映す

図1 1台のサーバが3台別々に見えるように影を映す

 

見方を変えてみましょう。ユーザにとって「サーバを1台使う」ということはどういうことでしょうか。WindowsやLinuxなどのOS(オペレーティングシステム)が動いていて、その上にアプリケーションソフトをインストールして使うことができれば、中身はどうであれ、サーバが本物だろうが影だろうが「サーバを1台使う」ことができるといって良いということになりそうです。

では、どのような仕掛けで1台のサーバの上で複数のOSを別々に動作させることができるのでしょう。OSの役割はサーバハードウェア全体を管理することです。したがってOSは本来、1台のサーバの上では1個しか動作できません。OSを2個並行に起動して利用しようとしてもうまく行かないのです。無理やり2つ目を起動しようとしてもエラーになるか、後から起動したOSがひとつだけ動くかのどちらかです。

逆に言うと、複数のOSを動作させるためには、上記のようなことにならないようにOSに勘違いをさせれば良いわけです。1台のサーバを複数の領域に分割して、それぞれが1台のサーバハードウェア全体であるかのように見せる仕掛けを作れば良いのです。例えてみれば、ひとつの建物に一家族が住む一軒家ではなくて、ひとつの建物に複数の家族が住むアパートのような構造にするのです。それぞれの家族に自分の部屋だけが全てだと思えるような環境を作ってあげるようなイメージです。

図2 サーバ仮想化は複数のOSが入居するアパートのような仕組み

図2 サーバ仮想化は複数のOSが入居するアパートのような仕組み

 

サーバ仮想化はサーバのアパートのようなものだということが分かりましたが、1台のサーバをみんなで分けて使うことになるわけですから性能や記憶容量が足りなくなるのではないでしょうか。心配ですね。でも大丈夫。近年のサーバは性能が高く、1台にひとつのOSしか動かさない環境ではほとんどのシステムで性能が余ってしまいます。したがってサーバのアパートにして複数のOSを動作させることは、余り気味のサーバハードウェアを効率よく利用する方法だと言えるのです(図2)。

どんなときサーバ仮想化を使えばいいのでしょう?

サーバ仮想化技術は基本的にはサーバハードウェアを効率よく利用することによりサーバ台数を減らすという技術です。したがって、サーバ台数が多すぎて困っている、あるいは沢山サーバを使いたいのに場所が無いとか予算が無いといった場合に有用です。物理的なサーバ資源を多数の論理的なサーバにより共有して使うことになるので、ひとつのOSで1台の物理的なサーバを全部使っているときよりは性能が低下しますが、それでもサーバ性能の向上のおかげで論理サーバの性能は十分に確保できるようになっています。

 サーバ仮想化技術の利用シーンは、例えば次のような例があります。

  •  1.システム更新:現行システムのハードウェアが古くなったので新システムに移行する
  •  2.開発用途:システム開発やシステム保守のため、開発担当者やシステム毎に開発用のサーバを準備する
  •  3.クラウド・開発用途:緊急にサーバが必要になったときに、短時間に当座のサーバを準備する
  •  4.省エネ・運用効率化:物理サーバが多いと消費電力が多くなったり管理の手間がかかるので、台数を減らす

図3 サーバ仮想化技術の利用シーン

図3 サーバ仮想化技術の利用シーン

 

まず、システム更新のケースを考えてみましょう。現行システムのハードウェアが古くなってくると故障頻度が増加したり、サーバベンダのサポート期限が切れたりして、新しいハードウェアに更新する必要が出てきます。一般的には5年から7年でこういった更新作業が必要になりますが、これくらい月日が経つと新しいサーバは以前のサーバよりも相当性能が向上しています。2倍、3倍になっていることも珍しくありません。その割に業務システムの負荷の方はそれほど増加しませんから新しいサーバでは台数を削減して複数のシステムを統合したくなってくるのです。これがシステム更新時に仮想化を利用する理由です。また、仮想化を利用すると負荷が増加しているシステムには多めにリソースを割当て、減少しているシステムには少なめにリソースを割当てるといった自由度の高いシステム設計が可能であるという利点もでてきます。
サーバ仮想化ソフトウェアの中には、OSベンダがサポートを終了した古いOSを動作可能とするものがあり、このような仮想化を利用すると、古いOSを用いた古いシステムを新しいハードにそのまま載せることができるのでシステム移行工数をさらに削減することができます。しかし、OSベンダのサポートが無いので利用には注意が必要です。いずれは新しいOSに乗り換える必要があることを考えると、そのシステムに通じたノウハウが自社内から失われないうちに早めに乗り換える方が得策であるとも考えられます。

次に、システムの保守・開発用に利用するケースを見てみましょう。大きな業務システムの開発を行う場合、多数のプログラマが分担してコーディング、テスト、デバッグなどを行うことになります。開発者一人ひとりにOA用のPCとは別に開発用のサーバを割当てる必要があり、性能やメモリ容量などは小さくて良いのですが、何十人、何百人に割当てる必要があり台数が多くなるという課題があります。かといって少ない台数のサーバでひとつのOSの上で複数の開発者がテストをしようとすると、別の開発者のテストが悪さをして自分のテストがうまく行かない、という事態もでてきます。このような場合には仮想化を利用して開発者個々人には独立にOS環境を使わせて、物理サーバは少数に統合するといった開発環境を採用すると投資効率と開発効率が良くなります。

クラウドに利用するシーンではどうでしょう。開発環境でも似たようなニーズがありますが、昨今流行のクラウドにおいては、クラウドの顧客要求に対応して必要なときに必要な台数のサーバをできるだけ早く提供するという運用が必要になっています。このニーズをサーバハードウェアの提供で実現しようとすると、要求を受け取ってからサーバベンダに発注して納入を待つとか、予め大量のサーバを準備しておいて、要求が来たらそれに対応して適切なCPUのサーバを選択したり、要求に合わせてメモリを差し替えたりネットワーク構成を変更したり、大変な作業と時間が必要になります。このような場合には少し大きめのサーバハードを準備しておけば、仮想化を利用して顧客要求、あるいは開発者の要求に対応して仮想化機構の管理画面で設定を入力するだけで必要なサーバを準備、提供することができます。サービスの迅速化、投資効率の改善に有用です。

最後に省エネの観点から利用シーンを考えてみます。サーバの台数を減らすことは単純に消費電力を削減できるという省エネ効果があります。近年のプロセッサは省電力モードを持っているので、CPU使用率が低い場合は消費電力を低下させることもできますがCPU使用率が半分に減ったからといっても消費電力をそれほど大きく減少させることはできません。サーバを統合して台数を減らせば直接消費電力の削減に効果があります。サーバ台数の削減は省エネ効果だけでなく運用の効率化にも資することができます。システム全体のハードウェア障害発生率は大局的には構成品点数の大小に比例しますから、サーバ台数が少ない方が信頼性が高く保守の手間が軽くなりますし、古くなったサーバの資産管理上の滅却処理といった事務上の処理も軽くなります。物理サーバを減価償却の期間内でフルに利用しようとすると、どうしても構成変更をしたくなり、別のサーバのメモリやI/O機器を流用したりするものですから、いざ滅却処分となったときに本当の購入物がどこにあるかが分らなくなってしまうのです。
以上、今回はサーバ仮想化の原理について、そしてその利用シーンについて紹介させていただきました。次回はサーバ仮想化に大きく2種類の方式があるうち、論理分割方式(LPAR方式)について、もうひとつの仮想マシン方式(VM方式)との対比で説明する予定です。

第3回コラム「LPAR仮想化のメリットって何?」に続く

世界で戦う準備はあるか
上野 仁 氏
上野 仁 氏
株式会社日立製作所 エンタープライズサーバ事業部 第二サーバ本部第三部 担当部長 メインフレームOSやファームウェア、システム管理ソフトウェアなどの研究開発の他、データセンタでのSaaS商品開発などを経験。データセンター運用での使い勝手向上を念頭に置いた日立独自の仮想化技術開発を行っている。新しいサーバ活用技術に興味を持ち研究を続けており、余暇ではゴルフを通じて仲間作りを進めている。技術士(情報工学部門)