Oracle Solaris のシステム管理 (Oracle Solaris コンテナ : 資源管理と Oracle Solaris ゾーン)

パート III lx ブランドゾーン

Solaris 10 8/07: ブランドゾーンは、このリリースから使用可能になりました。

BrandZ は、ネイティブでないオペレーティング環境を含む非大域ブランドゾーンを作成するためのフレームワークを提供します。ブランドゾーンは、Solaris オペレーティングシステムでアプリケーションを実行するために使用されます。

使用可能な最初のブランドは lx ブランドで、これは Linux アプリケーション用の Solaris コンテナです。lx ブランドはアプリケーションに Linux 環境を提供するもので、x86 および x64 マシンで稼働します。

第 31 章 ブランドゾーンと Linux ブランドゾーンについて

Solaris 10 8/07 リリースから、ブランドゾーンが使用可能になりました。以降の更新リリースで追加された機能は、リリースごとに分類されています。

Solaris オペレーティングシステムのブランドゾーン機能は、Solaris ゾーンの単純な拡張です。この章では、ブランドゾーンの概念と、Linux ブランドゾーン機能を実装する lx ブランドについて説明します。Linux ブランドゾーンは、Linux アプリケーション用 Solaris コンテナとも呼ばれます。


注 –

ラベルが有効になっている Trusted Solaris システムにブランドゾーンを構成してインストールすることはできますが、このシステム構成でブランドゾーンを起動することはできません。



注 –

Solaris オペレーティングシステムでは、追加のブランドがサポートされています。

Solaris 10 8/07 オペレーティングシステムまたはそれ以降の Solaris 10 リリースを実行する SPARC マシンでは、次の 2 つのブランドがサポートされています。

docs.sun.comSun Cluster 3.2 1/09 Software Collection for Solaris OS に記載されているクラスタ ブランドも、Solaris 10 リリースでサポートされています。


Solaris システムでのゾーンの使用について

Solaris システムでのゾーンの使用に関する一般的な情報については、第 16 章Solaris ゾーンの紹介を参照してください。

次に示すゾーンおよび資源管理の概念について、よく理解しておくようにしてください。

用語集には、ゾーンと資源管理機能で使用される用語の定義が記載されています。

システムでブランドゾーンを使用するために必要な追加情報は、マニュアルのこのパートに記載されています。


注 –

このマニュアルで、次の章はブランドゾーンには当てはまりません。


ブランドゾーン技術

ブランドゾーン (BrandZ) フレームワークは、このマニュアルのパート II「ゾーン」で説明されている Solaris ゾーンインフラストラクチャーを拡張して、ブランドの作成機能を追加します。「ブランド」という用語は、さまざまなオペレーティング環境を指す場合があります。BrandZ を使用すると、アプリケーションを実行するための、ネイティブでないオペレーティング環境を含む非大域ブランドゾーンを作成できます。ブランドタイプにより、ゾーンのインストール時および起動時に実行されるスクリプトが決定されます。また、ゾーンのブランドにより、アプリケーションの起動時に正しいアプリケーションタイプが適切に識別されます。すべてのブランド管理は、現在のゾーン構造の拡張を通して実行されます。

ブランドでは、単純な環境を提供することも、複雑な環境を提供することもできます。たとえば、単純な環境では、Solaris の標準ユーティリティーを同等の GNU ユーティリティーで置き換えることができます。複雑な環境では、Linux アプリケーションの実行をサポートする完全な Linux ユーザー空間を提供できます。

すべてのゾーンに、それぞれ関連するブランドが構成されます。デフォルトは native ブランド、つまり Solaris です。ブランドゾーンは、ネイティブでないバイナリのブランドを 1 つだけサポートします。つまり、1 つのブランドゾーンは 1 つのオペレーティング環境を提供します。

BrandZ はゾーンのツールを次のように拡張します。


注 –

構成済み状態にあるゾーンのブランドは変更することができます。ブランドゾーンのインストールが完了したあとは、そのブランドの変更や削除を行うことはできません。


ブランドゾーンで実行中のプロセス

ブランドゾーンでは、ブランドゾーンで実行中のプロセスだけに適用される一連の介入ポイントがカーネル内に用意されます。

ブランドは librtld_db のプラグインライブラリを提供することもできます。デバッガ (mdb(1) のマニュアルページを参照) や DTrace (dtrace(1M) のマニュアルページを参照) といった Solaris のツールは、このプラグインライブラリを使用して、ブランドゾーン内で実行中のプロセスのシンボル情報にアクセスできます。

ブランドゾーンのデバイスのサポート

各ゾーンでサポートされるデバイスについては、そのブランドに関するマニュアルページやほかのマニュアルに記載されています。デバイスのサポートは、ブランドによって定義されます。ブランドでは、サポートされていないデバイスや認識されないデバイスの追加を禁止するように選択することができます。

ブランドゾーンのファイルシステムのサポート

ブランドゾーンに必要なファイルシステムは、ブランドによって定義されます。

ブランドゾーンの特権

ブランドゾーンで使用できる特権は、ブランドによって定義されます。特権の詳細については、「非大域ゾーン内の特権」および lx ブランドゾーンで構成可能な特権」を参照してください。

lx ブランドについて

lx ブランドは、ブランドゾーンフレームワークを使用して、Linux バイナリアプリケーションを変更することなく、Solaris オペレーティングシステムのカーネルを備えたマシンで実行できるようにします。

マシンは、サポートされている次の i686 プロセッサタイプのいずれかを備えている必要があります。

サポートされている Linux ディストリビューション

lx ブランドには、CentOS 3.x または Red Hat Enterprise Linux 3.x ディストリビューションを非大域ゾーン内にインストールするために必要なツールが含まれています。各ディストリビューションのバージョン 3.5 から 3.8 までがサポートされています。このブランドでは、32 ビットまたは 64 ビットモードの Solaris システムが稼働している x86 マシンおよび x64 マシンで、32 ビット Linux アプリケーションを実行できます。

lx ブランドは、Linux 2.4.21 カーネルで提供されるシステムコールインタフェースをエミュレートします。このカーネルは、Red Hat の RHEL 3.x ディストリビューションでの変更に従っています。このカーネルは、Red Hat によってリリースされた glibc バージョン 2.3.2 で消費されるシステムコールインタフェースを提供します。

また、lx ブランドは、Linux の /dev/proc のインタフェースを部分的にエミュレートします。


注意 – 注意 –

lx ブランドゾーンにパッケージを追加する場合は、サポートされている構成を維持する必要があります。詳細は、「サポートされている構成の保守について」を参照してください。


アプリケーションのサポート

Solaris システムでは、lx ブランドゾーン内で実行できる Linux アプリケーションの数は制限されていません。十分なメモリーを使用できることが必要です。「システム要件と容量要件」も参照してください。

配下のカーネルに関わらず、実行できるのは 32 ビット Linux アプリケーションだけです。

lx ゾーンでは、ユーザーレベルの Linux アプリケーションだけがサポートされます。Linux デバイスドライバ、Linux カーネルモジュール、または Linux ファイルシステムを lx ゾーン内から使用することはできません。

lx ブランドで正常に実行された実績のあるいくつかのアプリケーションのリストについては、「http://hub.opensolaris.org/bin/view/Community+Group+brandz/applications」を参照してください。アプリケーションのインストール例については、lx ブランドゾーンにアプリケーションをインストールする方法」を参照してください。

lx ゾーン内部で Solaris アプリケーションを実行することはできません。ただし、lx ゾーンを使用すると、Solaris システムを使用して Linux アプリケーションの開発、テスト、および配備を行うことができます。たとえば、Linux アプリケーションを lx ゾーンに配置し、大域ゾーンから Solaris ツールを実行してそれを解析することができます。その後、改善を加えチューニングしたアプリケーションを、ネイティブな Linux システムに配備することができます。

デバッグツール

DTrace や mdb などの Solaris デバッグツールを、ゾーン内部で実行中の Linux プロセスに適用することができます。ただし、ツール自体は大域ゾーンで実行する必要があります。生成されるコアファイルは、すべて Solaris 形式で作成され、Solaris ツールでのみデバッグすることができます。

DTrace lxsyscall 動的トレースプロバイダにより、Linux アプリケーションに対して DTrace が使用可能になります。このプロバイダの動作は、DTrace syscall プロバイダに似ています。lxsyscall プロバイダは、スレッドが Linux システムコールのエントリポイントに入ったり戻ったりするたびに起動するプローブを提供します。

デバッグオプションの詳細については、『Solaris 動的トレースガイド』および dtrace(1M)mdb(1) のマニュアルページを参照してください。『Solaris 動的トレースガイド』では、DTrace 機能に使用できる公式なインタフェースが説明されています。syscall プロバイダに関するマニュアルは、lxsyscall プロバイダにも使用できます。


注 –

NFS はネームサービスに依存しており、ネームサービスはゾーンに固有であるため、現在のゾーンの外部にマウントされている NFS ファイルシステムにアクセスすることはできません。したがって、NFS に基づく Linux プロセスを大域ゾーンからデバッグすることはできません。


コマンドとその他のインタフェース

次の表に示すコマンドにより、ゾーン機能に対する主要な管理インタフェースが提供されます。

表 31–1 lx ブランドゾーンで使用されるコマンドとその他のインタフェース

コマンド 

説明 

zlogin(1)

非大域ゾーンにログインします 

zoneadm(1M)

システムのゾーンを管理します 

zonecfg(1M)

ゾーン構成の設定に使用されます 

getzoneid(3C)

ゾーン ID と名前のマッピングに使用されます 

brands(5)

ブランドゾーン機能の説明を提供します 

lx(5)

Linux ブランドゾーンの説明を提供します 

zones(5)

ゾーン機能の説明を提供します 

lx_systrace(7D)

DTrace の Linux システムコールトレースプロバイダ 

zcons(7D)

ゾーンコンソールのデバイスドライバ 

zoneadmd デーモンは、ゾーンの仮想プラットフォームを管理する基本プロセスです。zoneadmd デーモンのマニュアルページは、zoneadmd(1M) です。このデーモンは、プログラミングインタフェースの構成要素ではありません。


注 –

表 27–5 に示すコマンドを大域ゾーンで使用すると、ブランドゾーンも含むすべての非大域ゾーンに関する情報を表示できます。表 27–4 に示すコマンドは、資源上限デーモンで使用されます。


システムの lx ブランドゾーンの設定 (作業マップ)

次の表に、システム上ではじめて lx ゾーンを設定する際に必要となる作業の概要を示します。

タスク 

説明 

説明 

ゾーンで実行する 32 ビット Linux アプリケーションをそれぞれ特定します。 

システム要件を評価します。 

必要に応じて、ビジネス目標とシステムのマニュアルを参照してください。 

構成するゾーンの数を決定します。 

次の内容を評価します。 

  • 実行する予定の Linux アプリケーションの数。

  • Linux ブランドゾーンに必要なディスク容量

  • スクリプトを使用する必要があるかどうか。

「アプリケーションのサポート」「システム要件と容量要件」「現在のシステム設定の評価」「複数の lx ブランドゾーンを構成するスクリプト」を参照してください。

コンテナを作成するためにゾーンで資源プールを使用するかどうかを決定します。 

資源プールを使用する場合は、ゾーンを構成する前に資源プールを構成します。 

zonecfg のプロパティーを使用すると、ゾーン規模の資源制御とプール機能をゾーンにすばやく追加できます。

lx ブランドゾーンの構成方法」第 13 章資源プールの作成と管理 (手順)を参照してください。

事前構成作業を行います。 

各ゾーンのゾーン名とゾーンパスを決定します。ネットワーク接続が必要な場合は、IP アドレスを取得します。ゾーンのスケジューリングクラスを決定します。標準のデフォルト特権セットでは十分でない場合は、ゾーンのプロセスを制限するための特権セットを決定します。 

ゾーン名、ゾーンパス、IP アドレス、およびスケジューリングクラスについては、lx ブランドゾーン構成の構成要素」を参照してください。非大域ゾーンでのデフォルトの特権および構成可能な特権のリストについては、「非大域ゾーン内の特権」を参照してください。

資源プールの関連付けについては、「ゾーンのしくみ」および lx ブランドゾーンの構成方法」を参照してください。

構成を作成します。 

非大域ゾーンの構成を行います。 

「ゾーンを構成、検証、および確定する」および zonecfg(1M) のマニュアルページを参照してください。

大域管理者として、構成されたゾーンの確認とインストールを行います。 

ゾーンを起動する前に、ゾーンの確認とインストールを行う必要があります。Linux ブランドゾーンをインストールする前に、Linux のディストリビューションを入手する必要があります。 

第 34 章lx ブランドゾーンのインストール、起動、停止、複製、およびアンインストールについて (概要)および第 35 章lx ブランドゾーンのインストール、起動、停止、アンインストール、および複製 (手順)を参照してください。

大域管理者として、非大域ゾーンを起動します。 

それぞれのゾーンを起動して稼働状態にします。 

第 35 章lx ブランドゾーンのインストール、起動、停止、アンインストール、および複製 (手順)を参照してください。

この新しいゾーンを本稼働用に準備します。 

Linux システム管理の標準のツールと方法をゾーン内から使用して、ユーザーアカウントの作成、ソフトウェアの追加、およびゾーン構成のカスタマイズを行います。 

新たにインストールしたマシンの設定およびアプリケーションのインストールを行うためのマニュアルを参照してください。ゾーンがインストールされているシステムに関連する特殊な考慮事項については、このマニュアルを参照してください。 

第 32 章 lx ブランドゾーン構成の計画 (概要)

この章では、x64 システムまたは x86 システムに lx ブランドゾーンを構成する前に実行する必要のある作業について説明します。この章では、zonecfg コマンドの使用方法についても説明します。

システム要件と容量要件

次に、lx ブランドゾーンの使用に関連したマシンの主な考慮事項を示します。

ゾーンが消費可能なディスク容量に関する制限はありません。ディスク容量の制限を設定することは、大域管理者の役割です。大域管理者は、非大域ゾーンのルートファイルシステムを保持するのに十分なローカルストレージがあることを確認する必要があります。十分なストレージがあれば、小規模な単一プロセッサシステムでも、同時に稼働する多数のゾーンをサポートできます。

ブランドゾーンのサイズを制限する

ゾーンサイズを制限する際、次のオプションを使用できます。

ブランドゾーンのネットワークアドレス

ネットワーク接続を必要とする各ゾーンには、1 つ以上の一意の IP アドレスが与えられます。IPv4 アドレスがサポートされています。ゾーンに IPv4 アドレスを割り当てる必要があります。詳細は、「ブランドゾーンのネットワークアドレス」を参照してください。必要に応じて、ネットワークインタフェースのデフォルトのルーターを設定することもできます。手順については、lx ブランドゾーンの構成方法」を参照してください。

lx ブランドゾーンの構成処理

zonecfg コマンドは、次の目的に使用されます。

特定の構成について zonecfg verify コマンドで実行される検査では、次のことが確認されます。

zonecfg コマンドの詳細は、zonecfg(1M) のマニュアルページを参照してください。

lx ブランドゾーン構成の構成要素

ここでは、次の構成要素について説明します。

lx ブランドゾーンのゾーン名とゾーンパス

ゾーンの名前とパスを選択する必要があります。

lx ブランドゾーンでのゾーンの自動起動

autoboot プロパティーの設定により、大域ゾーンの起動時にこのゾーンが自動的に起動されるかどうかが決まります。

lx ブランドゾーンでの資源プールの関連付け

第 13 章資源プールの作成と管理 (手順)の説明に従ってシステムで資源プールを構成した場合は、ゾーンを構成するときに pool プロパティーを使用して、資源プールの 1 つにゾーンを関連付けることができます。

資源プールが構成されていない場合でも、非大域ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てるよう、dedicated-cpu 資源を使用して指定できます。ゾーンの実行中に使用される一時プールが動的に作成されます。


注 –

pool プロパティーによって設定される持続的プールを使用するゾーン構成と、dedicated-cpu 資源によって構成される一時プールには、互換性がありません。これら 2 つのプロパティーは、どちらか 1 つしか設定できません。


dedicated-cpu 資源を指定する

dedicated-cpu 資源は、非大域ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てることを指定します。ゾーンの起動時に、ゾーンの実行中に使用される一時プールが動的に作成されます。

dedicated-cpu 資源は、ncpus の制限を設定し、必要に応じて importance も設定します。

ncpus

CPU の数を指定するか、CPU の数の範囲を 2–4 などと指定します。資源プールの動的な動作を得るために範囲を指定する場合は、次の手順も実行してください。

importance

動的な動作を得るために CPU 範囲を使用する場合は、importance プロパティーも設定してください。importance は「省略可能な」プロパティーであり、プールの相対的な重要性を定義します。このプロパティーが必要となるのは、ncpus に範囲を指定した場合で、poold によって管理される動的資源プールを使用しているときだけです。poold が実行されていない場合、importance は無視されます。poold が実行されている場合、importance が設定されていないと、importance はデフォルト値の 1 になります。詳細は、 pool.importance プロパティーの制約」を参照してください。


注 –

cpu-shares 資源制御と dedicated-cpu 資源には互換性がありません。


Solaris10 5/08: capped-cpu 資源を指定する

capped-cpu 資源は、1 つのプロジェクトまたは 1 つのゾーンで消費可能な CPU 資源量に対して絶対的な制限を設けます。capped-cpu 資源には、小数点第 2 位までの正の小数である 1 つの ncpus プロパティーがあります。このプロパティーは、CPU のユニット数に対応しています。この資源には範囲を指定できません。この資源には小数を指定できます。ncpus を指定する場合、1 の値は 1 つの CPU の 100% を意味します。100% がシステム上の 1 つの完全な CPU に対応するため、値 1.25 は 125% を意味します。


注 –

capped-cpu 資源と dedicated-cpu 資源には互換性がありません。


ゾーンのスケジューリングクラス

公平配分スケジューラ (FSS) を使用すると、使用可能な CPU 資源のゾーン間での割り当てを、ゾーンの重要性に基づいて制御できます。この重要性は、各ゾーンに割り当てる CPU 資源の「配分」で表します。

cpu-shares プロパティーを明示的に設定すると、公平配分スケジューラ (FSS) はそのゾーンのスケジューリングクラスとして使用されます。ただし、この場合に望ましい FSS の使用方法は、dispadmin コマンドを使用して、FSS をシステムのデフォルトのスケジューリングクラスに設定する方法です。このようにすると、すべてのゾーンがシステムの CPU 資源の公平配分を受けることができます。ゾーンに対して cpu-shares が設定されていない場合、そのゾーンはシステムのデフォルトのスケジューリングクラスを使用します。ゾーンのスケジューリングクラスは、次の処理によって設定されます。

priocntl (priocntl(1) のマニュアルページを参照) を使用すると、デフォルトのスケジューリングクラスの変更や再起動を行うことなく、実行中のプロセスを別のスケジューリングクラスに移動できます。

capped-memory 資源

capped-memory 資源は、physicalswap、および locked メモリーの制限を設定します。各制限は省略可能ですが、少なくとも 1 つは設定する必要があります。


注 –

通常はアプリケーションが多量のメモリーをロックすることはありませんが、ゾーンのアプリケーションによってメモリーがロックされることがわかっている場合は、ロックされるメモリーを設定するとよいでしょう。ゾーンの信頼が問題になる場合は、ロックされるメモリーの上限を、システムの物理メモリーの 10 パーセントまたはゾーンの物理メモリー上限の 10 パーセントに設定することもできます。


詳細は、第 10 章資源上限デーモンによる物理メモリーの制御 (概要)第 11 章資源上限デーモンの管理 (手順)、および lx ブランドゾーンの構成方法」を参照してください。

lx ブランドゾーンのゾーンネットワークインタフェース

lx ブランドゾーンでは、共有 IP ネットワーク構成だけがサポートされています。

ネットワーク接続を必要とする各ゾーンには、1 つ以上の専用 IP アドレスが必要です。これらのアドレスは、論理ネットワークインタフェースに関連付けられます。zonecfg コマンドで構成されたネットワークインタフェースは、起動時に自動的に設定され、ゾーンに配置されます。Solaris 10 10/08 リリース以降では、必要に応じて defrouter プロパティーを使用して、ネットワークインタフェースのデフォルトのルーターを設定することもできます。

lx ブランドゾーンでマウントされるファイルシステム

通常、ゾーンでマウントされるファイルシステムには、次のものが含まれます。

これには、たとえば次のようなファイルシステムが含まれます。

アプリケーション環境内部から実行されるマウントには、いくつかの制限事項があります。これらの制限事項は、ほかのゾーンに悪影響を与えないようにするために、ゾーン管理者がシステムのほかの部分に対するサービスを拒否できないようにします。

一部のファイルシステムについては、ゾーン内部からマウントする場合にセキュリティー制限があります。ほかのファイルシステムは、ゾーン内でマウントされたときに特有の動作を行います。詳細は、「ファイルシステムと非大域ゾーン」を参照してください。

lx ブランドゾーンでのゾーン規模の資源制御

ゾーン規模の資源制御を設定する場合に望ましい、より簡単な方法は、rctl 資源の代わりにプロパティー名を使用する方法です。これらの制限は、大域ゾーンと非大域ゾーンの両方に対して指定されます。

大域管理者は、rctl 資源を使用して、ゾーン規模の特権付き資源制御をゾーンに対して設定することもできます。

ゾーン規模の資源制御は、ゾーン内のすべてのプロセスエンティティーによる総資源消費を制限します。これらの制限は、大域ゾーンと非大域ゾーンのどちらに対しても、zonecfg コマンドを使用して指定します。手順については、lx ブランドゾーンの構成方法」を参照してください。

現在使用できる資源制御は次のとおりです。

表 32–1 ゾーン規模の資源制御

制御名 

グローバルプロパティー名 

説明 

デフォルトの単位 

使用される値 

zone.cpu-cap

 

Solaris 10 5/08 リリースでは、このゾーンに対して CPU 資源量の絶対的な制限を設定します。project.cpu-cap 設定と同様、100 の値は 1 つの CPU の 100% を意味します。125 の値は 125% になります。CPU キャップの使用時は、100% がシステム上の 1 つの CPU の上限となります。

数量 (CPU の数) 

 

zone.cpu-shares

cpu-shares

このゾーンに対する公平配分スケジューラ (FSS) の CPU 配分 

数量 (配分) 

 

zone.max-locked-memory

ゾーンで使用できるロックされた物理メモリーの合計量。 

サイズ (バイト) 

capped-memorylocked プロパティー

zone.max-lwps

max-lwps

このゾーンで同時に使用できる LWP の最大数 

数量 (LWP 数) 

 

zone.max-msg-ids

max-msg-ids

このゾーンに許容されるメッセージキュー ID の最大数 

数量 (メッセージキュー ID の数) 

 

zone.max-sem-ids

max-sem-ids

このゾーンに許容されるセマフォー ID の最大数 

数量 (セマフォー ID の数) 

 

zone.max-shm-ids

max-shm-ids

このゾーンに許容される共有メモリー ID の最大数 

数量 (共有メモリー ID の数) 

 

zone.max-shm-memory

max-shm-memory

このゾーンに許容される System V 共有メモリーの合計量 

サイズ (バイト) 

 

zone.max-swap

このゾーンのユーザープロセスのアドレス空間マッピングと tmpfs マウントで消費できるスワップの合計量。

サイズ (バイト) 

capped-memoryswap プロパティー

lx ブランドゾーンで構成可能な特権

limitpriv プロパティーは、定義済みのデフォルト特権セット以外の特権マスクを指定する場合に使用します。ゾーンの起動時に、デフォルトの特権セットがブランド構成に含められます。これらの特権は、ゾーン内の特権プロセスがシステムのほかの非大域ゾーン内のプロセスや大域ゾーン内のプロセスに影響を及ぼすことを防ぐため、安全と見なされます。limitpriv プロパティーを使用して、次の操作を実行できます。


注 –

わずかですが、この時点でゾーンのデフォルト特権セットから削除できない特権があります。同じように、特権セットに追加できない特権もあります。


詳細は、lx ブランドゾーンで定義される特権」「非大域ゾーン内の特権」、および privileges(5) のマニュアルページを参照してください。

lx ブランドゾーンの attr 資源

attr 資源タイプを使用して、大域ゾーンにあるオーディオデバイスへのアクセスを可能にすることができます。手順については、lx ブランドゾーンを構成、検証、および確定する方法」の手順 12 を参照してください。

attr 資源タイプを使ってゾーンのコメントを追加することもできます。

デフォルトで構成に含まれている資源

lx ブランドゾーンで構成されるデバイス

各ゾーンでサポートされるデバイスについては、そのブランドに関するマニュアルページやほかのマニュアルに記載されています。lx ゾーンでは、サポートされていないデバイスや認識されないデバイスの追加は禁止されます。サポートされていないデバイスを追加しようとすると、フレームワークによって検出されます。ゾーン構成が検証不可能であることを示すエラーメッセージが生成されます。

大域ゾーンで稼働中のオーディオデバイスへのアクセスは、attr 資源プロパティーを使用して追加できます。手順については、lx ブランドゾーンを構成、検証、および確定する方法」の手順 12 を参照してください。

lx ブランドゾーンで定義されるファイルシステム

ブランドゾーンに必要なファイルシステムは、ブランド内で定義されます。fs 資源プロパティーを使用して、追加の Solaris ファイルシステムを lx ブランドゾーンに追加することができます。手順については、lx ブランドゾーンを構成、検証、および確定する方法」の手順 9 を参照してください。


注 –

ローカルの Linux ファイルシステムは追加できません。Linux サーバーのファイルシステムを NFS マウントすることはできます。


lx ブランドゾーンで定義される特権

プロセスは、特権の一部に制限されています。特権を制限することで、ほかのゾーンに影響を及ぼす可能性がある操作がゾーンで実行されないようにします。特権セットにより、特権が付与されたユーザーがゾーン内で実行可能な機能が制限されます。

デフォルトの特権、必須のデフォルト特権、省略可能な特権、および禁止される特権が各ブランドによって定義されます。limitpriv プロパティーを使用して、特定の特権の追加や削除を行うこともできます。手順については、lx ブランドゾーンを構成、検証、および確定する方法」の手順 8 を参照してください。表 27–1 に、Solaris の特権すべて、およびゾーン内での各特権の状態を示します。

特権の詳細は、ppriv(1) のマニュアルページおよび『Solaris のシステム管理 (セキュリティサービス)』を参照してください。

zonecfg コマンドを使用した lx ブランドゾーンの作成

zonecfg コマンド (zonecfg(1M) のマニュアルページを参照) は、ゾーンを構成するために使用されます。このコマンドは、大域ゾーンの資源管理設定を持続的に指定する場合にも使用できます。

zonecfg コマンドは、対話型モード、コマンド行モード、またはコマンドファイルモードで使用できます。このコマンドを使用して、次の操作を実行できます。

zonecfg のプロンプトは次のような形式です。


zonecfg:zonename>

ファイルシステムなど、特定の資源タイプの構成を行うときは、その資源タイプもプロンプトに表示されます。


zonecfg:zonename:fs>

この章で説明する zonecfg のさまざまな構成要素の使用手順など、詳細については、lx ブランドゾーンの構成方法」を参照してください。

zonecfg のモード

このユーザーインタフェースでは「有効範囲」という概念が使用されます。有効範囲は、「大域」または「資源固有」のどちらかです。デフォルトの有効範囲は大域です。

大域有効範囲で add サブコマンドまたは select サブコマンドを使用すると、特定の資源が選択されます。すると、有効範囲がその資源タイプに変わります。

すると、有効範囲が大域に戻ります。

addremoveset などのように、有効範囲によって異なる意味を持つサブコマンドもあります。

zonecfg の対話型モード

対話型モードでは、次のサブコマンドがサポートされます。サブコマンドで使用する意味とオプションの詳細については、zonecfg(1M) のマニュアルページでオプション情報を参照してください。破壊的な操作や作業内容の消失を伴うようなサブコマンドの場合、処理を実行する前にユーザーの確認が求められます。-F (強制) オプションを使用すると、この確認手順を省略できます。

help

一般ヘルプまたは特定の資源に関するヘルプを表示します。


zonecfg:lx-zone:net> help
create

指定された新しいブランドゾーンに使用するメモリー内構成の構成を開始します。

  • -t template オプションを使用して、指定したテンプレートと同一の構成を作成します。ゾーン名がテンプレート名から新しいゾーン名に変更されます。Linux ブランドゾーンを作成するには、次のコマンドを使用します。


    zonecfg:lx-zone> create -t SUNWlx
    
  • -b オプションを使用して、空の構成を作成し、そのブランドを設定します。


    zonecfg:lx-zone> create -b
    zonecfg:lx-zone> set brand=lx
    
  • -F オプションを使用して、既存の構成を上書きします。

export

標準出力または指定された出力ファイルに、コマンドファイルに使用できる形式で構成を出力します。

add

大域有効範囲では、指定された資源タイプを構成に追加します。

資源固有の有効範囲では、指定された名前と値を持つプロパティーを追加します。

詳細は、「lx ブランドゾーンの構成方法」および zonecfg(1M) のマニュアルページを参照してください。

set

指定されたプロパティー名を、指定されたプロパティー値に設定します。zonepath などの大域的なプロパティーと、資源固有のプロパティーがあることに注意してください。このコマンドは、大域有効範囲と資源固有の有効範囲の両方で使用できます。

select

大域有効範囲でのみ使用できます。指定されたタイプの資源のうち、指定されたプロパティー名とプロパティー値の対の条件に一致するものを、変更対象として選択します。有効範囲がその資源タイプに変わります。資源が一意に識別されるように、プロパティーの名前と値の対を十分な数だけ指定する必要があります。

clear

省略可能な設定の値をクリアーします。必須の設定はクリアーできません。ただし、必須の設定のいくつかは、新しい値を割り当てることによって変更できます。

remove

大域有効範囲では、指定された資源タイプを削除します。資源タイプが一意に識別されるように、プロパティーの名前と値の対を十分な数だけ指定する必要があります。プロパティーの名前と値の対をまったく指定しないと、すべてのインスタンスが削除されます。該当するものが複数ある場合は、-F オプションを使用していない限り、確認を求めるメッセージが表示されます。

資源固有の有効範囲では、指定された名前と値を持つプロパティーを現在の資源から削除します。

end

資源固有の有効範囲でのみ使用できます。資源の指定を終了します。

次に、zonecfg コマンドは、現在の資源が正しく指定されているかどうかを確認します。

  • 資源が正しく指定されている場合は、その資源がメモリー内に保持される構成に追加され、有効範囲が大域に戻ります。

  • 指定が不完全な場合は、必要な作業を示すエラーメッセージが表示されます。

cancel

資源固有の有効範囲でのみ使用できます。資源の指定を終了し、有効範囲を大域に戻します。資源の指定が不完全な場合、その資源は保持されません。

delete

指定された構成を破棄します。メモリーと安定した記憶領域の両方から構成を削除します。delete-F (強制) オプションを使用する必要があります。


注意 – 注意 –

この操作は即時に実行されます。確定手順は行われず、削除されたゾーンを元に戻すことはできません。


info

現在の構成または大域の資源プロパティー zonepathautoboot、および pool に関する情報を表示します。資源タイプが指定されている場合は、そのタイプの資源についてのみ情報を表示します。資源固有の有効範囲では、このサブコマンドは、追加または変更しようとしている資源にのみ適用されます。

verify

現在の構成が正しいかどうかを確認します。各資源に必須プロパティーがすべて指定されていることを確認します。

commit

現在の構成をメモリーから安定した記憶領域に確定します。メモリー内の構成を確定するまでは、revert サブコマンドで変更内容を削除できます。zoneadm で構成を使用するには、その構成を確定する必要があります。zonecfg セッションを完了するときに、この操作の実行が自動的に試みられます。正しい構成のみ確定できるので、確定操作では自動的に確認も行われます。

revert

構成を最後に確定されたときの状態に戻します。

exit

zonecfg のセッションを終了します。exit-F (強制) オプションを使用できます。

必要な場合は、commit 操作が自動的に試行されます。EOF 文字を使ってセッションを終了することもできることに注意してください。

zonecfg のコマンドファイルモード

コマンドファイルモードでは、ファイルから入力されます。このファイルを生成するには、「zonecfg の対話型モード」で説明されている export サブコマンドを使用します。構成を標準出力に出力するか、-f オプションで指定した出力ファイルに出力することができます。

ブランドゾーン構成データ

ゾーン構成データは 2 種類のエンティティーから成ります。 資源とプロパティーです。各資源は、タイプのほかにも 1 つ以上のプロパティーを持つことがあります。プロパティーは名前と値から成ります。どのようなプロパティーセットを持つかは、資源タイプによって異なります。

資源タイプとプロパティータイプ

資源タイプとプロパティータイプは次のとおりです。

ゾーン名

ゾーン名は、構成ユーティリティーでゾーンを識別するために使用されます。ゾーン名には次のような規則が適用されます。

  • 各ゾーンの名前は一意でなければならない。

  • ゾーン名では大文字と小文字が区別される。

  • ゾーン名は英数字で始まる必要がある。

    名前には、英数字、下線 (_)、ハイフン (-)、およびピリオド (.) を使用できます。

  • 名前の長さは 64 文字以内でなければならない。

  • global という名前と SUNW で始まるすべての名前は、予約されているので使用できない。

zonepath

zonepath プロパティーは、ゾーンのルートのパスです。各ゾーンには、ルートディレクトリのパスが設定されます。これは、大域ゾーンのルートディレクトリに対する相対パスです。インストール時には、大域ゾーンのディレクトリの可視性が制限されている必要があります。大域ゾーンのディレクトリの所有者は root、モードは 700 であることが必要です。

非大域ゾーンのルートパスは 1 つ下のレベルになります。ゾーンのルートディレクトリの所有権とアクセス権は、大域ゾーンのルートディレクトリ (/) と同じになります。ゾーンのディレクトリの所有者は root で、モードは 755 であることが必要です。これらのディレクトリは正しいアクセス権を使って自動作成され、ゾーン管理者がこれらのディレクトリを検証する必要はありません。この階層構造により、大域ゾーンのユーザーでも権限を持っていない場合は、非大域ゾーンのファイルシステムと行き来できなくなります。

パス 

説明 

/home/export/lx-zone

zonecfg zonepath

/home/export/lx-zone/root

ゾーンのルート 

/home/export/lx-zone/root/dev

ゾーン用に作成されたデバイス 

この問題の詳細については、「ファイルシステムの行き来」を参照してください。


注 –

zoneadmmove サブコマンドで新しいフルパス zonepath を指定することにより、ゾーンを同じシステム上の別の場所に移動できます。手順については、「Solaris 10 11/06: 非大域ゾーンの移動」を参照してください。


autoboot

このプロパティーを true に設定すると、大域ゾーンの起動時にこのゾーンが自動的に起動されます。ゾーンサービス svc:/system/zones:default が無効になっている場合、このプロパティーの設定にかかわらず、ゾーンは自動的には起動しません。svcadm(1M) のマニュアルページに記載されているように、svcadm コマンドを使用してゾーンサービスを有効にできます。


global# svcadm enable zones
bootargs

このプロパティーは、ゾーンのブート引数を設定するために使用します。rebootzoneadm boot、または zoneadm reboot コマンドで無効にされた場合を除き、このブート引数が適用されます。「ブランドゾーンのブート引数」を参照してください。

pool

このプロパティーは、システム上の特定の資源プールをゾーンに関連付けるために使用します。1 つのプール内の資源を複数のゾーンが共有してもかまいません。dedicated-cpu 資源を指定する」も参照してください。

limitpriv

このプロパティーは、デフォルト以外の特権マスクを指定する場合に使用します。「非大域ゾーン内の特権」を参照してください。

特権を追加するには、特権名だけを指定するか、特権名の前に priv_ 付けて指定します。特権を除外するには、名前の前にダッシュ (-) または感嘆符 (!) を付けます。複数の特権は、コンマで区切り、引用符 () で囲みます。

priv_str_to_set(3C)で説明されているように、特殊な特権セット noneall、および basic は、それぞれの通常の定義に展開されます。ゾーン構成は大域ゾーンで行われるため、特殊な特権セット zone は使用できません。特定の特権を追加または削除してデフォルトの特権セットを変更するのが一般的な使用方法であるため、特殊なセットである default はデフォルトの特権セットにマップされます。limitpriv プロパティーの先頭に default がある場合、デフォルトセットに展開されます。

次のエントリは、システムクロックの設定機能の追加、および raw ICMP (Internet Control Message Protocol) パケット送信機能の削除を実行します


global# zonecfg -z userzone
zonecfg:userzone> set limitpriv="default,sys_time,!net_icmpaccess"

ゾーンの特権セットに不許可の特権が含まれる場合、必須の特権が欠落している場合、または未知の特権が含まれる場合、ゾーンの検証、準備、またはブートの試行は失敗し、エラーメッセージが表示されます。

scheduling-class

このプロパティーは、ゾーンのスケジューリングクラスを設定します。詳細とヒントについては、「ゾーンのスケジューリングクラス」を参照してください。

dedicated-cpu

この資源は、ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てます。dedicated-cpu 資源は、ncpus の制限を設定し、必要に応じて importance も設定します。詳細は、dedicated-cpu 資源を指定する」を参照してください。

capped-memory

この資源は、ゾーンのメモリー上限を設定するためのプロパティーをグループ化します。capped-memory 資源は、physicalswap、および locked メモリーの制限を設定します。これらのプロパティーの少なくとも 1 つは指定する必要があります。

fs

各ゾーンでは、インストール済み状態から準備完了状態に移行するときにマウントする各種のファイルシステムを指定できます。ファイルシステム資源は、ファイルシステムのマウントポイントのパスを指定します。ゾーンでファイルシステムを使用する方法の詳細については、「ファイルシステムと非大域ゾーン」を参照してください。

net

ネットワークインタフェース資源は、仮想インタフェースの名前です。各ゾーンでは、インストール済み状態から準備完了状態に移行するときに設定するべきネットワークインタフェースを指定できます。

lx ブランドゾーンでは、共有 IP ネットワーク構成だけがサポートされています。

rctl

rctl 資源は、ゾーン規模の資源制御に使用されます。資源制御は、ゾーンがインストール済み状態から準備完了状態に移行するときに有効になります。


注 –

rctl 資源の代わりに zonefigset global_property_name サブコマンドを使用してゾーン規模の資源制御を構成する方法については、lx ブランドゾーンの構成方法」を参照してください。


attr

この汎用属性は、ユーザーコメントとして使用したり、ほかのサブシステムで使用したりできます。attrname プロパティーは、英数字で始まる必要があります。name プロパティーには、英数字、ハイフン (-)、およびピリオド (.) を使用できます。zone. で始まる属性名はシステム用に予約されています。

lx ブランドゾーンの資源タイプのプロパティー

資源には、構成可能なプロパティーもあります。資源タイプとそれに関連付けられるプロパティーは次のとおりです。

dedicated-cpu

ncpusimportance

CPU の数を指定し、必要に応じてプールの相対的な重要性も指定します。次の例では、ゾーン my-zone で使用する CPU の範囲を指定します。importance も設定します。


zonecfg:my-zone> add dedicated-cpu
zonecfg:my-zone:dedicated-cpu> set ncpus=1-3
zonecfg:my-zone:dedicated-cpu> set importance=2
zonecfg:my-zone:dedicated-cpu> end
capped-cpu

ncpus

CPU の数を指定します。次の例では、ゾーン lx-zone で使用できる CPU 数の制限を 3.5 に指定します。


zonecfg:lx-zone> add capped-cpu
zonecfg:lx-zone:capped-cpu> set ncpus=3.5
zonecfg:lx-zone:capped-cpu> end
capped-memory

physicalswaplocked

この資源は、ゾーンのメモリー上限を設定するためのプロパティーをグループ化します。次の例では、ゾーン my-zone のメモリー制限を指定します。各制限は省略可能ですが、少なくとも 1 つは設定する必要があります。


zonecfg:my-zone> add capped-memory
zonecfg:my-zone:capped-memory> set physical=50m
zonecfg:my-zone:capped-memory> set swap=100m
zonecfg:my-zone:capped-memory> set locked=30m
zonecfg:my-zone:capped-memory> end
fs

dirspecialrawtypeoptions

次の例では、非大域ゾーンで CD または DVD メディアに読み取り専用のアクセスを行う権限を追加します。ro,nodevices オプション (読み取り専用、デバイスなし) を指定して、非大域ゾーンでファイルシステムをループバックマウントします。


zonecfg:lx-zone> add fs
zonecfg:lx-zone:fs> set dir=/cdrom
zonecfg:lx-zone:fs> set special=/cdrom
zonecfg:lx-zone:fs> set type=lofs
zonecfg:lx-zone:fs> add options [ro,nodevices]
zonecfg:lx-zone:fs> end

セクション 1M のマニュアルページには、特定のファイルシステムに固有のマウントオプションに関するものがあります。このようなマニュアルページの名前は、mount_filesystem という形式です。

net

addressphysicaldefrouter

次の例では、IP アドレス 192.168.0.1 をゾーンに追加します。物理インタフェースとして bge0 カードを使用し、デフォルトのルーターを設定します。


zonecfg:lx-zone> add net
zonecfg:lx-zone:net> set address=192.168.0.1
zonecfg:lx-zone:net> set physical=bge0
zonecfg:lx-zone:net> set defrouter=10.0.0.1
zonecfg:lx-zone:net> end

注 –

どの物理インタフェースを使用するかを決定するには、システムで ifconfig -a と入力します。出力の各行は、ループバックドライバの行を除き、システムにインストールされているカードの名前で始まります。説明に LOOPBACK が含まれている場合、その行はカードに関するものではありません。


rctl

namevalue

使用可能なゾーン規模の資源制御については、lx ブランドゾーンでのゾーン規模の資源制御」を参照してください。


zonecfg:lx-zone> add rctl
zonecfg:lx-zone:rctl> set name=zone.cpu-shares
zonecfg:lx-zone:rctl> add value (priv=privileged,limit=10,action=none)
zonecfg:lx-zone:rctl> end

zonecfg:lx-zone> add rctl
zonecfg:lx-zone:rctl> set name=zone.max-lwps
zonecfg:lx-zone:rctl> add value (priv=privileged,limit=100,action=deny)
zonecfg:lx-zone:rctl> end
attr

nametypevalue

次の例では、ゾーンに関するコメントを追加します。


zonecfg:lx-zone> add attr
zonecfg:lx-zone:attr> set name=comment
zonecfg:lx-zone:attr> set type=string
zonecfg:lx-zone:attr> set value="Production zone"
zonecfg:lx-zone:attr> end

export サブコマンドを使用すると、ゾーン構成を標準出力に出力できます。構成は、コマンドファイルに使用できる形式で保存されます。

第 33 章 lx ブランドゾーンの構成 (手順)

この章では、x64 システムまたは x86 システムに lx ブランドゾーンを構成する方法について説明します。手順は、Solaris ゾーンの構成手順と基本的に同じです。いくつかのプロパティーは、ブランドゾーンの構成には必要ありません。

lx ブランドゾーンの計画と構成 (作業マップ)

ゾーンを使用できるようにシステムを設定する前に、まず、情報を収集してゾーンの構成方法を決定する必要があります。次の作業マップに、lx ゾーンの計画および構成方法の概要を示します。

タスク 

説明 

説明 

ゾーンの全体的な計画を立てます。 

  • ゾーンで実行するアプリケーションを決定します。

  • ゾーン内のファイルを保持するディスク領域の可用性を評価します。

  • 資源管理機能も使用している場合は、資源管理境界に合わせてゾーンを配列する方法を決定します。

  • 資源プールを使用する場合は、必要に応じてプールを構成します。

「システム要件と容量要件」および 「ゾーンで使用される資源プール」を参照してください。

ゾーンの名前とパスを決定します。 

命名規則に基づいてゾーンの名前を決定します。ZFS (Zetabyte File System) 上のパスをお勧めします。複製元の zonepath と複製先の zonepath が両方とも ZFS 上にあり、同じプールに含まれる場合、zoneadm cloneコマンドは自動的に ZFS を使用してゾーンを複製します。

「資源タイプとプロパティータイプ」および『Oracle Solaris ZFS 管理ガイド』を参照してください。

ゾーンの IP アドレスを取得または構成します。 

構成に基づき、ネットワークアクセスを行う非大域ゾーンごとに 1 つ以上の IP アドレスを取得する必要があります。 

「ゾーンホスト名の決定およびネットワークアドレスの取得」および『Solaris のシステム管理 (IP サービス)』を参照してください。

ゾーンにファイルシステムをマウントするかどうかを決定します。 

アプリケーションの要件を確認します。 

詳細は、「ゾーンでマウントされるファイルシステム」を参照してください。

ゾーンで使用可能にするべきネットワークインタフェースを決定します。 

アプリケーションの要件を確認します。 

詳細は、「共有 IP ネットワークインタフェース」を参照してください。

非大域ゾーンのデフォルトの特権セットを変更する必要があるかどうかを決定します。 

特権セットを確認します。 デフォルトの特権、追加および削除が可能な特権、および現時点では使用できない特権があります。 

「資源タイプとプロパティータイプ」および 「非大域ゾーン内の特権」を参照してください。

ゾーンを構成します。 

zonecfg を使用してゾーンの構成を作成します。

lx ブランドゾーンを構成、検証、および確定する方法」を参照してください。

構成したゾーンを検証および確定します。 

指定された資源およびプロパティーが仮想サーバー上で有効かどうかを判定します。 

lx ブランドゾーンを構成、検証、および確定する方法」を参照してください。

lx ブランドゾーンの構成方法

次の処理を実行するには、zonecfg コマンド (zonecfg(1M) のマニュアルページを参照) を使用します。


ヒント –

CD または DVD を使用してアプリケーションを lx ブランドゾーンにインストールする予定の場合は、ブランドゾーンを最初に構成するときに add fs を使用して、大域ゾーンの CD または DVD メディアに読み取り専用のアクセスを行う権限を追加します。アクセス権を追加したら、CD または DVD を使用して製品をブランドゾーンにインストールできます。


zonecfg ユーティリティーを使用してゾーンを構成する際、revert サブコマンドを使用して、資源の設定を元に戻すことができます。「ゾーン構成を元に戻す方法」を参照してください。

システムに複数のゾーンを構成するスクリプトについては、「複数の lx ブランドゾーンを構成するスクリプト」を参照してください。

非大域ゾーンの構成を表示する方法については、「ブランドゾーンの構成を表示する方法」を参照してください。


ヒント –

ブランドゾーンを構成したあとは、ゾーンの構成のコピーを作成することをお勧めします。このバックアップを使用して、あとでゾーンを復元することができます。スーパーユーザーまたは Primary Administrator として、ゾーン lx-zone の構成をファイルに出力してください。次の例では、lx-zone.config というファイルを使用しています。


global# zonecfg -z lx-zone export > lx-zone.config

詳細は、「非大域ゾーンを個別に復元する方法」を参照してください。


Procedurelx ブランドゾーンを構成、検証、および確定する方法

ラベルが有効になっている Trusted Solaris システムでは、lx ブランドゾーンを使用できないことに注意してください。zoneadm コマンドで構成を検証できません。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. 選択したゾーン名を使用して、ゾーン構成を設定します。

    この手順例では、lx-zone という名前を使用します。


    global# zonecfg -z lx-zone
    

    このゾーンの初回構成時には、次のシステムメッセージが表示されます。


    lx-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  3. SUNWlx テンプレートを使用して、新しい lx ゾーン構成を作成します。


    zonecfg:lx-zone> create -t SUNWlx
    

    または、空のゾーンを作成し、そのブランドを明示的に設定することもできます。


    zonecfg:lx-zone> create -b
    zonecfg:lx-zone> set brand=lx
    
  4. ゾーンのパス (この手順では /export/home/lx-zone) を設定します。


    zonecfg:lx-zone> set zonepath=/export/home/lx-zone
    
  5. autoboot 値を設定します。

    true に設定すると、大域ゾーンの起動時にこのゾーンが自動的に起動します。ゾーンを自動的に起動するには、ゾーンサービス svc:/system/zones:default も有効になっている必要があります。デフォルト値は false です。


    zonecfg:lx-zone> set autoboot=true
    
  6. .ゾーンの持続的なブート引数を設定します。


    zonecfg:lx-zone> set bootargs="-i=altinit"
    
  7. システムで資源プールが有効な場合、プールをゾーンに関連付けます。

    この例では、pool_default という名前のデフォルトプールを使用します。


    zonecfg:lx-zone> set pool=pool_default
    

    資源プールはオプションのスケジューリングクラス割り当てを保持できるため、プール機能を使用して、システムのデフォルトでないデフォルトスケジューラを非大域ゾーン用に設定できます。詳細は、「プールをスケジューリングクラスに対応付ける方法」および 「構成の作成」を参照してください。

  8. 権限のデフォルトセットを修正します。


    zonecfg:lx-zone> set limitpriv="default,proc_priocntl"
    

    proc_priocntl 特権は、リアルタイムクラスのプロセスを実行するために使用されます。

  9. CPU の配分を 5 に設定します。


    zonecfg:lx-zone> set cpu-shares=5
    
  10. メモリー上限を追加します。


    zonecfg:lx-zone> add capped-memory
    
    1. メモリー上限を設定します。


      zonecfg:lx-zone:capped-memory> set physical=50m
      
    2. スワップメモリーの上限を設定します。


      zonecfg:lx-zone:capped-memory> set swap=100m
      
    3. ロックされたメモリーの上限を設定します。


      zonecfg:lx-zone:capped-memory> set locked=30m
      
    4. 指定を終了します。


      zonecfg:lx-zone:capped-memory> end
      
  11. ファイルシステムを追加します。


    zonecfg:lx-zone> add fs
    
    1. ファイルシステムのマウントポイント (この手順では /export/linux/local) を設定します。


      zonecfg:lx-zone:fs> set dir=/export/linux/local
      
    2. 大域ゾーン内の /opt/local を、構成中のゾーン内で /export/linux/local としてマウントすることを指定します。


      zonecfg:lx-zone:fs> set special=/opt/local
      

      非大域ゾーン内では、/export/linux/local ファイルシステムは読み取りおよび書き込みが可能です。

    3. ファイルシステムのタイプ (この手順では lofs) を指定します。


      zonecfg:lx-zone:fs> set type=lofs
      

      このタイプは、カーネルとそのファイルシステムとの相互動作の方法を示します。

    4. ファイルシステムの指定を終了します。


      zonecfg:lx-zone:fs> end
      

    この手順を複数回実行することで、複数のファイルシステムを追加できます。

  12. ネットワーク仮想インタフェースを追加します。


    zonecfg:lx-zone> add net
    
    1. IP アドレスを ip address of zone/netmask の形式で設定します。この手順では 10.6.10.233/24 を使用します。


      zonecfg:lx-zone:net> set address=10.6.10.233/24
      
    2. ネットワークインタフェースの物理デバイスタイプ (この手順では bge デバイス) を指定します。


      zonecfg:lx-zone:net> set physical=bge0
      
    3. 指定を終了します。


      zonecfg:lx-zone:net> end
      

    この手順を複数回実行することで、複数のネットワークインタフェースを追加できます。

  13. attr 資源タイプを使用して、大域ゾーンにあるオーディオデバイスをこのゾーンで使用可能にします。


    zonecfg:lx-zone> add attr
    
    1. 名前を audio に設定します。


      zonecfg:lx-zone:attr> set name=audio
      
    2. タイプを boolean に設定します。


      zonecfg:lx-zone:attr> set type=boolean
      
    3. 値を true に設定します。


      zonecfg:lx-zone:attr> set value=true
      
    4. 資源タイプ attr の指定を終了します。


      zonecfg:lx-zone:attr> end
      
  14. ゾーンの構成を検証します。


    zonecfg:lx-zone> verify
    
  15. ゾーンの構成を確定します。


    zonecfg:lx-zone> commit
    
  16. zonecfg コマンドを終了します。


    zonecfg:lx-zone> exit
    

    プロンプトで commit コマンドを明示的に入力しなくても、exit を入力するか EOF が発生すると、commit の実行が自動的に試みられます。

コマンド行での複数のサブコマンドの使用

ヒント –

zonecfg コマンドは、複数のサブコマンドもサポートします。次に示すように、同じシェル呼び出しで引用符で囲み、セミコロンで区切ります。


global# zonecfg -z lx-zone "create -t SUNWlx; set zonepath=/export/home/lx-zone"

次に進む手順

確定済みのゾーン構成をインストールする方法については、lx ブランドゾーンのインストールと起動」を参照してください。

複数の lx ブランドゾーンを構成するスクリプト

このスクリプトを使用して、システムで複数のゾーンを構成および起動できます。スクリプトには、次のパラメータを指定します。

このスクリプトを実行するには、大域ゾーン内の大域管理者になる必要があります。大域管理者は、大域ゾーン内でスーパーユーザー権限を保持するか、Primary Administrator 役割になります。


#!/bin/ksh
#
# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident	"%Z%%M%   %I%    %E% SMI"
if [[ -z "$1" || -z "$2" || -z "$3" || -z "$4" ]]; then
    echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir> <template zone>"
    exit 2
fi
if [[ ! -d $3 ]]; then
    echo "$3 is not a directory"
    exit 1
fi
state=`zoneadm -z $4 list -p 2>/dev/null | cut -f 3 -d ":"`
if [[ -z "$state" || $state != "installed" ]]; then
    echo "$4 must be an installed, halted zone"
    exit 1
fi

template_zone=$4

nprocs=`psrinfo | wc -l`
nzones=$1
prefix=$2
dir=$3

ip_addrs_per_if=`ndd /dev/ip ip_addrs_per_if`
if [ $ip_addrs_per_if -lt $nzones ]; then
	    echo "ndd parameter ip_addrs_per_if is too low ($ip_addrs_per_if)"
	    echo "set it higher with 'ndd -set /dev/ip ip_addrs_per_if <num>"
	    exit 1
fi

i=1
while [ $i -le $nzones ]; do
	zoneadm -z $prefix$i clone $template_zone > /dev/null 2>&1
	if [ $? != 0 ]; then
		echo configuring $prefix$i
		F=$dir/$prefix$i.config
		rm -f $F
		echo "create -t SUNWlx" > $F
		echo "set zonepath=$dir/$prefix$i" >> $F
		zonecfg -z $prefix$i -f $dir/$prefix$i.config 2>&1 | \
		    sed 's/^/    /g' 
	else
		echo "skipping $prefix$i, already configured"
	fi
	i=`expr $i + 1`
done

i=1
while [ $i -le $nzones ]; do
	j=1
	while [ $j -le $nprocs ]; do
		if [ $i -le $nzones ]; then
			if [ `zoneadm -z $prefix$i list -p | \
			    cut -d':' -f 3` != "configured" ]; then
				echo "skipping $prefix$i, already installed"
			else
				echo installing $prefix$i
				mkdir -pm 0700 $dir/$prefix$i
				chmod 700 $dir/$prefix$i
				zoneadm -z $prefix$i install -s -d /path/to/ISOs > /dev/null 2>&1 &
				sleep 1	# spread things out just a tad
			fi
		fi
		i=`expr $i + 1`
		j=`expr $j + 1`
	done
	wait
done

i=1
para=`expr $nprocs \* 2`
while [ $i -le $nzones ]; do
	date
	j=1
	while [ $j -le $para ]; do
		if [ $i -le $nzones ]; then
			echo booting $prefix$i
			zoneadm -z $prefix$i boot &
		fi
		j=`expr $j + 1`
		i=`expr $i + 1`
	done
	wait
done

Procedureブランドゾーンの構成を表示する方法

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. ゾーンの構成を表示します。


    global# zonecfg -z zonename info
    

ゾーンの構成を変更する、元に戻す、または削除する

ゾーンの構成を変更する、元に戻す、または削除する手順については、次の各節を参照してください。

第 34 章 lx ブランドゾーンのインストール、起動、停止、複製、およびアンインストールについて (概要)

この章では、次の内容について説明します。

ブランドゾーンのインストールと管理の概要

zoneadm コマンド (zoneadm(1M) のマニュアルページを参照) は、非大域ゾーンをインストールおよび管理するための主要なツールです。zoneadm コマンドを使用する操作は、大域ゾーンから実行する必要があります。zoneadm コマンドを使用すると、次の作業を実行できます。

ゾーンのインストールおよび検証手順については、第 35 章lx ブランドゾーンのインストール、起動、停止、アンインストール、および複製 (手順)および zoneadm(1M) のマニュアルページを参照してください。zoneadm list コマンドでサポートされるオプションについては、zoneadm(1M) のマニュアルページも参照してください。ゾーンの構成手順については、第 33 章lx ブランドゾーンの構成 (手順)および zonecfg(1M) のマニュアルページを参照してください。ゾーンの状態については、「非大域ゾーンの状態モデル」を参照してください。

ゾーンの Solaris 監査レコードの生成を計画している場合は、非大域ゾーンをインストールする前に 「ゾーン内での Solaris 監査の使用」を参照してください。


注 –

ゾーンのインストール後は、ソフトウェアの構成と管理はすべて、ゾーン管理者がゾーン内から Linux ツールを使用して行う必要があります。


lx ブランドゾーンのインストール方法

lx ブランドゾーンのインストールには、tarball、CD-ROM または DVD ディスク、または ISO イメージを使用できます。ディスクまたは ISO イメージからインストールする場合は、Sun パッケージクラスタのカテゴリを指定できます。カテゴリは累積されたものです。クラスタを指定しないと、デフォルトで desktop になります。

表 34–1 パッケージクラスタのカテゴリ

Sun カテゴリ 

内容 

core

ゾーンの構築に必要なパッケージの最小セット。 

サーバー

core のパッケージに httpdmailmanimapdspam-assassin などのサーバー向けパッケージを加えたもの。

desktop

server のパッケージに evolutiongimpmozillaopenoffice などのユーザー向けパッケージを加えたもの。

developer

desktop のパッケージに bisonemacsgccvim-X11 などの開発者パッケージと多くのライブラリ開発パッケージを加えたもの。

all

インストールメディアに含まれているもので、ゾーンの動作に干渉しないことがわかっているものすべて。一部のパッケージは、Linux ゾーンで機能しない場合があります。 

構成済みの lx ブランドゾーンをインストールする方法については、lx ブランドゾーンをインストールする方法」を参照してください。

lx ブランドゾーンの構築

この節の内容は、既存のゾーンの複製にではなく、初期のゾーン構築だけに適用されます。

非大域ゾーンを構成したあとで、システムの構成にゾーンを安全にインストールできることを確認してください。その後、ゾーンをインストールできます。ゾーンのルートファイルシステムに必要とされるファイルは、システムによりゾーンのルートパス内にインストールされます。Linux ゾーンは、CD、ISO イメージ、または tarball から生成されます。詳細は、lx ブランドゾーンをインストールする方法」を参照してください。

ゾーンの状態がインストール済みから準備完了に移行する際、構成ファイルで指定された資源セットが追加されます。システムにより、一意のゾーン ID が割り当てられます。ファイルシステムがマウントされ、ネットワークインタフェースが設定され、デバイスが構成されます。準備完了状態に移行すると、仮想プラットフォームでユーザープロセスを開始する準備が整います。

準備完了状態のゾーンには、稼働中のユーザープロセスは存在しません。準備完了状態のゾーンと稼働中のゾーンの主な違いは、稼働中のゾーンでは 1 つ以上のプロセスが稼働している点です。詳細は、init(1M) のマニュアルページを参照してください。

準備完了状態では、仮想プラットフォームを管理するため、zsched および zoneadmd プロセスが開始されます。

zoneadmd ゾーン管理デーモン

ゾーン管理デーモン zoneadmd は、ゾーンの仮想プラットフォーム管理用の主要なプロセスです。詳細は、zoneadmd デーモン」を参照してください。

zsched ゾーンスケジューリングプロセス

アプリケーション環境を管理するプロセス zsched については、zsched ゾーンスケジューラ」を参照してください。

ブランドゾーンアプリケーション環境

ゾーンアプリケーション環境の作成には、zoneadm コマンドが使用されます。

追加の構成はすべて、ゾーン管理者がゾーン内から Linux ツールを使用して行います。

パスワード

ゾーンを Sun tarball からインストールすると、root (スーパーユーザー) パスワードは root になります。ゾーンを ISO イメージまたは CD からインストールすると、root (スーパーユーザー) パスワードは未設定 (空白) になります。

lx ブランドゾーンの停止、再起動、アンインストール、および複製について

ここでは、ゾーンの停止、再起動、アンインストール、および複製手順の概要について説明します。

ブランドゾーンを停止する

ゾーンのアプリケーション環境および仮想プラットフォームの両方を削除する場合に、zoneadm halt コマンドを使用します。これにより、ゾーンはインストール済みの状態に戻されます。すべてのプロセスが終了し、デバイスが構成解除され、ネットワークインタフェースが破棄され、ファイルシステムのマウントが解除され、カーネルデータ構造が破棄されます。

halt コマンドにより、ゾーン内部の停止処理スクリプトが実行されることはありません。ゾーンの停止処理を行う方法については、zlogin を使用してゾーンを停止処理する方法」を参照してください。

停止操作に失敗する場合は、「ゾーンが停止しない」を参照してください。

ブランドゾーンを再起動する

zoneadm reboot コマンドを使用してブランドゾーンを再起動します。ゾーンは停止し、その後再起動します。ゾーンの再起動時に、ゾーン ID が変更されます。

ブランドゾーンのブート引数

ゾーンでは、次のブート引数を zoneadm boot および reboot コマンドに使用できます。

次の定義が適用されます。

-i altinit

最初のプロセスとなる代替実行可能ファイルを選択します。altinit は実行可能ファイルへの有効なパスでなければなりません。デフォルトの最初のプロセスについては、init(1M) のマニュアルページを参照してください。

-s

ゾーンを init のレベル s に起動します。

使用例については、lx ブランドゾーンを起動する方法」および lx ブランドゾーンをシングルユーザーモードで起動する方法」を参照してください。

init コマンドの詳細は、init(1M) のマニュアルページを参照してください。

ブランドゾーンの autoboot

ゾーンの構成内で autoboot 資源プロパティーを true に設定すると、大域ゾーンの起動時にそのゾーンが自動的に起動します。デフォルトの設定は false です。

ゾーンを自動的に起動するには、ゾーンサービス svc:/system/zones:default も有効になっている必要があります。

ブランドゾーンをアンインストールする

zoneadm uninstall コマンドは、ゾーンのルートファイルシステム内のすべてのファイルを削除します。-F (force) オプションを合わせて指定しない限り、処理を続行する前に、コマンドプロンプトにより実行の確認が求められます。実行した操作を元に戻すことはできないため、uninstall コマンドは慎重に使用してください。

lx ブランドゾーンの複製について

クローンを使用すると、システムの既存の構成済みおよびインストール済みゾーンをコピーして、新しいゾーンを同一のシステム上に迅速にプロビジョニングできます。複製処理の詳細については、「同一システム上での lx ブランドゾーンの複製」を参照してください。

lx ブランドゾーンの起動と再起動

ゾーンの起動および再起動の手順については、lx ブランドゾーンを起動する方法」および lx ブランドゾーンを再起動する方法」を参照してください。

第 35 章 lx ブランドゾーンのインストール、起動、停止、アンインストール、および複製 (手順)

この章では、lx ブランドゾーンのインストールおよび起動方法について説明します。次に示すその他のタスクについても説明します。

lx ブランドゾーンのインストール (作業マップ)

タスク 

説明 

説明 

Linux アーカイブを入手します。 

lx ブランドゾーンをインストールするには、まず Linux アーカイブを入手する必要があります。

「Linux アーカイブを入手する方法」

構成済みの lx ブランドゾーンをインストールします。

構成済みの状態にあるゾーンをインストールします。 

lx ブランドゾーンをインストールする方法」

(省略可能) 使用可能なパッケージの一部をインストールします。 

CD または ISO イメージからインストールする場合は、インストールメディア上にあるパッケージの一部をインストールすることができます。 

「パッケージの一部をインストールする方法」

(省略可能) ゾーンでネットワークを使用可能にします。 

ネットワークはデフォルトでは使用不可になっているので、この機能が必要な場合は、ネットワークを使用可能にする必要があります。 

lx ブランドゾーンでネットワークを使用可能にする方法」

ゾーンの汎用一意識別子 (UUID) を取得します。 

ゾーンのインストール時に割り当てられるこの個別の識別子は、ゾーンを識別するための代替手段になります。 

「インストール済みのブランドゾーンの UUID を取得する方法」

(任意) インストール済みのゾーンを準備完了状態に移行します。 

ゾーンをすぐに起動して使用する場合、この手順は省略できます。  

「(省略可能) インストール済みの lx ブランドゾーンを準備完了状態に移行する」

lx ブランドゾーンを起動します。

ゾーンを起動すると、ゾーンが稼働状態になります。ゾーンは、準備完了状態またはインストール済み状態から起動できます。  

lx ブランドゾーンを起動する方法」

ゾーンをシングルユーザーモードで起動します。 

マイルストン svc:/milestone/single-user:default に対してのみ起動します。このマイルストンは、init のレベル s と同等です。init(1M) および svc.startd(1M) のマニュアルページを参照してください。

「ゾーンをシングルユーザーモードで起動する方法」

lx ブランドゾーンのインストールと起動

zoneadm(1M) のマニュアルページの記述に従って zoneadm コマンドを使用し、非大域ゾーンのインストール作業を実行します。

ProcedureLinux アーカイブを入手する方法

lx ブランドゾーンをインストールするには、まず Linux アーカイブを入手する必要があります。アーカイブは次の形式で配布されます。

  1. 次のいずれかの方法で Linux ディストリビューションを入手します。

Procedurelx ブランドゾーンをインストールする方法

構成済みの lx ブランドゾーンをインストールする場合に、ここで説明する手順を使用します。ゾーンのインストール後は、ソフトウェアの構成と管理はすべて、ゾーン管理者がゾーン内から Linux ツールを使用して行う必要があります。

異なるディストリビューションパスを使用してゾーンをインストールするコマンド行の例については、例 35–1例 35–2、および例 35–3 を参照してください。ディスクまたは ISO イメージからインストールする場合は、Sun パッケージクラスタのカテゴリを指定する必要があります。パッケージクラスタのカテゴリについては、lx ブランドゾーンのインストール方法」を参照してください。

ゾーンをインストールする前に検証できます。この手順を省略した場合、ゾーンのインストール時に検証が自動的に実行されます。手順については、「(省略可能) インストール前に構成済みのゾーンを検証する方法」を参照してください。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。


注 –

手順 3 の zoneadm install コマンドでは、zonepath が ZFS 上にある場合、ゾーンのインストール時に zonepath の ZFS ファイルシステム (データセット)が自動的に作成されます。-x nodataset パラメータを指定することで、この処理をブロックできます。


  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. (省略可能) DVD または CD からインストールする場合は、システムで volfs を使用可能にし、稼働していることを確認します。


    global# svcadm enable svc:/system/filesystem/volfs:default
    

    global# svcs | grep volfs
    

    次のような情報が表示されます。


    online  17:30 svc:/system/filesystem/volfs:default
  3. zoneadm コマンドに install オプションとアーカイブのパスを指定して、構成済みゾーン lx-zone をインストールします。

    • ゾーンをインストールします。zonepath が ZFS 上にある場合は、ZFS ファイルシステムを自動的に作成します。


      global# zoneadm -z lx-zone install -d archive_path
      

      システムには次のように表示されます。


      A ZFS file system has been created for this zone.
    • zonepath が ZFS 上にあるゾーンをインストールします。ただし、ZFS ファイルシステムの自動作成は行いません。


      global# zoneadm -z lx-zone install -x nodataset -d archive_path
      

    ゾーンのルートファイルシステムに必要なファイルおよびディレクトリがパッケージファイルとともにゾーンのルートパスにインストールされる際、さまざまなメッセージが表示されます。


    注 –

    archive_path を指定しない場合、デフォルトは CD です。


  4. (省略可能) エラーメッセージが表示され、ゾーンのインストールに失敗した場合は、次のように入力してゾーンの状態を取得します。


    global# zoneadm -z lx-zone list -iv
    
    • 状態が構成済みであると表示された場合は、メッセージに示された修正を行い、zoneadm install コマンドを再度実行します。

    • 状態が不完全であると表示された場合は、最初に次のコマンドを実行します。


      global# zoneadm -z lx-zone uninstall
      

      次にメッセージに示された修正を行い、zoneadm install コマンドを再度実行します。

  5. インストールが完了したら、list サブコマンドに -i オプションおよび -v オプションを指定してインストール済みのゾーンを一覧表示し、状態を確認します。


    global# zoneadm list -iv
    

    次のような情報が表示されます。


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  lx-zone  installed    /export/home/lx-zone           lx         shared

例 35–1 CentOS の圧縮された tar アーカイブを使用するインストールコマンド


global# zoneadm -z lx-zone install -d /export/centos_fs_image.tar.bz2


例 35–2 CentOS の CD を使用するインストールコマンド

CD または DVD からインストールする場合は、システムで volfs が使用可能になっている必要があります。ソフトウェアクラスタパッケージを指定する必要があります。たとえば、development を使用して完全な環境をインストールするか、特定のクラスタの名前を指定します。クラスタパッケージを指定しないと、デフォルトで desktop がインストールされます。CD デバイスは /cdrom/cdrom0 です。


global# zoneadm -z lx-zone install -d /cdrom/cdrom0 development


例 35–3 CentOS の ISO イメージを使用するインストールコマンド

ソフトウェアクラスタパッケージを指定する必要があります。development を使用して完全な環境をインストールするか、特定のクラスタを指定します。クラスタパッケージを指定しないと、デフォルトで desktop がインストールされます。CentOS の ISO イメージは /export/centos_3.7 にあります。


global# zoneadm -z lx-zone install -d /export/centos_3.7 development

参照

データセットの詳細については、『Oracle Solaris ZFS 管理ガイド』を参照してください。

注意事項

ゾーンのインストールが中断または失敗した場合は、ゾーンの状態は不完全なままになります。uninstall -F を使用して、ゾーンを構成済みの状態にリセットします。

Procedureパッケージの一部をインストールする方法

CD または ISO イメージからインストールする場合は、インストールメディア上にあるパッケージの一部をインストールすることができます。使用可能なサブセットは、coreserverdesktopdeveloper、および all です。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. server パッケージだけをインストールします。


    global# zoneadm -z lx-zone install -d archive_path server
    

Procedurelx ブランドゾーンでネットワークを使用可能にする方法

lx ブランドゾーンをインストールしたとき、ネットワークは使用不可になっています。ネットワークを使用可能にするには、ここで説明する手順などを使用します。

この手順を実行するには、ゾーン管理者になる必要があります。

  1. ゾーンの /etc/sysconfig/network ファイルを編集します。


    NETWORKING=yes
    HOSTNAME=your.hostname
  2. NIS ドメインを設定するには、次のような行を追加します。


    NISDOMAIN=domain.Sun.COM
ネットワークサービスとネームサービスの構成

ネットワークサービスやネームサービスの構成方法については、使用している Linux ディストリビューションのマニュアルを参照してください。

Procedureインストール済みのブランドゾーンの UUID を取得する方法

ゾーンのインストール時に、汎用一意識別子 (UUID) がゾーンに割り当てられます。UUID は、zoneadmlist サブコマンドと -p オプションを使うことで取得できます。UUID は、5 番目に表示されるフィールドです。

  1. インストールされたゾーンの UUID を表示します。


    global# zoneadm list -p
    

    次のような情報が表示されます。


    0:global:running:/::native
        1:centos38:running:/zones/centos38:27fabdc8-d8ce-e8aa-9921-ad1ea23ab063:lx

例 35–4 コマンド内で UUID を使用する方法


global# zoneadm -z lx-zone -u 61901255-35cf-40d6-d501-f37dc84eb504 list -v

-u uuid-match- z zonename の両方が存在する場合、最初に UUID に基づいてマッチングが行われます。指定した UUID のゾーンが見つかった場合はそのゾーンが使用され、-z パラメータは無視されます。指定した UUID のゾーンが見つからなかった場合、システムはゾーン名で検索を実行します。


UUID について

ゾーンをアンインストールすることも、同名のゾーンを内容を変えて再インストールすることもできます。ゾーンの内容を変更せずにゾーンの名前を変更することも可能です。こうした理由から、UUID はゾーン名よりも信頼性の高いハンドルです。

参照

詳細は、zoneadm(1M) および libuuid(3LIB) を参照してください。

Procedureインストールした lx ブランドゾーンに不完全のマークを付ける方法

システムに加えられた管理上の変更のためにゾーンが使用不可になるか、矛盾が生じた場合、インストールしたゾーンの状態を不完全に変更できます。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. ゾーン testzone に不完全のマークを付けます。


    global# zoneadm -z testzone mark incomplete
    
  3. list サブコマンドに -i オプションと - v オプションを使って、状態を確認します。


    global# zoneadm list -iv
    

    次のような情報が表示されます。


    ID  NAME       STATUS        PATH                   BRAND      IP
    0   global     running       /                       native     shared
    -   testzone   incomplete    /export/home/testzone   lx         shared
ゾーンへの不完全のマーク付け

注 –

ゾーンへの不完全のマーク付けは、取り消すことができません。不完全のマークが付けられたゾーンに実行可能なのは、ゾーンをアンインストールして、構成済みの状態に戻す操作だけです。「ブランドゾーンをアンインストールする方法」を参照してください。


(省略可能) インストール済みの lx ブランドゾーンを準備完了状態に移行する

準備完了状態に移行すると、仮想プラットフォームでユーザープロセスを開始する準備が整います。準備完了状態のゾーンには、内部で実行中のユーザープロセスは存在しません。

ゾーンをすぐに起動して使用する場合、この手順は省略できます。ゾーンの起動時に、準備完了状態への移行が自動的に行われます。

「(省略可能) インストール済みのゾーンを準備完了状態に移行する方法」を参照してください。

Procedurelx ブランドゾーンを起動する方法

ゾーンを起動すると、ゾーンが稼働状態になります。ゾーンは、準備完了状態またはインストール済み状態から起動できます。起動したインストール済み状態のゾーンは、準備完了状態から稼働状態に透過的に移行します。稼働状態のゾーンに対してはゾーンへのログインが可能です。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。


ヒント –

ラベルが有効になっている Trusted Solaris システムでは、ブランドゾーンを起動できないことに注意してください。


  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. zoneadm コマンドを -z オプション、ゾーン名 (lx-zone)、および boot サブコマンドとともに使用することで、ゾーンを起動します。


    global# zoneadm -z lx-zone boot
    
  3. 起動が完了したら、list サブコマンドに -v オプションを指定して状態を確認します。


    global# zoneadm list -v
    

    次のような情報が表示されます。


    ID  NAME     STATUS       PATH                  BRAND      IP
     0  global   running      /                     native     shared
     1  lx-zone  running      /export/home/lx-zone  lx         shared

例 35–5 ゾーンのブート引数を指定する

-i altinit オプションを使用してゾーンを起動します。


global# zoneadm -z lx-zone boot -- -i /path/to/process

注意事項

ゾーン構成で指定された IP アドレス用のネットマスクをシステムが検出できなかったことを示すメッセージが表示された場合は、「ゾーン起動時に netmasks の警告が表示される」を参照してください。このメッセージは単なる警告であり、コマンドは成功しています。

Procedurelx ブランドゾーンをシングルユーザーモードで起動する方法

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. ゾーンをシングルユーザーモードで起動します。


    global# zoneadm -z lx-zone boot -- -s
    

次に進む手順

ゾーンにログインして構成を確認する方法については、lx ブランドゾーンへのログイン」を参照してください。

lx ブランドゾーンの停止、再起動、アンインストール、複製、および削除 (作業マップ)

タスク 

説明 

説明 

ゾーンを停止します。 

停止手順を実行して、ゾーンのアプリケーション環境と仮想プラットフォームの両方を削除します。この手順により、ゾーンが準備完了状態からインストール済み状態に戻されます。ゾーンの完全な停止処理を行う方法については、zlogin を使用して lx ブランドゾーンを停止処理する方法」を参照してください。

lx ブランドゾーンを停止する方法」

ゾーンを再起動します。 

再起動の手順を実行すると、ゾーンが停止してから再び起動します。 

lx ブランドゾーンを再起動する方法」

ゾーンをアンインストールします。 

この手順は、ゾーンのルートファイルシステム内のすべてのファイルを削除します。この手順は、十分注意して実行する必要があります。実行した操作を元に戻すことはできません。

「ブランドゾーンをアンインストールする方法」

同一システムの既存ゾーンの構成に基づいて、新しい非大域ゾーンをプロビジョニングします。 

ゾーンの複製は、ゾーンのインストールより高速な代替手段です。ただし、インストールの前にはやはり新規ゾーンを構成してください。 

「同一システム上での lx ブランドゾーンの複製」

システムから非大域ゾーンを削除します。 

この手順を実行すると、システムからゾーンが完全に削除されます。 

「システムから lx ブランドゾーンを削除する」

lx ブランドゾーンの停止、再起動、およびアンインストール

Procedurelx ブランドゾーンを停止する方法

lx ブランドゾーンのアプリケーション環境と仮想プラットフォームの両方を削除する場合に、この停止手順を使用します。ゾーンの完全な停止処理を行う方法については、「zlogin を使用して lx ブランドゾーンを停止処理する方法」を参照してください。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. システムで稼働中のゾーンの一覧を表示します。


    global# zoneadm list -v
    

    次のような情報が表示されます。


    ID  NAME     STATUS       PATH                  BRAND      IP
     0  global   running      /                     native     shared
     1  lx-zone  running      /export/home/lx-zone  lx         shared
  3. zoneadm コマンドを -z オプション、ゾーン名 (lx-zone など)、および halt サブコマンドとともに使用することで、指定されたゾーンを停止します。


    global# zoneadm -z lx-zone halt
    
  4. システム内のゾーンの一覧を再度表示して、lx-zone が停止していることを確認します。


    global# zoneadm list -iv
    

    次のような情報が表示されます。


    ID  NAME       STATUS        PATH                 BRAND      IP
    0  global     running       /                     native     shared
    -  lx-zone    installed     /export/home/lx-zone  lx         shared
  5. ゾーンを再び起動する場合は、次のコマンドを実行します。


    global# zoneadm -z lx-zone boot
    
注意事項

ゾーンが正しく停止しない場合は、「ゾーンが停止しない」でトラブルシューティングのヒントを参照してください。

Procedurelx ブランドゾーンを再起動する方法

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. システムで稼働中のゾーンの一覧を表示します。


    global# zoneadm list -v
    

    次のような情報が表示されます。


    ID  NAME     STATUS       PATH                  BRAND      IP
     0  global   running      /                     native     shared
     1  lx-zone  running      /export/home/lx-zone  lx         shared
  3. zoneadm コマンドを -z reboot オプションとともに使用することで、ゾーン lx-zone を再起動します。


    global# zoneadm -z lx-zone reboot
    
  4. システム内のゾーンの一覧を再度表示して、lx-zone が再起動したことを確認します。


    global# zoneadm list -v
    

    次のような情報が表示されます。


    ID  NAME     STATUS       PATH                  BRAND      IP
     0  global   running      /                     native     shared
     2  lx-zone  running      /export/home/lx-zone  lx         shared

    ヒント –

    lx-zone のゾーン ID が変更されていることに注目してください。通常、再起動するとゾーン ID は変更されます。


Procedureブランドゾーンをアンインストールする方法


注意 – 注意 –

この手順は、ゾーンのルートファイルシステム内のすべてのファイルを削除します。実行した操作を元に戻すことはできません。


ゾーンは稼働状態であっていけません。uninstall 操作は、稼働中のゾーンに対しては無効です。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. システム内のゾーンの一覧を表示します。


    global# zoneadm list -v
    

    次のような情報が表示されます。


    ID  NAME       STATUS        PATH                 BRAND      IP
    0  global     running       /                     native     shared
    -  lx-zone    installed     /export/home/lx-zone  lx         shared
  3. zoneadm コマンドを -z uninstall オプションとともに使用することで、ゾーン lx-zone を削除します。

    -F オプションを使用すると、処理を強制的に実行できます。このオプションが指定されていない場合、システムにより確認を求めるメッセージが表示されます。


    global# zoneadm -z lx-zone uninstall -F
    

    zonepath として独自の ZFS ファイルシステムを保持しているゾーンをアンインストールすると、その ZFS ファイルシステムは破棄されます。

  4. システム内のゾーンの一覧を再度表示して、lx-zone が一覧に含まれていないことを確認します。


    global# zoneadm list -v
    

    次のような情報が表示されます。


    ID  NAME     STATUS       PATH               BRAND      IP
    0  global   running      /                   native     shared
注意事項

ゾーンのアンインストールが中断した場合、ゾーンの状態は不完全なままになります。zoneadm uninstall コマンドを使用して、ゾーンを構成済みの状態にリセットしてください。

実行した操作を元に戻すことはできないため、uninstall コマンドは慎重に使用してください。

同一システム上での lx ブランドゾーンの複製

複製操作は、複製元の zonepath から複製先の zonepath にデータをコピーすることにより、システム上に新しいゾーンをプロビジョニングするのに使用されます。

Procedurelx ブランドゾーンを複製する方法

新規ゾーンをインストールする前に、そのゾーンを構成する必要があります。zoneadm create サブコマンドに渡されるパラメータは、複製するゾーンの名前です。この複製元のゾーンを停止する必要があります。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. 複製元のゾーン (この手順では lx-zone) を停止します。


    global# zoneadm -z lx-zone halt
    
  3. 複製元ゾーン lx-zone の構成をファイル (たとえば、master) にエクスポートすることにより、新規ゾーンの構成を開始します。


    global# zonecfg -z lx-zone export -f /export/zones/master
    

    注 –

    既存の構成を変更する代わりに、「ゾーンの構成方法」で説明されている手順を使って、新規ゾーン構成を作成することもできます。この方法を使用する場合は、ゾーンを作成したあとで手順 6 に進みます。


  4. master ファイルを編集します。少なくとも、新規ゾーンに別の zonepath と IP アドレスを設定する必要があります。

  5. master ファイル内のコマンドを使って、新規ゾーン zone1 を作成します。


    global# zonecfg -z zone1 -f /export/zones/master
    
  6. lx-zone を複製して、新規ゾーン zone1 をインストールします。


    global# zoneadm -z zone1 clone lx-zone
    

    システムには次のように表示されます。


    Cloning zonepath /export/home/lx-zone...
  7. システム内のゾーンの一覧を表示します。


    global# zoneadm list -iv
      ID  NAME          STATUS          PATH                   BRAND      IP
       0  global        running         /                      native     shared
       -  lx-zone       installed       /export/home/lx-zone   lx         shared
       -  zone1         installed       /export/home/zone1     lx         shared          

Procedure既存のスナップショットからゾーンを複製する方法

最初にゾーンを複製したときに作成された既存のスナップショットから、元のゾーンを何度も複製することができます。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. ゾーン zone2 を構成します。

  3. 既存のスナップショットを使用して new-zone2 を作成することを指定します。


    global# zoneadm -z zone2 clone -s zeepool/zones/lx-zone@SUNWzone1 lx-zone
    

    システムには次のように表示されます。


    Cloning snapshot zeepool/zones/lx-zone@SUNWzone1

    zoneadm コマンドは、スナップショット SUNWzone1 のソフトウェアを検証し、スナップショットを複製します。

  4. システム内のゾーンの一覧を表示します。


    global# zoneadm list -iv
      ID NAME             STATUS         PATH                    BRAND      IP
       0 global           running        /                       native     shared
       - lx-zone          installed      /zeepool/zones/lx-zone  lx         shared
       - zone1            installed      /zeepool/zones/zone1    lx         shared
       - zone2            installed      /zeepool/zones/zone1    lx         shared

ProcedureZFS クローンの代わりにコピーを使用する方法

ZFS ファイルシステム上のゾーンの自動複製を防止し、代わりに zonepath をコピーするように指定する場合は、ここで説明する手順を使用します。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. ZFS クローンは行わず、ZFS 上の zonepath をコピーするように指定します。


    global# zoneadm -z zone1 clone -m copy lx-zone
    

システムから lx ブランドゾーンを削除する

この節では、システムからゾーンを完全に削除する手順を説明します。

Procedurelx ブランドゾーンを削除する方法

  1. ゾーン lx-zone を停止処理します。


    global# zlogin lx-zone shutdown -y -g0 -i0
    
  2. lx-zone のルートファイルシステムを削除します。


    global# zoneadm -z lx-zone uninstall -F
    
  3. lx-zone の構成を削除します。


    global# zonecfg -z lx-zone delete -F
    
  4. システム内のゾーンの一覧を表示し、lx-zone が一覧に含まれていないことを確認します。


    global# zoneadm list -iv
    

    次のような情報が表示されます。


    ID  NAME     STATUS       PATH   BRAND      IP
     0  global   running      /      native     shared

第 36 章 lx ブランドゾーンへのログイン (手順)

この章では、次の内容について説明します。

zlogin コマンドの概要

zlogin コマンドを使用して、大域ゾーンから稼働状態または準備完了状態にある任意のゾーンにログインします。


注 –

稼働状態にないゾーンへのログインに使用できるのは、zlogin コマンドと -C オプションの組み合わせだけです。


-C オプションを使用してゾーンコンソールに接続しない限り、zlogin を使用してゾーンにログインすると、新しいタスクが開始されます。1 つのタスクを 2 つのゾーンで実行することはできません。

「非対話型モードを使用して lx ブランドゾーンにアクセスする方法」に記述されているとおり、ゾーン内での実行を指示するコマンドを指定することで、zlogin コマンドを非対話型モードで使用できます。ただし、このコマンドおよびこのコマンドの処理対象となるファイルは、いずれも NFS 上に存在していてはなりません。開かれているファイルのいずれか、またはそのアドレス空間のいずれかの部分が NFS 上に存在する場合、コマンドは失敗します。アドレス空間には、コマンドの実行可能ファイル自体またはリンクされたライブラリが含まれます。

大域ゾーンを操作する大域管理者が使用できるのは、zlogin コマンドだけです。詳細は、zlogin(1) のマニュアルページを参照してください。

lx ブランドゾーンへのログイン方法

ゾーンコンソールログインおよびユーザーログインの方法の概要については、「非大域ゾーンへのログイン方法」を参照してください。

ログインで問題が発生し、zlogin コマンドまたは zlogin コマンドと -C オプションを使用してゾーンにアクセスできない場合は、フェイルセーフモードを使用します。このモードについては、「フェイルセーフモード」を参照してください。

ゾーンへのリモートログインについては、「リモートログイン」を参照してください。

対話型モードでは、ゾーン内部で使用する新しい仮想端末が割り当てられます。非対話型モードは、ゾーンを管理するシェルスクリプトを実行する場合に使用します。詳細は、「対話型モードと非対話型モード」を参照してください。

ブランドゾーンへのログイン手順 (作業マップ)

タスク 

説明 

説明 

ゾーンにログインします。 

ゾーンへのログインには、コンソールを使用する、対話型モードを使って仮想端末を割り当てる、またはゾーン内で実行するコマンドを指定する方法があります。実行するコマンドを指定する場合、仮想端末は割り当てられません。ゾーンへの接続が拒否された場合は、フェイルセーフモードを使用してログインすることもできます。 

lx ブランドゾーンへのログイン」

ブランドゾーンから抜けます。 

ブランドゾーンへの接続を切り離します。 

lx ブランドゾーンから抜ける方法」

ブランドゾーンを停止処理します。 

shutdown ユーティリティーまたはスクリプトを使用して、ブランドゾーンを停止処理します。

zlogin を使用して lx ブランドゾーンを停止処理する方法」

lx ブランドゾーンへのログイン

zlogin コマンドを使用して、大域ゾーンから稼働状態または準備完了状態にある任意のゾーンへログインします。詳細は、zlogin(1) のマニュアルページを参照してください。

次の手順に示すように、ゾーンへのログインはさまざまな方法で実行できます。「リモートログイン」で説明されているように、リモートでログインすることも可能です。

Procedurelx ブランドゾーンコンソールへのログイン方法

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. zlogin コマンドを -C オプションと lx-zone などのゾーン名とともに使用します。


    global# zlogin -C lx-zone
    [Connected to zone 'lx-zone' console]

    注 –

    zoneadm boot コマンドの実行後、すぐに zlogin セッションを開始すると、ゾーンからのブートメッセージが表示されます。


    INIT: version 2.85 booting
    	                Welcome to CentOS
    	                Press 'I' to enter interactive startup.
    	Configuring kernel parameters:  [  OK  ]
    	Setting hostname lx-zone:  [  OK  ]
    	[...]
    	CentOS release 3.6 (Final)
    	Kernel 2.4.21 on an i686

  3. ゾーンコンソールが表示されたら、root でログインし、Return キーを押します。プロンプトが表示されたら root のパスワードを入力します。


    lx-zone console login: root
    Password:

    注 –

    ゾーンを Sun tarball からインストールした場合、root (スーパーユーザー) パスワードは root です。ゾーンを ISO イメージまたは CD からインストールした場合、root (スーパーユーザー) パスワードは未設定 (空白) です。


Procedure対話型モードを使用してブランドゾーンにアクセスする方法

対話型モードでは、ゾーン内部で使用する新しい仮想端末が割り当てられます。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. 大域ゾーンからゾーン (例: lx-zone) にログインします。


    global# zlogin lx-zone
    

    次のような情報が表示されます。


    [Connected to zone 'lx-zone' pts/2]
    Last login: Wed Jul  3 16:25:00 on console
    Sun Microsystems Inc. SunOS 5.10 Generic July 2006
  3. exit と入力して、接続を閉じます。

    次のようなメッセージが表示されます。


    [Connection to zone 'lx-zone' pts/2 closed]

Procedure稼働中の環境を確認する方法

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. ゾーン (例: lx-zone) にログインします。


    global# zlogin lx-zone
    
  3. Solaris オペレーティングシステムの下で Linux 環境が稼働していることを確認します。


    [root@lx-zone root]# uname -a
    

    次のような情報が表示されます。


    Linux lx-zone 2.4.21 BrandZ fake linux i686 i686 i386 GNU/Linux 

Procedure非対話型モードを使用して lx ブランドゾーンにアクセスする方法

ゾーン内部で実行されるコマンドを指定すると、非対話型モードが有効になります。非対話型モードでは、新しい仮想端末は割り当てられません。

コマンドおよびコマンドの処理対象のファイルは、いずれも NFS 上に存在してはならないことに注意してください。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. 大域ゾーンから lx-zone ゾーンにログインして、コマンド名を入力します。

    command には、ゾーン内で実行するコマンドの名前を指定します。


    global# zlogin lx-zone command
    

例 36–1 ゾーン lx_master でコマンド uptime を使用する


global#  zlogin lx_master uptime
	21:16:01  up  2:39,  0 users,  load average: 0.19, 0.13, 0.11
	fireball#

Procedurelx ブランドゾーンから抜ける方法

  1. 非大域ゾーンへの接続を切り離すには、次のいずれかの方法を使用します。

    • ゾーンの非仮想コンソールを終了するには、次の操作を行います。


      zonename# exit
      
    • ゾーンの仮想コンソールへの接続を切り離すには、次のようにチルダ (~) 文字とピリオドを使用します。


      zonename# ~.
      

      画面には、次のようなメッセージが表示されます。


      [Connection to zone 'lx-zone' pts/6 closed]
参照

zlogin コマンドのオプションの詳細については、zlogin(1) のマニュアルページを参照してください。

Procedureフェイルセーフモードを使用して lx ブランドゾーンに入る方法

ゾーンへの接続が拒否された場合、zlogin コマンドと -S オプションを使用して、ゾーン内の最小環境に入ることができます。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. 大域ゾーンから、zlogin コマンドと -S オプションを使用してゾーン (例: lx-zone) にアクセスします。


    global# zlogin -S lx-zone
    

Procedurezlogin を使用して lx ブランドゾーンを停止処理する方法


注 –

大域ゾーンで init 0 を実行して Solaris システムの完全な停止処理を実行すると、システム内のそれぞれの非大域ゾーンでも init 0 が実行されます。init 0 は、ローカルユーザーとリモートユーザーに対してシステムが停止する前にログオフするよう警告しないので、注意してください。


ゾーンを正しく停止処理するには、次の手順を実行します。停止処理スクリプトを実行せずにゾーンを停止する方法については、「ゾーンの停止方法」を参照してください。

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. 停止処理を行うゾーン (例: lx-zone) にログインし、ユーティリティーの名前として shutdown を、状態として init 0 を指定します。


    global# zlogin lx-zone shutdown -y -g0 -i0
    

    サイトによっては、特定の環境に合わせた独自の停止処理スクリプトが存在する場合もあります。

非対話型モードでの shutdown の使用

現時点では、非対話型モードで shutdown コマンドを使って、ゾーンをシングルユーザー状態にすることはできません。詳細は、6214427 を参照してください。

「対話型モードを使用してブランドゾーンにアクセスする方法」の説明に従って、対話型ログインを使用できます。

第 37 章 lx ブランドゾーンの移動と移行 (手順)

この章では、次の操作を行う方法について説明します。

lx ブランドゾーンの移動

zonepath を変更してゾーンを同じシステムの新しい場所に移動する場合に、ここで説明する手順を使用します。ゾーンは、停止する必要があります。新規 zonepath がローカルファイルシステムに存在する必要があります。「資源タイプとプロパティータイプ」に説明されている、 zonepath の通常の基準が適用されます。

Procedureゾーンを移動する方法

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割については、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. 移動するゾーン (この手順では db-zone) を停止します。


    global# zoneadm -z db-zone halt
    
  3. zoneadm コマンドを move サブコマンドとともに使用して、ゾーンを新規の zonepath である /export/zones/db-zone に移動します。


    global# zoneadm -z db-zone move /export/zones/db-zone
    
  4. パスを確認します。


    global# zoneadm list -iv
      ID NAME             STATUS         PATH                  BRAND      IP
       0 global           running        /                     native     shared
       - lx-zone          installed      /export/home/lx-zone  lx         shared
       - db-zone          installed      /export/zones/db-zone lx         shared

別のマシンへの lx ブランドゾーンの移行

lx ブランドゾーンの移行について

zonecfg および zoneadm コマンドを使用して、既存の非大域ゾーンをあるシステムから別のシステムに移行できます。ゾーンは停止され、現在のホストから切り離されます。zonepath は移行先のホストに移動され、そこで接続されます。

lx ブランドゾーンの移行には、次の要件が適用されます。

zoneadm detach プロセスにより、別のシステムでゾーンを接続するのに必要な情報が作成されます。 zoneadm attach プロセスは、移行先のマシンがゾーンのホストとして機能するための適正な構成を保持していることを確認します。新規ホストで zonepath を使用可能にする方法は複数存在するため、あるシステムから別のシステムへの zonepath の実際の移動は、大域管理者が手動で行います。

新規システムへの接続時に、ゾーンはインストール済みの状態になります。

Procedurelx ブランドゾーンを移行する方法

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. 移行するゾーン (この手順では lx-zone) を停止します。


    host1# zoneadm -z lx-zone halt
    
  3. ゾーンを切り離します。


    host1# zoneadm -z lx-zone detach
    

    切り離されたゾーンは、現在、構成済みの状態にあります。

  4. lx-zonezonepath を新規ホストに移動します。

    詳細は、zonepath を新規ホストに移動する方法」を参照してください

  5. 新規ホスト上でゾーンを構成します


    host2# zonecfg -z lx-zone
    

    次のシステムメッセージが表示されます


    lx-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  6. 新規ホスト上にゾーン lx-zone を作成するには、zonecfg コマンドに -a オプションおよび新規ホストの zonepath を指定します。


    zonecfg:lx-zone> create -a /export/zones/lx-zone
    
  7. 構成を表示します。


    zonecfg:lx-zone> info
    zonename: lx-zone
    zonepath: /export/zones/lx-zone
    brand: lx
    autoboot: false
    bootargs:
    pool:
    limitpriv:
    net:
             address: 192.168.0.90
             physical: bge0
  8. (省略可能) 構成に必要な調整を加えます。

    たとえば、新規ホストではネットワーク物理デバイスが異なる場合があります。また、構成に含まれるデバイスの名前が新規ホストでは異なることもあります。


    zonecfg:lx-zone> select net physical=bge0
    zonecfg:lx-zone:net> set physical=e1000g0
    zonecfg:lx-zone:net> end
    
  9. 構成を確定して終了します。


    zonecfg:lx-zone> commit
    zonecfg:lx-zone> exit
    
  10. 新規ホスト上でゾーンを接続します。

    • 妥当性検査を使用して、ゾーンを接続します。


      host2# zoneadm -z lx-zone attach
      

      次の条件のいずれかまたは両方に当てはまる場合、実行が必要な操作がシステム管理者に通知されます。

      • 必須パッケージおよびパッチが新規マシンに存在しない。

      • ソフトウェアレベルがマシン間で異なる。

    • 妥当性検査を実行せずに、接続操作を強制的に実行します。


      host2# zoneadm -z lx-zone attach -F
      

      注意 – 注意 –

      -F オプションを使用すると、妥当性検査を実行せずに attach が強制的に実行されます。これは、クラスタ環境やバックアップ/復元操作など、特定の場合に役立ちますが、システムがゾーンのホストとして動作するよう正しく構成されている必要があります。構成が不正な場合、あとで未定義の動作が実行される可能性があります。


Procedurezonepath を新規ホストに移動する方法

zonepath のアーカイブの作成には、いくつもの方法があります。たとえば、cpio または pax コマンドを使用できます。詳細は、cpio(1) およびpax(1) のマニュアルページを参照してください。

アーカイブを新規ホストに転送する方法も、複数存在します。zonepath を転送元ホストから転送先ホストに転送する機構は、ローカルの構成によって異なります。SAN などのいくつかの場合には、zonepath データを実際には移動できないこともあります。SAN の場合は、zonepath が新規ホストに表示されるように、再構成が実行されるだけです。それ以外の場合は、zonepath をテープに書き込み、それを新規サイトに送付することもあります。

これらの理由のために、この手順は自動化されていません。システム管理者は、zonepath を新規ホストに移動する最適な手法を選択する必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. zonepath を新規ホストに移動します。この手順で説明した方法を使用することも、別の方法を選んで使用することもできます。


例 37–1 tar コマンドを使用した zonepath のアーカイブおよび移動

  1. host1 上で zonepathtar ファイルを作成し、 sftp コマンドを使って host2 に転送します。


    host1# cd /export/zones
    host1# tar cf lx-zone.tar lx-zone
    host1# sftp host2
    Connecting to host2...
    Password:
    sftp> cd /export/zones
    sftp> put lx-zone.tar
    Uploading lx-zone.tar to /export/zones/lx-zone.tar
    sftp> quit
    
  2. host2 上で tar ファイルを展開します。


    host2# cd /export/zones
    host2# tar xf lx-zone.tar
    

詳細は、sftp(1) および tar(1) を参照してください。


注意事項

次の問題を解決する方法については、zoneadm 接続操作の問題解決」を参照してください。

新しいマシンのプロセッサタイプがサポートされていることを確認する必要があります。詳細は、lx ブランドゾーンの移行について」を参照してください。

Solaris 10 5/08: 移行を行う前の lx ブランドゾーンの移行の検証について

「no execute」(実行しない) オプションである -n を使用することで、ゾーンを新しいマシンに移行する前に試行を行うことができます。

-n オプションを指定して zoneadm detach サブコマンドを使用すると、実際にゾーンを切り離さずに実行中のゾーンでマニフェストを生成できます。移行元のシステムのゾーンの状態は変わりません。ゾーンのマニフェストは標準出力に送信されます。大域管理者は、この出力をファイルに送ったり、移行先ホストですぐに検証されるように遠隔コマンドにパイプしたりできます。-n オプションを指定して zoneadm attach サブコマンドを使用すると、このマニフェストを読み取り、実際に接続を行わずに、移行先のマシンがゾーンのホストとして機能するための適正な構成を保持しているかどうかを確認できます。

試行接続を行う前に、新規ホストで移行先システムのゾーンを構成する必要はありません。

ProcedureSolaris 10 5/08: 移行を行う前に lx ブランドゾーンの移行を検証する方法

この手順を実行するには、大域ゾーン内で大域管理者になる必要があります。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. 次のいずれかを実行します。

    • lx-zone という名前の移行元ホストでマニフェストを生成し、移行先ホストをすぐに検証する遠隔コマンドにその出力をパイプします。


      global# zoneadm -z lx-zone detach -n | ssh remotehost zoneadm attach -n -
      

      行の最後にあるハイフン () は、パスとして標準入力を指定します。

    • lx-zone という名前の移行元ホストでマニフェストを生成し、その出力をファイルに送ります。


      global# zoneadm -z lx-zone detach -n 
      

      zonepath を新規ホストに移動する方法」の説明に従って、そのマニフェストを新しいホストシステムにコピーし、検証を行います。


      global# zoneadm attach -n path_to_manifest
      

      パスを にすると標準入力を指定できます。

第 38 章 lx ブランドゾーンでのアプリケーションの管理と実行 (手順)

この章では、lx ブランドゾーンでのアプリケーションの実行について説明します。

サポートされている構成の保守について

サポートされている CentOS または Red Hat Enterprise Linux ディストリビューションを使用してゾーンをインストールすると、サポートされているゾーンが作成されます。このゾーンに別のバージョンからパッケージを追加すると、サポート不可能なブランドゾーンが作成される可能性があります。

ディストリビューションのアップグレードとパッケージの追加

ProcedureCentOS 3.x ディストリビューションをアップグレードする方法

この手順を実行するには、lx ブランドゾーン内のゾーン管理者になる必要があります。

  1. yum upgrade または up2date を使用して、CentOS 3.x ディストリビューションを別のバージョンにアップグレードします。

    手順については、http://www.centos.org で利用可能なマニュアルを参照してください。

ProcedureRed Hat 3.x ディストリビューションをアップグレードする方法

この手順を実行するには、lx ブランドゾーン内のゾーン管理者になる必要があります。

  1. up2date を使用して、Red Hat Enterprise Linux 3.x ディストリビューションを別のバージョンにアップグレードします。

    手順については、http://www.redhat.com で利用可能なマニュアルを参照してください。

Procedureパッケージをアップグレードする方法

この手順を実行するには、lx ブランドゾーン内のゾーン管理者になる必要があります。

  1. パッケージを更新するには、次のいずれかの方法を使用します。

    • yum update package_name

    • rpm -U package_name

yumrpm の使用

yum:

rpm:

lx ブランドゾーンにアプリケーションをインストールする方法

アプリケーションをインストールするには、Linux システムでの手順と同様に、CD をマウントし、インストールプログラムを実行します。ここでは、lx ブランドゾーンへのアプリケーションの一般的なインストールについて説明します。


ヒント –

CD または DVD を使用してアプリケーションを lx ブランドゾーンにインストールする予定の場合は、ブランドゾーンを最初に構成するときに、大域ゾーンの CD または DVD メディアに読み取り専用のアクセスを行う権限を追加します。「CD を使用して MATLAB 7.2 をインストールする方法」の手順 7 を参照してください。


MATLAB について

MATLAB は、計算負荷の高いタスクをすばやく実行できる対話型環境を提供する高級言語です。この製品は The MathWorks によって開発されました。詳細は、http://www.mathworks.com を参照してください。

ProcedureCD を使用して MATLAB 7.2 をインストールする方法

  1. MATLAB 7.2 の CD を入手します。

    MATLAB/Simulink パッケージには 3 枚の CD があります。単純な MATLAB のインストールには、ディスク 1 と 3 だけが必要です。

  2. lx ブランドゾーンを作成し、インストールします。手順については、lx ブランドゾーンを構成、検証、および確定する方法」および lx ブランドゾーンのインストールと起動」を参照してください。

  3. 大域ゾーンでボリューム管理ファイルシステムが稼働していない場合は、起動します。


    global# svcadm volfs enable
    
  4. メディアを挿入します。

  5. ドライブにメディアが入っているかどうかを確認します。


    global# volcheck
    
  6. CD が自動マウントされているかどうかをテストします。


    global# ls /cdrom
    

    次のような情報が表示されます。


    cdrom   cdrom1   mathworks_2006a1
  7. ro,nodevices オプション (読み取り専用、デバイスなし) を指定して、非大域ゾーンでファイルシステムをループバックマウントします。


    global# zonecfg -z lx-zone
    zonecfg:lx-zone> add fs
    zonecfg:lx-zone:fs> set dir=/cdrom
    zonecfg:lx-zone:fs> set special=/cdrom
    zonecfg:lx-zone:fs> set type=lofs
    zonecfg:lx-zone:fs> add options [ro,nodevices]
    zonecfg:lx-zone:fs> end
    zonecfg:lx-zone> commit
    zonecfg:lx-zone> exit
    
  8. 非大域ゾーンを再起動します。


    global# zoneadm -z lx-zone reboot
    
  9. zoneadm list コマンドに -v オプションを指定して、状態を確認します。


    global# zoneadm list -v
    

    次のような情報が表示されます。


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  lx-zone  running      /export/home/lx-zone           lx         shared
  10. lx ゾーンにログインします。


    global# zlogin lx-zone
    
  11. CD-ROM がマウントされているかを確認します。


    lx-zone# ls /cdrom
    

    次のような内容が表示されます。


    cdrom   cdrom1   mathworks_2006a1
  12. MATLAB のマニュアルに従って、ライセンスファイルを作成します。

  13. 製品のインストールガイドに従って、製品をインストールします。


    lx-zone# /mnt/install
    
  14. ゾーンから抜けます。


    lx-zone# exit
    

    ヒント –

    /cdrom ファイルシステムを非大域ゾーンに残すこともできます。マウントするときには、常に CD-ROM ドライブの現在の内容が反映されます。つまり、ドライブが空の場合は、ディレクトリは空になります。


  15. (省略可能) 非大域ゾーンから /cdrom ファイルシステムを削除する場合は、次の手順を使用します。


    global# zonecfg -z lx-zone
    zonecfg:lx-zone> remove fs dir=/cdrom
    zonecfg:lx-zone> commit
    zonecfg:lx-zone> exit
    

ProcedureISO イメージを使用して MATLAB 7.2 をインストールする方法

始める前に

この方法では、かなり多くのディスク容量が消費されることに注意してください。

  1. MATLAB 7.2 の CD を入手します。

    MATLAB/Simulink パッケージには 3 枚の CD があります。単純な MATLAB のインストールには、ディスク 1 と 3 だけが必要です。

  2. lx ブランドゾーンを作成し、インストールします。手順については、lx ブランドゾーンを構成、検証、および確定する方法」および lx ブランドゾーンのインストールと起動」を参照してください。

  3. 各 CD のデータを .iso ファイルにコピーします。


    global# /usr/bin/dd if=/dev/rdsk/c1d0s2 of=disk1.iso
    

    これにより、最初の CD のデータがファイル disk1.iso にコピーされます。disk3.iso などの別のファイル名を使用して、3 枚目の CD についても繰り返します。

  4. 大域ゾーンから、最初の .iso ファイルを lx ゾーンに lofi でマウントします。


    global# lofiadm -a /zpool/local/disk1.iso
    global# mount -F hsfs /dev/lofi/1 /zones/lx-zone/root/mnt
    
  5. lx ゾーンにログインします。


    global# zlogin lx-zone
    
  6. X 転送を使用して、表示先をデスクトップに変更します。


    lx-zone# ssh -X root@lx-zone
    
  7. MATLAB のマニュアルに従って、ライセンスファイルを作成します。

  8. 製品のインストールガイドに従って、製品をインストールします。


    lx-zone# /mnt/install
    
  9. CD 3 の挿入を求めるメッセージが表示されたら、大域ゾーンの端末ウィンドウに戻り、最初のファイルの代わりに disk3.iso ファイルをマウントします。


    global# umount /zones/lx-zone/root/mnt
    	global# lofiadm -d /dev/lofi/1
    	global# lofiadm -a /zpool/local/disk3.iso
    	global# mount -F hsfs /dev/lofi/1 /zones/lx-zone/root/mnt
    

    インストールが終了します。

lx ブランドゾーンのバックアップ

ゾーンのバックアップについては、「ゾーンがインストールされている Solaris システムのバックアップについて」「非大域ゾーン内でバックアップするデータの決定」「非大域ゾーンの復元について」、および 「非大域ゾーンの復元」を参照してください。

lx ブランドゾーンでサポートされていない機能

lx ブランドゾーンでは、共有 IP ネットワーク構成だけがサポートされています。

Linux ゾーンでは、chroot コマンドはサポートされていません。プロセスに対して使用すると、そのプロセスは実行に必要な Solaris ライブラリを見つけることができなくなります。

ラベルが有効になっている Trusted Solaris システムに lx ブランドゾーンを構成してインストールすることはできますが、このシステム構成で lx ブランドゾーンを起動することはできません。

zonecfg コマンドの fs 資源プロパティーを使用してローカルの Linux ファイルシステムを追加することはできません。