2007年2月

スペシャル・トピックス

スコット・マクニーリ来日講演

Sun&Users 学舎探訪記

〜岐阜高専 建築学科 編〜

EDU INSIGHT

教育IT分野で最重要事項となったセキュリティおよびアイデンティティ管理

INSIDE TECHNOLOGY

サーバのスライス&ダイス:仮想化とコンテナ化の手引き

KIM'S NOTEBOOK

ゲストエディタ、スコット・マクニーリ:参加の時代の教育に力を
プレスリリース一覧
教育研究機関のページへ
バックナンバー一覧

INSIDE TECHNOLOGY
サーバのスライス&ダイス:仮想化とコンテナ化の手引き

仮想化はCIOの夢です。新しく登場している一群のコンテナ化技術の1つとしてのサーバ仮想化の目的は、アプリケーションの実行に必要なハードウェアおよびシステム管理の負担を減らすことによりコストを削減し、複数の配備環境のテストを簡単にすることによって、アプリケーションの展開に必要な時間を短縮することにあります。

サンは、SPARCおよびx86製品の両系列で、複数のOS向けの様々なオプションを用意しています。Solaris 10 OSの一部であるサンの革新的なSolaris コンテナ テクノロジにより、それぞれが専用のシステムで動作していると見なされる分離システムの実行を可能にします。

3部構成の第1部となるこの文書では、Solaris コンテナ テクノロジに焦点を当てながらサーバ指向のコンテナ化と仮想化をとりあげます。第2部では、x86プラットフォームでの仮想化技術について解説します。第3部ではストレージの仮想化をとりあげます。

アプリケーションを導入して、そのアプリケーションをサポートするための適切なサーバリソースを選択し、その結果できた環境を管理するというのは、複雑な問題です。多くのITマネージャは単純な方法、すなわち、各アプリケーションに専用のサーバを割り当てるという方法をとるのですが、どういう理由があるのでしょうか。それは、何らかの形でアプリケーションが相互に干渉し合うのを望まないからです。またこの問題は、アプリケーション別の専用のサーバハードウェアによってのみ回避できると考えているからです。

この考えは、特定のアプリケーションに対する不信、サーバを共有する可能性がある他のユーザやアプリケーションに対する不信、さらには1つのカゴに卵を入れすぎないようにしておきたいという欲求、あるいは他の技術または組織上の理由が動機になっているのかもしれません。この方法によってもたらされるのは、しばしば、サーバの無秩序な増殖です。一般に十分に利用されないサーバの数が増えて、効果的な管理が難しくなり、データセンタの設置スペースや冷却、電源要件が増大します。

こうした問題に対処するために、様々なハードウェア、ソフトウェア技術が生まれ、進化してきました。そうした解決手段のほぼすべてにおいて、何らかの形のコンテナ化がみられます。コンピュータ環境では、アプリケーションやプロセス、ユーザグループ、場合によってはOSを丸ごとコンテナ化することが重要な場合があります。このひとつひとつは、綿密に定義された状態とエラー境界、起動および停止機能、他のサービスとの依存関係を伴った存続期間の長いソフトウェアオブジェクトの集合といったような、1つのサービスとして考えられます。サービスは1つのものとして表示され、管理される必要があります。すなわち、「コンテナ化」です。サービスにとってコンテナは、「境界を持つ環境」であり、そうした環境は、広範囲にわたる様々なハードウェアおよびソフトウェア技術を使って実現、管理できます。

ハードウェアによるコンテナ化は、1960年代と1970代に、初期メインフレームシステムとして始まり、現代のエンタープライズクラスのサーバにも引き継がれています。ソフトウェアによるコンテナ化ソリューションは、ハードウェアによるコンテナ化よりも先を行く手段であり、特別なハードウェアを必要とせず、ラップトップやデスクトップワークステーションからミッドレンジ、エンタープライズクラスのサーバまで、広範囲のシステムにおける利用が可能です。ソフトウェアによるコンテナ化の一般的なアーキテクチャとしては、ホストOS型仮想マシンモニタ(virtual machine monitor)を利用するものと、OSによる仮想化の2つがあります。

ホストOS型仮想マシンモニタでは、メインOSがシステムハードウェア上で直接動作し、仮想マシンモニタはホストのオペレーティングシステム上でアプリケーションとして動作します。この種のホストOS型仮想マシンモニタ環境には、例えばVMware WorkstationやMicrosoft Windows Virtual Server 2005があります。ホストOS型仮想マシンモニタでは、LinuxやMicrosoft Windows、Solaris OSなど複数のゲストOSが、そのアプリケーションと共に、コンテナ化方式により、ホストシステム上で同時実行が可能です。提供されている管理ツールは、ゲストOS間のリソースの割り当てや変更を行います。またアプリケーションは、仮想マシンモニタを完全に無視して、メインOS上で直接実行することもできます。

サーバコンテナ化技術がすべて仮想マシンモニタを必要とするわけではありません。実際には仮想マシンモニタはゲストOSを書き換えたり、リダイレクトしたりするときに(特にゲストOSの特権命令をインターセプトしてリダイレクトする必要がある場合)、かなりのCPUリソースを消費することがあります。

コンテナ化したサーバ環境の要件に合わせて、一群のプロセスおよびリソースを定義し、境界を設定できると、別の仮想マシンモニタを使用することなく、効率よく仮想化の実現が可能になります。この種のコンテナ化はOSによる仮想化とみなすことができます。Solaris コンテナではこの手法が採用されています。

ハードウェア上で動作するただ1つのSolaris OSインスタンスを、「大域ゾーン(またはグローバルゾーン)」と呼びます。管理者は、仮想サーバ環境を含む非大域ゾーンを定義できます。どのユーザにも、非大域ゾーンは完全に実現されたサーバとして見ることができます。また、非大域ゾーンは互いに隔離されています。それぞれ専用のネームスペースを持つばかりでなく、互いを、またそのプロセスや属性(IPアドレスなど)を見ることはできません。

非大域ゾーンはメモリを共有することはできず、専用のユーザレベルのOSサービスを持つこともありません。このように各ゾーンが隔離されているため、システム上の他の環境の妨げになることなく、それぞれが独立して、自由に起動、再起動できます。Solarisコンテナは隔離とリソースの制御を行い、安全なIT基盤を構築するための重要な基礎になるのです。

どちらの技術が適切かは、データセンタによって異なります。仮想化技術は成熟しつつあり、アプリケーションやOSを素早く作成、テストするためのコンテナ化環境を提供したり、アプリケーションのサービス品質を保証したり、システム全体の利用率や投資収益率を向上したりできるという利点があります。と同時に、仮想化技術によって、次のような短所が生じることもあります。

  • IT基盤全体の複雑化
  • ライセンス費用、管理コストの増加
  • システムのオーバーヘッドの増加
  • システムに問題が起きたときの診断の複雑化

例えば、Linux OSが動作するSun V40zサーバ上のVMware下で、Oracleソフトウェアを実行している環境を考えてみましょう。問題が発生した場合、どのようにしてその原因を突き止めようとするでしょうか。最終的に問題を見つけ、解決する責任を持つのはどのベンダでしょうか。

コンテナ化モデル同士の比較、選択に影響を与えるもっとも大きな要素は、コンテナ化するアプリケーションがどの運用環境向けに作成されたものであるかということです。残念なことに、構造基盤の決定に影響を与える要素は、アプリケーションの設計開発段階が開始され、時間が経過した後に考慮されることがしばしばなのです。

OSが決定されると、コンテナ化モデルの選択肢は限られ、ベンダに左右されがちです。次の表は、どちらの方式の仮想化を採用するかを決定するにあたっての主な指針をまとめています。

現在の運用環境
推奨する選択肢
複数のSolaris OSまたはオープンソースアプリケーション
Solaris コンテナで統合
LinuxとSolaris OSアプリケーションの混在

LinuxアプリケーションのSolaris OSへの移行を検討

1台のサーバでSolaris コンテナを使ってSolaris OSアプリケーションを統合し、別のサーバでVMware ESX仮想マシンを使ってLinuxアプリケーションを統合
異なるバージョンのOSでMicrosoft WindowsかLinuxアプリケーション、またはその両方を実行
VMware ESX仮想マシンを使って1台のサーバに統合
異なるOSとIBMのアーキテクチャでアプリケーションを実行
Solaris コンテナへの移行を検討するか、IBM LPARを使って統合

仮想化技術および方式の選択にあたっては次のことを検討してください。

  • プラットフォームでの利用可能性:
    プラットフォームによって利用可能性は異なります。VMwareは、x86およびx64プロセッサセットで32ビットアプリケーションのみサポートしています。Solaris コンテナは、x86、x64、およびUltraSPARCプロセッサで動作します。
  • パフォーマンス:
    オーバーヘッドが懸案である場合、VMwareは選択肢にならないかもしれません。ソフトウェアレイヤが増え、またそれらソフトウェアアーキテクチャに存在する異なるOSカーネルレイヤが増えることによって、オーバーヘッドが増加し、システム全体のパフォーマンスが低下する可能性があります。
  • 管理性:
    データセンタの管理性が重要な要因である場合、Solaris コンテナはよき選択肢です。かなりの割合のアプリケーションに対するOSの統一は管理面の負担軽減に役立ち、ハイエンドサーバの設置スペースの削減が可能になります。
  • ソフトウェアの問題特定:
    ソフトウェアの問題を特定できることが優先される場合は、当然ながら、状況を観察できることが不可欠です。VMwareゲストOS内のアプリケーションが予想外の動作をした場合、プラットフォーム全体、また土台環境上で、OS内で何が起きているかを診断するのは困難です。Solaris コンテナの場合、大域ゾーンによって、コンテナ規模のアプリケーションサービスすべてと土台のハードウェアを完全に観察できます。

コンテナ化および仮想化技術は、IT基盤をどのように設計するかの決定において、重要な役割を担い始めています。ITマネージャやCTO、CIOが、発展のさなかにあるこれらの概念やソリューションを理解し、その潜在的な長所や短所について何を問題にすればよいかを知っておくことは大切です。仮想化は、体系的に安全な方法でサーバの無秩序な増殖を減らし、リソースの利用率を向上させる全体的な戦略の中で重要な位置を占めています。

この文書は、Harry J. Foxwell、Isaac Rozenfeldによる2005年10月のSun BluePrints文書「Slicing and Dicing Servers: A Guide to Virtualization and Containment Technologies」を元に作成しています。

ご質問・ご意見はSite-TKY@sun.comにお寄せください。

ページ先頭へ

お問い合わせ 会社情報 ニュース 採用情報 プライバシー 利用規定 商標 Copyright  Sun Microsystems, Inc.