連載:Java「仮想化」開発環境を検証(2)

Java仮想化開発環境を構築


スティルハウス
吉川和巳
2005/10/14



 本連載では、最近J2EEのプラットフォームにも採用されるようになってきた仮想化技術を実際にハイスペックなPCに導入し、その有効性を検証する試みを計4回にわたって紹介している。

VMware Workstation 5を導入する

 第1回「Java開発に仮想化技術は有効か」で説明したとおり、筆者の自宅兼オフィスでは常時2〜3台のPCをJava開発環境として24時間稼働させていました。しかし、こうした「プロジェクトや実行環境ごとにマシンを割り当てる」という環境構築のスタイルでは、マシン台数の増加や、その逆の持て余し、プロセッサパワーの不足といった問題が避けられませんでした。そこで筆者はこの問題を解消すべく、パワフルなマシンと仮想化ソフトウェアの組み合わせによるJava開発環境の仮想化を進めることにしたのです。

 そうしたとき、ヴイエムウェアの「VMware Workstation 5」(以降、VMware)が今年の4月にタイミングよくリリースされました(図1)。VMwareは、1台のマシン上で複数の仮想マシンを動作させることができる仮想化ソフトウェアの代表的な製品です。VMwareにおける個々の仮想マシンは、1台のマシンが備えるCPUリソースやメモリ、HDD、ネットワーク、ディスプレイとキーボードなどを共有します。

図1 VMware Workstation 5

 VMware日本語パッケージ版の標準価格は3万円で、いくつかの国内代理店を通じて購入可能です。一方、ヴイエムウェアのWebサイトではダウンロード版(英語版)を189ドルで販売しており、英語のマニュアルやサポートに抵抗のない方はこちらの方がお得かもしれません。

 VMware Workstation 5は、その名が示すとおり、開発者やテスターが利用するワークステーション環境を対象とした仮想化ソフトウェアです。ヴイエムウェアでは他の製品ラインアップとして、企業やデータセンターのサーバ環境を対象としたVMware GSX ServerやVMware ESX Serverを提供しています。いずれも数10万円以上する製品ですが、2〜16 CPUを搭載したサーバ上で数10台もの仮想マシンを構成でき、大規模なプロダクション環境の構築に対応できます。また、仮想マシンごとのサービスレベルの保証や、負荷状況に応じた物理マシン間の仮想マシンの自動マイグレーションなど、本格的なサーバ仮想化機能が提供されています。

 さて、サーバ仮想化では一般に、仮想化ソフトウェア自体が動作するOSのことを「ホストOS」、仮想化ソフトウェア上で動作するOSのことを「ゲストOS」と呼びます(ホストOSを必要としない仮想化技術もあります)。VMwareでは、ホストOSとしてWindows XPおよびWindows Server 2003、Red Hat Linux、SUSE Linuxなどに対応し、ゲストOSとしてはそれらに加えてFreeBSDやSolarisなどをサポートします。今回筆者の環境では、図2に示すOS構成で用意することにしました。

図2 今回構築する仮想化環境のOS構成

 従来の筆者の環境では、Windows XPが1台、Red Hat Linuxが2台という構成で運用していました。これらの移行先となる3台の仮想マシンに加えて、今回さらにLinuxゲストを1台追加します。ホストOSではVMware以外のアプリケーションも同時利用できるため、合計で5台分を1台にコンソリデーション(統合)するわけです。

 ちなみに、こうした仮想化技術によるサーバ・コンソリデーションは1つのトレンドとなっており、例えば米国の大手自動車メーカーでは280台のサーバを12台のHP Superdome(HPのハイエンド・サーバ)にコンソリデーションした事例もあるそうです。この規模になると、リソースの有効活用だけにとどまらず、TCO削減の効果も相当のものでしょう。

パワフルなPCの用意

 VMwareの導入にあわせ、5台の仮想マシンを収容するに足るパワフルなPCを購入することにしました。VMwareはマルチプロセッサにも対応しており、複数サーバの統合という性格上XeonやOpteronのデュアルプロセッサ構成を選択したいところです。しかしそれらの構成では予算の30万円を超えてしまうため、あえなくシングルプロセッサ構成としました(マシン購入後にデュアルコア搭載のPentium Dが発売され、もう少し待つべきだったとちょっと後悔しています)。結局、今回は以下構成のPCを購入しました(図3)

  • Pentium 4 3.4GHz (HTテクノロジ対応)x 1
  • 2GBメモリ
  • SATA HDD 74GB x 2(ホストOSおよびゲストOS用)
  • SATA HDD 250GB x 4(RAIDストレージ用)
  • Broadcom BC4852 8ポート SATA RAIDコントローラ x 1
図3 仮想化開発環境用に用意したPC

 図4は、このPCにVMwareをインストールし、3台のLinux仮想マシンと1台のWindows XP仮想マシンを動作させている画面です。この例のように、VMwareの操作画面では各仮想マシンの画面内容がサムネイル形式で表示されます。また最新バージョンでは複数の仮想マシンを「チーム」と呼ばれるグループにまとめ、チーム単位で一括した起動やシャットダウンが可能です(各仮想マシンは事前設定したインターバルを置いて起動します)。

図4 VMwareの動作例

 また仮想マシンが起動していない状態では、それぞれに割り当てるメモリやHDDのサイズをはじめ、デバイスの利用許可(CD-ROMやフロッピー、ネットワーク、USB、オーディオ)を指定できます。

図5 仮想マシンの設定画面

 仮想マシンのインストール作業にとりたてて難しい点はなく、ゲストOSからは通常のPCとまったく同じに見えます。よって、OSインストール用のCDで仮想マシンをブートし、いつもと同じ手順でWindows XPやLinuxをインストールします。また、いちどOSをインストールすれば、「クローン」機能によって仮想マシンをいくつでもコピーできます。

 またVMwareでは、各仮想マシンのコンソールを全画面表示することで、あたかもその仮想マシンを直接利用しているような感覚で操作可能です。もっとも筆者の環境では、オフィスから離れた場所に物理マシンを設置してあるので、LinuxのSSHとWindows XP Professionalのリモート・デスクトップ接続によるリモート・アクセスを行っています。

1/2

 INDEX

第2回 Java仮想化開発環境を構築
Page1
VMware Workstation 5の導入

パワフルなPCの用意
  Page2
ポータブルなJava開発環境を実現する
仮想マシンのパフォーマンスを考える

 




Java Solution全記事一覧

 



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間