連載: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全記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|