Sun Java System Application Server 9.1 は、オープンソースである GlassFish Version 2 アプリケーションサーバーの Sun がサポートしているディストリビューションです。この記事では、区別が必要な場合を除いて、Application Server という記述で両方のアプリケーションサーバーを表します。
この記事を通して、Solaris および Solaris OS という記述は、区別が必要な場合を除き、Solaris 10 オペレーティングシステムを表します。
Solaris ゾーンは、集中ソフトウェア管理や高い信頼性が重要な場合の配備に有効です。Solaris ゾーンに Application Server をインストールする場合は、特別な注意が必要です。
Solaris OS のゾーンについて
Solaris ゾーンは、Solaris OS 内部で分割された仮想 OS 環境です。各ゾーンは 1 台のマシン内で、完全に分離された仮想サーバーとして動作します。オペレーティングシステムの資源管理機能と一緒に使用された場合、Solaris 「コンテナ」として知られているゾーンが基本型となります。
Application Server (Sun Java System Application Server 9.1 および GlassFish Version 2) はソースをダウンロードして、バイナリとして入手できます。バイナリは、ネイティブパッケージベースの形式 (Linux OS の RPM パッケージ、および Solaris OS の SVR4
パッケージ) でも配布されます。この記事では、ダウンロード可能なスタンドアロンのパッケージベースインストーラを通してインストールされたネイティブ Solaris パッケージベースのバイナリのインストールについてのみ説明します。ファイルベースのインストーラ (一般的には zip 形式) は、書き込み可能なディレクトリにインストールするかぎり、ゾーンサポートの制限を受けることなくどこにでもインストールできます。
次のインストールオプションは、Solaris ゾーンで Application Server をインストールまたはアップグレードするときに、混乱の原因となる可能性があります。
Solaris OS 10 にバンドルされた Application Server – Solaris 10 OS に Sun Java System Application Server の Version 8.x がバンドルされ、/usr/appserver 以下にインストールされます。
Solaris OS 10 にバンドルされた Sun Java System Message Queue – Solaris 10 OS に Sun Java System Message Queue (以降、Message Queue) の Version 3.7 Update Release 1 がバンドルされ、/usr 以下にインストールされます。
インストール済みの Java Enterprise System (Java ES) – 以前のバージョンの Java ES パッケージが、いずれかのゾーンにインストールされている可能性があります。この場合、Java ES インストーラは、以前の Java ES インストーラによってインストールされた Application Server と Message Queue のアップグレード版を自動的に処理します。ただし、Message Queue は大域ゾーンと完全ルートゾーンでのみアップグレード可能で、疎ゾーンではアップグレードできません。
SVR4 パッケージの伝播レベルの違い - Application Server パッケージと関連したコンポーネントのゾーン内の伝播は、インストールの方法に応じて異なる場合があります。たとえば、次のような場合があります。
Solaris にバンドルされた Application Server の場合、パッケージはすべてのゾーンに伝播されるように設定されます。結果として、大域ゾーンからパッケージを削除すると、疎ゾーン内にあるこのパッケージの参照は削除されます。
Solaris にバンドルされた Application Server を Java ES インストーラを使ってアップグレードする場合、伝播レベルは「大域ゾーン」のみにリセットされます。
Application Server インストーラは、Sun Java System Message Queue 4.1、High-Availability Database 4.4.3-6 (HADB)、JDK 5 Update 12 などの一連の共用コンポーネントもインストールします。Application Server インストーラは、大域ゾーンおよび完全ルートゾーンでこれらのコンポーネントの古いバージョンを検出すると、自動的にコンポーネントをアップグレードします。HADB は疎ゾーンでアップグレードできます。
Sun Java System Application Server 9.1 の Application Server と HADB パッケージ部分は、大域ゾーンにインストールするときに、ほかのゾーンに伝播されません。結果として、大域ゾーンにインストールした Application Server のバージョンと競合することなく、非大域ゾーンに複数のバージョンをインストールすることができます。
一方、共用コンポーネントと Message Queue のパッケージは、Application Server が大域ゾーンにインストールされるときに、常にすべてのゾーンに伝播されます。
次の節では、ゾーンにインストールされた既存の Application Server の種類を考察し、新しいインストールとの関連について説明します。
Application Server が大域ゾーンにインストールされる前に、インストール環境は次の条件の 1 つを満たします。
Solaris バンドル版の Application Server が、大域ゾーンにインストールされている。
Java ES ソフトウェアのいずれかのバージョンがインストールされている。
バンドル版の Application Server も、以前のバージョンの Java ES もインストールされていない。これは、Application Server がインストールされていない、「クリーン」な環境です。
明らかに環境がクリーンな場合 (前述の 3 の場合) は、否定的な結果や予測できない結果にならず、Application Server のインストーラを使用して直接インストールできます。ここでは、最初の 2 つのケースについて、その関連を考察します。
Solaris バンドル版から Application Server が大域ゾーンにインストールされている場合
バンドル版の Application Server が大域ゾーンにインストールされているかどうかを判断するには、次の手順を実行する必要があります。
システムで Application Server SVR4 パッケージを検索します。Solaris 10 の一部としてインストールされた Application Server パッケージの正式なリストは、オンラインの『Sun OS Package List』で確認できます。
このリストから、Application Server パッケージの SUNWasac、SUNWascmn、SUNWasdb、SUNWasdem、SUNWasdemdb、SUNWasjdoc、SUNWasman、SUNWasr、SUNWasu、および SUNWasut を検索します。Solaris 10 Update 3 以上を使用している場合は、SUNWasjavadb パッケージ (Application Server のみで使用される非公開バージョンの Java DB) もインストールされます。
バンドル版 Application Server のインストールディレクトリの内容を検証します。Solaris 10 バンドル版の Application Server は、常に /usr/appserver 以下にインストールされます。Application Server のバージョンを確認するには、コマンド /usr/appserver/bin/asadmin version -v を実行します。このコマンドの実行パスにより、Java ES ではなく、/usr/appserver 以下にインストールされた Application Server を確実に検索できます。バージョン番号を記録します。以降のインストールの実行方法を決定する際に役立ちます。
Solaris バンドル版の Application Server から作成されたデフォルトドメインが存在するかどうか、および使用されているかどうかを確認します。そのドメインがアクティブであるか、また使用されている場所がわからない場合は、次の手順で Application Server の製品全体の設定ファイル asenv.conf を調査してドメインを探します。ファイルのパスを次の方法で探します。
バンドル版の Application Server がシステムにインストールされていることを確認したら、以降のインストールおよびアップグレードに関して次の点を考慮する必要があります。
使用しているシステムで、大域ゾーンにバンドル版の Application Server がインストールされている場合、大域ゾーンにインストールされている Application Server と Message Queue パッケージが、デフォルトでほかのゾーンに伝播されるように設定されていることを認識する必要があります。疎ゾーンを使用する場合は、おそらくそれぞれに個別の Application Server があるため、大域ゾーンの Application Server をアンインストールする必要があります。アンインストールするには、『Solaris 10 パッケージリスト』に示されている上述の SVR4 パッケージのすべてを削除する必要があります。
疎ゾーンで個別の Application Server を使用しない場合は、SVR4 パッケージを削除する必要はありません。
大域ゾーンから Application Server を削除したら、新しいディレクトリかアップグレードした既存のインストールディレクトリのいずれかに Application Server をインストールでき、必要なファイルを上書きします。既存のディレクトリを使用して以前のバージョンを上書きする場合は、/usr をインストールディレクトリとして選択します。インストールパスには、appserver が自動的に付加されます。
注: バンドル版の Application Server を使用していて、アクティブなドメインがある場合は、/usr 以下にバイナリをインストールしないように注意してください。インストールによってデフォルトドメインのディレクトリが上書きされます。このような場合は、別のインストールディレクトリを指定します。インストール後に、Upgrade Tool (InstallDir/bin/asupgrade にある) を使用して、アプリケーションを以前のドメインから新しいインストールのドメインに移動します。このツールは、Application Server の一部としてインストールされます。詳細は、『Sun Java System Application Server 9.1 Upgrade and Migration Guide』を参照してください。
Application Server を /usr 以下の大域ゾーンにインストールすると、ほかの疎ゾーンからこのディレクトリを参照 (読み取り専用のエントリとしてマウント) できるため、Application Server のバイナリを使用して疎ゾーンにドメインを作成できるという利点があります。Application Server がファイル (ドメイン、データベースログ、プロパティーファイルなど) を書き込む場所は、書き込み可能なディレクトリに変更する必要があります。asadmin コマンドを実行するときに、ディレクトリを指定できます。たとえば、次のコマンドは、writable_dir/domains に管理ドメインを作成します。このディレクトリは、Application Server が書き込み権を持つディレクトリです。
Sun Java System Application Server 9.1 と Java ES のインストール中に作成されたデフォルトドメインのディレクトリの場所は異なります。Java ES では、デフォルトの場所は /var/opt/SUNWappserver/domains です。Java ES インストーラと異なり、Application Server インストーラではドメインのルートディレクトリを選択できません。ドメインは常に、インストール時に選択したインストールディレクトリ以下に作成されます。したがって、Java ES のインストール中にドメインルートとインストールルートが明示的に同じディレクトリに設定されていないかぎり、domains ディレクトリを上書きする心配はありません。
Sun Java System Application Server 9.1 インストーラは、Java ES 5 Update 1 からのアップグレードのみをサポートします。それ以前のバージョンの Java ES を使用している場合は、最初に Java ES 5 Update 1 にアップグレードし、Sun Java System Application Server 9.1 インストーラを実行します。
Java ES 5 Update 1 には、Sun Java System Application Server 8.2 Update 1 Enterprise Edition が含まれ、これがインストールされます。このバージョンと Sun Java System Application Server 9.1 は、同じ SVR4 パッケージ名を維持しています。したがって、異なる 2 つのバージョンを同じマシンにインストールすることはできません。デフォルトドメインのディレクトリはインストーラごとに異なるため、アップグレードは次のように段階的に実行します。
Java ES 5 Update 1 の一部としてインストールされた既存の Application Server パッケージを削除して、バイナリをアップグレードします。続いて、Sun Java System Application Server 9.1 パッケージを選択したディレクトリにインストールします。この処理は、Sun Java System Application Server 9.1 インストーラによって自動的に実行されます。
バイナリがアップグレードされると、Sun Java System Application Server 9.1 の Upgrade Wizard が実行されます。このツールは、新しくインストールされた Application Server から bin/asupgrade コマンドを入力することによって起動できます。Upgrade Wizard で、Java ES 5 Update 1 ドメインディレクトリを「ソースドメインディレクトリ」として指定し、Sun Java System Application Server 9.1 ドメインディレクトリを「ターゲットドメインのルートディレクトリ」として指定します。
Solaris バンドル版の Application Server が大域ゾーンにインストールされている場合
バンドル版の Application Server が大域ゾーンにインストールされているかどうかを判断するには、次の手順を実行します。
システムで Application Server SVR4 パッケージを検索します。Solaris 10 の一部としてインストールされた Application Server パッケージの正式なリストは、オンラインの『Solaris 10 パッケージリスト』で確認できます。
このリストから、Application Server パッケージの SUNWasac、SUNWascmn、SUNWasdb、SUNWasdem、SUNWasdemdb、SUNWasjdoc、SUNWasman、SUNWasr、SUNWasu、および SUNWasut を検索します。Solaris 10 Update 3 以上を使用している場合は、SUNWasjavadb パッケージ (Application Server のみで使用される非公開バージョンの Java DB) もインストールされます。
バンドル版 Application Server のインストールディレクトリの内容を検証します。Solaris 10 バンドル版の Application Server は、常に /usr/appserver 以下にインストールされます。アプリケーションサーバーのバージョンを確認するには、/usr/appserver/bin/asadmin version -v コマンドを実行します。このコマンドの実行パスにより、Java ES バンドル版ではなく、/usr/appserver 以下にインストールされている Solaris バンドル版の Application Server のバージョンを確実に検索できます。
Solaris バンドル版の Application Server から作成されたデフォルトドメインが存在するかどうか、および使用されているかどうかを確認します。そのドメインがアクティブであるか、また使用されている場所がわからない場合は、次の手順でドメインを探します。
Application Server のインストールでは、Message Queue のコンポーネントを明示的に選択することはできません。これらのコンポーネントは非表示で、ほかのコンポーネントをインストールするときに自動的に選択または選択解除されます。インストール可能な Application Server のコンポーネントを選択すると、Message Queue コンポーネントは常に選択されます。たとえば、Sun Java System Application Server 9.1 インストーラを実行して、「サンプルアプリケーション」 を選択すると、Message Queue 4.1 が Application Server インストールの一部としてインストールされます。
あるいは、ブラウザを使用して Open Message Queue download pageにアクセスし、「Latest Open MQ 4.1 GUI Install Downloads」の下にある Solaris の該当するリンクをクリックして、Message Queue 4.1 SVR4 パッケージをインストールします。
Application Server が Java ES によって大域ゾーンにインストールされている場合
Application Server が Java ES インストールによって大域ゾーンにインストールされている場合は、大域ゾーンにインストールされた共用コンポーネントと Message Queue が疎ゾーンに伝播されます。ただし、Application Server は伝播されません。
Application Server を疎ゾーンにインストールするには、次の手順に従います。
疎ゾーンへのインストールの前に、次の準備作業を実行します。
大域ゾーンで Sun Java System Application Server 9.1 インストーラを実行します。
インストーラで、「高可用性データベースサーバー」または「サンプルアプリケーション」を選択します。
JDK をインストールするように選択し、すべてのコンポーネントをアップグレードします。
Application Server を疎ゾーンにインストールします。
Application Server が Java ES によって疎ゾーンにインストールされている場合
Java ES によって疎ゾーンにインストールされた Application Server をアップグレードするには、次の手順に従います。
大域ゾーンで Sun Java System Application Server 9.1 インストーラを実行します。
インストーラで、「高可用性データベースサーバー」または「サンプルアプリケーション」を選択します。
JDK をインストールするように選択し、すべてのコンポーネントをアップグレードします。
Sun Java System Application Server 9.1 インストーラを疎ゾーンで実行し、疎ゾーンの Java ES インストールをアップグレードします。
Sun Java System Application Server 9.1 インストーラによって Application Server が大域ゾーンにインストールされている場合
Application Server インストーラによって Application Server が大域ゾーンにインストールされている場合は、Application Server パッケージは疎ゾーンに伝播されないため、別のバージョンの Application Server を疎ゾーンにインストールすることができます。
完全ルートゾーンでの Application Server のインストールは、ほかのゾーンでのインストールよりも簡単です。Application Server のすべてのコンポーネント (共用コンポーネント、Message Queue、HADB など) は、大域ゾーンと疎ゾーンを含むほかのゾーンのパッケージに関係なくインストールできます。
Solaris のゾーンは、さまざまな目的で効果的に利用できますが、Application Server のインストールが複雑になる原因にもなります。ゾーンに Sun Java System Application Server 9.1 または GlassFish Version 2 をインストールする場合は、大域ゾーンと非大域ゾーン間の伝播や優先順位に影響する多数の要因を考慮する必要があります。