この章では、Solaris Plug-Inで提供される特定のコンポーネントおよびプランを使用する方法について説明します。この章では、次の内容について説明します。
ソフトウェアの「Common Tasks」ページを使用して、Solaris 10 ゾーンの作成と管理を行えます。
大域ゾーンは、個々のゾーンが定義されるホストです。ローカルゾーンを作成する前に、ホストセット com.sun.solaris#global_zones に含まれるように定義されたホストが少なくとも 1 つ必要です。この手順では、ホストを大域ゾーンとして識別する方法について説明します。
左コントロールパネルの「Hosts Setup」セクションから「Hosts」を選択します。
大域ゾーン (container) として作成するホストの名前を「Name field」に入力して、「Create」をクリックします。
「com.sun.solaris#global_zone」を「host type」メニューから選択します。
必要に応じて、属性の値を変更します。
たとえば、接続タイプを RAW (デフォルト) から SSH または SSL に変更します。
ローカルゾーン接続に SSH を使用するには、ポートを 70000 に設定します。
適切なチェックボックスをクリックして、物理ホスト上のリモートエージェントまたはローカルディストリビュータを含めます。
左コントロールパネルの「Common Tasks」セクションの下にある Sun Solaris アイコンを選択します。
「Solaris Containers:Create and Manage link」を選択します。
「Create:Install」の横にある「Run action」をクリックします。
ローカルゾーンを作成するターゲットホストを選択します。
ターゲットホストは、com.sun.solaris#global_zones ホストセットのメンバーでなければなりません。
Plan Variables 設定からローカルゾーンホストの名前を選択します。
希望のローカルゾーン名が表示されていない場合は、新しいゾーン名を作成できます。新しいゾーン名を作成する場合は、次の手順に従います。
「Run Plan (includes preflight)」をクリックします。
デフォルトで N1 Grid Service Provisioning System コマンド行インタフェースは、次のディレクトリにあります。 /opt/SUNWn1sps/N1_Grid_Service_Provisioning_system_5.0/cli/bin/cr_cli
Container プロシージャーを実行する Solaris ゾーンプラグインのプランは、/com/sun/solaris/zones フォルダにあります。
この例は、N1 Grid Service Provisioning System コマンド行インタフェースを使用して、Solaris ゾーンを作成する方法を示しています。この例には、コマンドセグメントが 3 つ含まれています。すべてのコマンドで spsadmin サンプルユーザー名と x1y2z3 サンプルパスワードが使用されています。
最初のコマンドは、大域ゾーン用のホストを server10 に作成し、local_zone_default_name 、 local_zone_connection_type 、および local_zone_port 変数のデフォルト値を定義します。
% cr_cli -cmd hdb.h.mod host modify
-ID "NM:server10" target global host
-tID "NM:com.sun.solaris#global_zone" host type
-attr "local_zone_default_name=server10_z1;
local_zone_connection_type=RAW;
local_zone_port=1131" local zone attributes
-u spsadmin user name
-p x1y2z3 password
|
2 番目のコマンドは、デフォルト値を使用してローカルゾーンを作成します。
% cr_cli -cmd pe.p.run plan execution
-PID "NM:/com/sun/solaris/Container-create" create zone plan ID
-tar "H:NM:server10" target global host
-vs "+" default var set "default set"
-comp "+" default component "latest build"
-pto 6000 plan time 1 hr max [6000 secs]
-nto 6000 call time 1 hr max [6000 secs]
-u spsadmin user name
-p x1y2z3 user password
|
3 番目のコマンドは、ローカルゾーンをアクティブ化します。
% echo "server10_z1" | cr_cli -cmd pe.p.run plan execution, std input is zone name
-PID "NM:/com/sun/solaris/Container-activate" attach zone plan ID
-tar "H:NM:server10" target global host
-f "-" standard input args
-pto 6000 plan time 1 hr max [6000 secs]
-nto 6000 call time 1 hr max [6000 secs]
-u spsadmin user name
-p x1y2z3 user password
|
Solaris コンテナ 用に特定のコンポーネントタイプはありません。ただし、いくつかの特定のホストタイプは、Solaris コンテナ に関連します。詳細については、「ホストと Solaris ゾーン」を参照してください。
Container コンポーネントは、Solaris プラグインで提供される主コンポーネントです。Container コンポーネントは、アンタイプコンポーネントです。
Container コンポーネントは、いくつかのプロシージャーを含んでいます。これらのプロシージャーは、N1 Grid Service Provisioning System インタフェースから、または実行プラン内から直接実行できます。
Container コンポーネントを作成することで、対応するローカル Solaris 10 ゾーンが作成されます。このプロシージャーのホストターゲットは、プロビジョニングソフトウェアのリモートエージェントを実行する Solaris 10 ホストになります。ターゲットホストタイプは、com.sun.solaris#global_zone に設定する必要があります。create プロシージャーは、Solaris 10 zonecfg および zoneadm コマンドを使用して、Solaris 10 大域ゾーンからローカルの Solaris 10 ゾーンを構成し、インストールします。インストール後、このプロシージャーはリモートエージェントを新しく作成したローカルゾーンにインストールします。ホストページに、com.sun.solaris#local_zone タイプの新しいホストが表示されます。
このプロシージャーは、create プロシージャーと似ていますが、ゾーンは作成しません。代わりに、プロシージャーはホスト上の既存のローカルゾーンにアタッチします。このプロシージャーは、Container コンポーネントをプロビジョニングソフトウェアデータベースに作成し、リモートエージェントを既存のローカルゾーンにインストールします。attach プロシージャーは、N1 Grid Service Provisioning System 以外のツールでゾーンが作成された場合に便利です。たとえば、ゾーンが Solaris API 経由で直接作成された場合、または別のソフトウェア管理アプリケーションによって作成された場合は、attach プロシージャーを使用する必要があります。
detach プロシージャーは delete プロシージャーに似ています。このプロシージャーは、Container コンポーネントをプロビジョニングソフトウェアデータベースから削除して、リモートエージェントをアンインストールします。ただし、ローカルゾーンは、大域ゾーンホストから削除されません。ローカルゾーンがブートされると、それはブートされたままです。ローカルゾーンが停止されると、それは停止されたままです。
このプロシージャーは、ローカルゾーンをアクティブ化 (ブート) します。ターゲットの Solaris 10 ホストにインストールされている Container コンポーネントのリストから、ゾーンを選択できます。プロシージャーは、zoneadm -z zonename boot コマンドを使用します。このプロシージャーは、準備されていないホスト用にプロビジョニングソフトウェアのホスト準備を開始します。
このプロシージャーは、ローカルゾーンを非アクティブ化 (停止) します。ターゲットの Solaris 10 ホストにインストールされている Container コンポーネントのリストから、ゾーンを選択できます。プロシージャーは、zoneadm -z zonename halt コマンドを使用します。
delete プロシージャーは、Solaris 10 zonecfg および zoneadm コマンドを使用して、大域ゾーンホストから指定の Solaris 10 ローカルゾーンを削除します。このプロシージャーは、タイプする Container コンポーネントをプロビジョニングソフトウェアデータベースから削除します。
Container コンポーネント用に記述された各プロシージャーについては、関連するプランが /com/sun/solaris plan フォルダに用意されています。これらのプランは、コマンド行のシェル呼び出しと共に使用するのに便利です。例 3–1を参照してください。
Solaris Plug-In には、Solaris 10 ゾーン用に特定のホストセット、ホスト検索、および の 2 つのホストタイプが含まれています。
ゾーンをインストールするホストはすべて、大域ゾーンホストセットのメンバーでなければなりません。この関連性を保証するためには、ターゲットホストのホストタイプを com.sun.solaris#global_zone に設定します。
大域ゾーンホスト検索は、大域ゾーンであるホストと一致する検索文字列を提供します。
ゾーンをインストールする物理ホストは、ホストタイプが com.sun.solaris#global_zone でなければなりません。
Container コンポーネントを大域ゾーンホストにインストールする場合、プロビジョニングソフトウェアはホストタイプ com.sun.solaris#local_zone を作成します。
Solaris ゾーンをプロビジョニングソフトウェアを使用して管理する上で問題が生じた場合、問題が存在することを伝えるメッセージが画面上に表示されます。
たとえば、大域ゾーンとして認識されていないターゲットホストにローカルゾーンを作成しようとすると、次のようなメッセージが表示されます。
Problems encountered during plan run or preflight The plan (or preflight) "/system/autogen/Container-inst-create-1098225529078" finished with 1 failed host(s). The specified target host "masterserver" was not in the required host set "com.sun.solaris#global_zones" for component "/com/sun/solaris/Container". |
この例のメッセージは、簡単に判読できますが、すべてのメッセージがわかり易いとは限りません。特定の問題に関してより多くの情報を見つけるには、「Details」リンクをたどってください。