ここでは、Java ES の現在のリリースの Solaris 10 ゾーンのサポートについてその概要を説明します。インストールシーケンスの例が含まれます。この節では、次のトピックについて説明します。
Solaris 10 ゾーン (Solaris コンテナとも呼ばれる) 機能は、Solaris OS のインスタンス内に、オペレーティングシステム環境を仮想化する手段を提供します。この機能により、ホストの別のアクティビティーとは分離して 1 つまたは複数のプロセスが実行可能になります。たとえば、ゾーンで実行するプロセスは、ユーザー ID やその他の資格情報に関係なく、同じゾーンの別のプロセスに信号だけを送信することができます。
すべての Solaris 10 ホストには、1 つの大域ゾーンが含まれています。大域ゾーンは、ホストのデフォルトゾーンであると同時にシステム全体の管理コントロールに使用するゾーンです。グローバル管理者によって非大域ゾーンが作成されない場合、すべてのプロセスが大域ゾーンで実行されます。Sun Cluster ソフトウェアなど一部の Java ES 製品コンポーネントは、大域ゾーンにのみインストールできます。非大域ゾーンは、ボックスとみなすことができます。残りのホストと相互に作用することなく、このボックス内で 1 つまたは複数のアプリケーションを実行することができます。各非大域ゾーンは、その非大域ゾーンに特有の設定およびその他の情報を持つ、インストールされた Solaris 10 オペレーティングシステムの独自のインスタンスであるように見えます。パッケージが大域ゾーンにインストールされると、デフォルトではすべての非大域ゾーンに伝播されます。つまり、パッケージは大域ゾーンだけでなく非大域ゾーンにもインストールされます。この伝播により、非大域ゾーンは、大域ゾーンにインストールされたパッケージからアクセスして利用できるようになります。この伝播動作は、パッケージを追加したときに大域ゾーンだけに伝播されるように抑制することもできます。デフォルトでは、非大域ゾーンは大域ゾーンのファイルシステムの一部を共有するように設定されます。2 種類の非大域ゾーンがサポートされます。完全ルートゾーンと疎ルートゾーンです。
「完全ルートゾーン」には、大域ゾーンに存在するファイルシステムの読み取り/書き込みコピーが含まれます。完全ルートゾーンを作成すると、大域ゾーンにインストールされているすべてのパッケージをその完全ルートゾーンで利用できます。パッケージデータベースを作成すると、すべてのパッケージが完全ルートゾーンにコピーされます。つまり、すべてのファイルのコピーが、完全ルートゾーンだけが使用できる独立したコピーとして作成されます。
「疎ルートゾーン」には、大域ゾーンに存在するファイルシステムの一部分だけの読み取り/書き込みコピーが含まれます。その他のファイルシステムは、ループバック仮想ファイルシステム (/usr など) として大域ゾーンから読み取り専用としてマウントされます。グローバル管理者は、疎ルートゾーンを作成するときに、疎ルートゾーンと共有するファイルシステムを選択します。
Java ES では、疎ルートゾーンに対して /opt ファイルシステムは大域ゾーンから継承されず、そのため書き込み可能であると想定されます。
ゾーンを正常に配備するには、配備タスクとそれらのシーケンスを慎重に計画することが重要です。Java ES コンポーネントは、ほぼすべてのゾーンにインストールすることができ、その組み合わせや順序に制限はほとんどありません。ただし、Java ES 製品コンポーネントをインストールする順序、および非大域ゾーンを作成する順序が重要になる場合もあります。Solaris ゾーン環境に Java ES を実装する計画の詳細については、『Sun Java Enterprise System 5 インストール計画ガイド』の付録 A「Java ES と Solaris 10 ゾーン」を参照してください。
Java ES のこのリリースでのゾーンサポートのレベルは、次のとおりです。
完全ルートゾーンと疎ルートゾーンの両方がサポートされます。
非大域ゾーンがすでに存在する場合、Java ES を大域ゾーンにインストールできます。
非大域ゾーンは、Java ES を大域ゾーンにインストールした後に作成できます。
ゾーン内で共有されるすべてのコンポーネントは、同じリリースの Java ES のコンポーネントでなければなりません。
Java ES の完全ルートと疎ルートを 1 つのコンピュータ上に混在して配備しないでください。
Java ES インストーラを使って Java ES コンポーネントを疎ルートゾーンにインストールできますが、次の例外があります。
Sun Cluster ソフトウェア、Sun Cluster Geographic Edition、および Sun Cluster Agents は、大域ゾーンにのみインストールできます。
Message Queue は、大域ゾーンまたは完全ルートゾーンのみでインストールまたはアップグレードできます。
共有コンポーネントは、大域ゾーンまたは完全ルートゾーンのみでインストールまたはアップグレードできます。
Application Server を疎ルートゾーンにインストールするには、オペレーティングシステムにバンドルされているあらゆるバージョンの Application Server を事前に手動で大域ゾーンから削除する必要があります。
Java ES インストーラでは、大域ゾーンにインストールするパッケージの伝播が次のように制御されます。
共有コンポーネントは常に伝播されます。
Message Queue および Java DB は常に伝播されます。
その他のすべての製品コンポーネントは伝播されません。
以前のバージョンの Java ES を完全ルートゾーンにインストールしている場合は、Java ES を 大域ゾーンにインストールしないでください。
特定のバージョンの Sun Java Web Console が完全ルートゾーンにすでにインストールされている場合は、共有コンポーネントを完全ルートゾーンにインストールできないことがあります。その結果、製品コンポーネントを完全ルートゾーンにインストールできなくなることがあります。
この状況については、『Sun Java Enterprise System 5 リリースノート (UNIX 版)』のバグ 6451030 で扱っています。
以前のバージョンの Sun Java Web Console パッケージのうち一部のバージョンには、Sun Java Web Console を完全ルートゾーンでアップグレードすることを妨げる不正な属性設定が含まれています。この不正な属性設定が含まれる Sun Java Web Console パッケージは、Solaris 10、Solaris 10 Update 1 (1/06)、Solaris 10 Update 2 (6/06)、および Java ES 4 (2005Q4) と一緒に出荷されました。これらのパッケージは、Solaris 10 Update 3 (11/06) および Java ES 5 で修正されています。ホストにインストールされているパッケージに問題があるかどうかを判断するには、大域ゾーンで次のコマンドを実行してください。
pkgparam -v SUNWmcon SUNW_PKG_ALLZONES
次の値が返された場合は、ホストにインストールされているパッケージに問題があります。
SUNW_PKG_ALLZONES='true'
Java ES 5 を完全ルートゾーンにインストールする場合は、最初に Sun Java Web Console パッケージを大域ゾーンでアップグレードする必要があります。次の方法があります。
方法 1: Java ES インストーラを大域ゾーンで実行し、「すべての共有コンポーネント」だけをインストールします。Sun Java Web Console パッケージがアップグレードされ、ゾーン属性が修正されます。また、その他の Java ES 5 共有コンポーネントがすべて大域ゾーンにインストールされ、すべての非大域ゾーンに伝播されます。この方法は、状況によっては利用できないことがあります。以前のバージョンの Java ES を完全ルートゾーンにインストールしている場合は、推奨されない方法です。
方法 2: Sun Java Web Console パッケージだけを大域ゾーンでアップグレードします。この処理を行うには、大域ゾーンにログインし、Solaris の Java ES 5 インストールディレクトリに移動します。スーパーユーザーとして、次のコマンドを実行します。cd Product/sunwebconsole./setupSun Java Web Console が、修復されたゾーン属性が含まれるバージョン 3.0.2 にアップグレードされます。
Product/sunwebconsole ディレクトリは完全版の Java ES 5 インストーラにのみ存在し、Java ES スイートのインストーラでは利用できません。スイートのインストーラを使用している場合、このディレクトリにアクセスするには、完全版の Java ES 5 インストーラをダウンロードして解凍する必要があります。
いずれかの方法を適用したら、完全ルートゾーンに Java ES 5 コンポーネントをインストールできます。
この例では、Solaris 10 完全ルートゾーンに Java ES ソフトウェアをインストールためのガイドラインについて説明します。
大まかにいって次のタスクが必要です。
ホストに Solaris 10 がインストールされているかどうかを確認します。
大域ゾーンは自動的に作成されます。
すべての完全ルートゾーンが実行状態であることを確認します。
ゾーンは、設定、インストール、およびブートが完了すると実行状態になります。完全ルートゾーンの作成に関する詳細については、『System Administration Guide: Solaris Containers-Resource Management and Solaris Zones』の第 18 章「Planning and Configuring Non-Global Zones (Tasks)」を参照してください。
インストールシーケンスのガイドラインをチェックします。
どのシーケンスガイドラインを適用するのかをチェックします。表 2–1を参照してください。
インストールの前提要件をチェックします。
どのインストール前提条件を適用するのかをチェックします。表 1–3を参照してください。
希望する完全ルートゾーンで Java ES インストーラを起動します。
コンポーネントの選択で、希望するコンポーネントを選択します。
コンポーネントを完全ルートゾーンにインストールできない場合は、そのコンポーネントをコンポーネントの選択で選択できません。
インストールサマリーとログを表示します
必要に応じて、インストール後の設定を完了します
インストール後の設定手順については、第 6 章「インストール後の設定の実行」を参照してください。
製品コンポーネントを起動します。
Java ES 製品コンポーネントの起動と停止の手順については、第 7 章「インストール済み製品コンポーネントの確認」を参照してください。
必要に応じて、追加の完全ルートゾーンでこのプロセスを繰り返します。
この例では、Solaris 10 疎ルートゾーンに Java ES ソフトウェアをインストールするためのガイドラインについて説明します。
ホストに Solaris 10 がインストールされているかどうかを確認します。
大域ゾーンは自動的に作成されます。
すべての疎ルートゾーンが実行状態であることを確認します。
ゾーンは、設定、インストール、およびブートが完了すると実行状態になります。疎ルートゾーンについては、『System Administration Guide: Solaris Containers-Resource Management and Solaris Zones』の第 18 章「Planning and Configuring Non-Global Zones (Tasks)」を参照してください。
インストールシーケンスのガイドラインをチェックします。
どのシーケンスガイドラインを適用するのかをチェックします。表 2–1を参照してください。
インストールの前提要件をチェックします。
どのインストール前提条件を適用するのかをチェックします。表 1–3を参照してください。
Java ES インストーラを大域ゾーンで起動し、共有コンポーネントだけを選択します。
「すべての共有コンポーネント」だけを選択します。その他のコンポーネントは選択しないでください。共有コンポーネントのインストールが完了すると、共有コンポーネントが大域ゾーンにインストールされ、すべての非大域ゾーンに伝播します。
多言語パッケージを使用する共有コンポーネントの場合は、Java ES 多言語パッケージが大域ゾーンに存在している必要があります。
Message Queue または Application Server が使用されている場合は、大域ゾーンで Message Queue をアップグレードします。
Message Queue は Solaris 10 のインストール中にインストールされることが多く、疎ルートゾーンへのインストールはサポートされていません。そのため、Message Queue は大域ゾーンにのみインストールできます。インストールすると、すべての非大域ゾーンに伝播されます。
Application Server が使用されている場合は、大域ゾーンからバンドルされた Application Server を削除します。
Application Server が配備環境で使用されている場合は、Solaris 10 にバンドルされている Application Server を大域ゾーンから削除する必要があります。大域ゾーンのホストで、次のコマンドを使用して Application Server パッケージの一覧を表示します。
pkginfo -i | grep -i "application server" |
Application Server パッケージが存在する場合は、大域ゾーンから削除します。これらのパッケージはすべての非大域ゾーンから自動的に削除されるため、各疎ルートゾーンに移動して Application Server を再インストールする必要があります。
希望する疎ルートゾーンで Java ES インストーラを起動します。
コンポーネントの選択で、希望するコンポーネントを選択します。
コンポーネントを疎ルートゾーンにインストールできない場合は、そのコンポーネントをコンポーネントの選択で選択できません。
インストールサマリーとログを表示します
必要に応じて、インストール後の設定を完了します
インストール後の設定手順については、第 6 章「インストール後の設定の実行」を参照してください。
製品コンポーネントを起動します。
Java ES 製品コンポーネントの起動と停止の手順については、第 7 章「インストール済み製品コンポーネントの確認」を参照してください。
必要に応じて、追加の疎ルートゾーンでこのプロセスを繰り返します。