Go to main content
Oracle® Solaris ゾーンの紹介

印刷ビューの終了

更新: 2016 年 11 月
 
 

ゾーン管理の概要

このセクションでは、非大域ゾーンのゾーン管理情報の概要について説明します。

非大域ゾーンの作成のしくみ

非大域ゾーンの構成とインストールは、自動インストール (AI) のクライアントインストールの一環として指定できます。詳細については、Oracle Solaris 11.3 システムのインストールを参照してください。Oracle Solaris カーネルゾーンは主に、直接インストール方法を使用して作成されます。カーネルゾーンの作成方法は、Oracle Solaris カーネルゾーンの作成と使用 の カーネルゾーンのインストールに記載されています。

Oracle Solaris システム上にゾーンを作成する場合、大域管理者は zonecfg コマンドを使用して、ゾーンの仮想プラットフォームとアプリケーション環境に対して各種パラメータを指定することによってゾーンを構成します。次に、大域管理者がゾーンをインストールします。大域管理者は、ゾーン管理コマンド zoneadm を使用して、ゾーンに対応するファイルシステム階層にソフトウェアをパッケージレベルでインストールします。ゾーンをブートするには、zoneadm コマンドを使用します。次に、大域管理者または承認されたユーザーは、zlogin コマンドを使用してインストールされたゾーンにログインできます。役割によるアクセス制御 (RBAC) を使用中の場合、ゾーン管理者は solaris.zone.manage/zonename の承認を持っている必要があります。

ゾーン構成については、Oracle Solaris ゾーン構成リソース の 第 1 章, 非大域ゾーンの構成を参照してください。ゾーンのインストールについては、Oracle Solaris ゾーンの作成と使用 の 第 2 章, 非大域ゾーンのインストール、停止処理、停止、アンインストール、クローニングについてを参照してください。ゾーンのログインについては、Oracle Solaris ゾーンの作成と使用 の 第 4 章, 非大域ゾーンへのログインについてを参照してください。

Oracle Solaris カーネルゾーンを構成およびインストールするには、Oracle Solaris カーネルゾーンの作成と使用を参照してください。

非大域ゾーンの管理のしくみ

大域管理者は、スーパーユーザー特権または同等の管理権利を持ちます。大域ゾーンにログインすると、大域管理者はシステム全体をモニターしたり制御したりできます。

非大域ゾーンは「ゾーン管理者」が管理できます。Oracle Solaris ゾーン構成リソース の admin リソースで説明されているように、大域管理者は、必要な権限をゾーン管理者に割り当てます。ゾーン管理者の特権は、特定の非大域ゾーンのみに制限されます。

非大域ゾーンの状態モデル

非大域ゾーンの状態は、次の 7 つのいずれかになります。

構成済み

ゾーンの構成は完了し、安定した記憶領域に確定されています。ただし、ゾーンのアプリケーション環境の要素のうち、最初のブート後に指定する必要のあるものは、まだ含まれていません。

不完全

インストール処理やアンインストール処理の途中は、zoneadm によってターゲットゾーンの状態が「不完全」に設定されます。処理が正常に完了すると、適切な状態に設定されます。

損傷を受けたインストール済みゾーンには、zoneadmmark サブコマンドを使用して、不完全のマークを付けることができます。不完全な状態のゾーンは、zoneadm list –iv の出力に表示されます。

使用不可

ゾーンがインストールされているが、ゾーンを検証、準備、ブート、または移動できないことを示します。ゾーンは次の時点で使用不可状態になります。

  • ゾーンのストレージが使用できず、svc:/system/zones:default が起動したとき (システムのブート中など)

  • ゾーンのストレージが使用できないとき

  • アーカイブの抽出に成功したあとでアーカイブベースのインストールが失敗したとき

  • ゾーンのソフトウェアと大域ゾーンのソフトウェアに互換性がないとき (不適切な –F (強制的) 接続のあとなど)

インストール済み

ゾーンの構成はシステム上でインスタンス化されています。zoneadm コマンドは、指定した Oracle Solaris システム上で、この構成を正常に使用できることを確認するために使用します。パッケージはゾーンのルートパスにインストールされます。この状態では、ゾーンに関連付けられた仮想プラットフォームはありません。

準備完了

ゾーンの仮想プラットフォームが確立されています。カーネルにより zsched プロセスが作成され、ネットワークインタフェースが設定されてゾーンで使用可能になり、ファイルシステムがマウントされ、デバイスの構成が完了しています。システムにより、一意のゾーン ID が割り当てられます。この状態では、ゾーンに関連付けられたプロセスは起動されていません。

稼働

ゾーンのアプリケーション環境に関連付けられたユーザープロセスが稼働状態です。アプリケーション環境に関連付けられた最初のユーザープロセス (init) が作成されるとすぐに、ゾーンの状態は「稼働」になります。

停止処理中および停止

これらは、ゾーンの停止処理の間に見られる遷移状態です。ただし、なんらかの理由でゾーンを停止処理できない場合は、ゾーンがどちらかの状態で停止します。

zoneadm コマンドを使用してこれらの状態間の遷移を開始する方法は、Oracle Solaris ゾーンの作成と使用 の 第 3 章, 非大域ゾーンのインストール、ブート、停止処理、停止、アンインストール、およびクローニングおよび zoneadm(1M) のマニュアルページに記載されています。

カーネルゾーンの補助状態

すべての非大域ゾーンに使用可能な状態に加え、Oracle Solaris カーネルゾーンには、現在のゾーン状態に関する追加情報をホストシステムに提供する補助状態があります。補助状態は、移行、デバッグ、およびカーネルの保守操作中に設定されます。

中断中

zoneadm suspend コマンドを使用してカーネルゾーンが一時停止されると、ゾーンは中断中補助状態を持つインストール済み状態になります。ウォーム移行の場合、zoneadm detach は、ソースシステムで中断中補助状態をクリアします。ターゲットシステムの zoneadm attach コマンドは、ゾーンを構成済み状態から中断中補助状態があるインストール済み状態にします。ゾーンは次回のブート時に再開されます。

デバッグ

ゾーンはカーネルデバッガ kmdb 内にあります。ゾーンは実行されていますが、ネットワーク処理などの外部イベントに応答できません。zlogin コマンドはこの状態をチェックし、この状態がクリアされるまで待機してから zlogin セッションを開始します。

パニック発生

ゾーンがパニック状態になっています。ゾーンは、停止またはリブートされるまで外部イベントに応答できません。この状態のゾーンにログインするには、コンソールログインを使用する必要があります。

移行元

ゾーンは実行中であり、別のホストシステムにライブ移行されています。

移行先

ゾーンはターゲットホストでブートされており、移行済みイメージを受信しています。ゾーンは、移行が完了すると実行されます。

追加情報については、Oracle Solaris カーネルゾーンの作成と使用および solaris-kz(5) のマニュアルページを参照してください。

ゾーンの状態およびゾーンコマンド

ゾーンの状態によって、ゾーンで使用できる zonecfgzoneadm、および zlogin コマンドが決まります。

表 3  ゾーンの状態に影響を与えるコマンド
ゾーンの現在の状態
適用できるコマンド
構成済み
zonecfg –z zonename verify
zonecfg –z zonename commit
zonecfg –z zonename delete
zoneadm –z zonename attach
zoneadm –z zonename verify
zoneadm –z zonename install
zoneadm –z zonename clone
zoneadm –z zonename mark incomplete
zoneadm –z zonename mark unavailable
zonecfg コマンドを使用すると、構成済み状態のゾーンの名前を変更できます。zoneadm コマンドを使用すると、構成済み状態またはインストール済み状態の Oracle Solaris ゾーンまたは Oracle Solaris 10 ゾーンの名前を変更できます。
不完全
zoneadm –z zonename uninstall
使用不可
zoneadm –z zonename uninstall は、指定されたシステムからゾーンをアンインストールします。
zoneadm –z zonename attach を実行すると、使用不可状態のゾーンがインストール済み状態に移行されます。attach サブコマンドがそのような移行を実行できない場合、ゾーンは unavailable 状態のままになります。
zonecfg –z zonename は、zonepath、およびインストール済み状態のときに変更できないその他のプロパティーまたはリソースを変更するために使用できます。
インストール済み
zoneadm –z zonename ready (オプション)
zoneadm –z zonename boot
zoneadm –z zonename uninstall は、指定されたゾーンの構成をシステムからアンインストールします。
zoneadm –z zonename move path
zoneadm –z zonename detach
zonecfg –z zonename を使用すると、プロパティー attrbootargscapped-memorydatasetcapped-cpudedicated-cpudevicefsip-typelimitprivnetrctl、または scheduling-class を追加または削除できます。ゾーンの名前を変更することもできます。
zoneadm コマンドを使用すると、構成済み状態またはインストール済み状態の Oracle Solaris ゾーンまたは Oracle Solaris 10 ゾーンの名前を変更できます。
zoneadm –z zonename mark incomplete
zoneadm –z zonename mark unavailable
準備完了
zoneadm –z zonename boot
zoneadm halt とシステムリブートを実行すると、準備完了状態のゾーンがインストール済み状態に戻ります。
zonecfg –z zonename を使用すると、プロパティーの attrbootargscapped-memorydatasetcapped-cpudedicated-cpudevicefsip-typelimitprivnetrctl、または scheduling-class を追加または削除できます。
稼働
zlogin options zonename
zoneadm –z zonename reboot
zoneadm –zzonename halt を実行すると、準備完了状態のゾーンがインストール済み状態に戻ります。
zoneadm halt とシステムのリブートを実行すると、稼働状態のゾーンがインストール済み状態に戻ります。
zoneadm – z shutdown は、ゾーンを完全に停止処理します。
zonecfg –z zonename を使用すると、プロパティーの attrbootargscapped-memorydatasetcapped-cpudedicated-cpudevicefsip-typelimitprivanetnetrctl、または scheduling-class を追加または削除できます。設定する場合、zonepath リソースは変更できません。

非大域ゾーンの隔離

ゾーンを使用すると、必要に応じてほぼどのような単位にも細かく隔離できます。専用の CPU、物理デバイス、物理メモリーの一部分などをゾーンに割り当てる必要はありません。このようなリソースは、1 つのドメインまたはシステムで実行される複数のゾーンに渡って多重化するか、オペレーティングシステムに用意されているリソース管理機能を使ってゾーンごとに割り当てることができます。

ゾーンごとにカスタマイズされたサービスを提供できます。基本的なプロセス隔離を強化するために、同じゾーン内のプロセスのみ互いに認識したりシグナルを送信したりできます。ゾーン間で基本的な通信を行うには、各ゾーンに IP 接続機能を持たせます。あるゾーンで実行中のアプリケーションが、別のゾーンのネットワークトラフィックを監視することはできません。それぞれのパケットストリームが同じ物理インタフェースを通過する場合でも、この隔離は維持されます。

各ゾーンには、ファイルシステム階層の一部分が割り当てられます。各ゾーンは、ファイルシステム階層で割り当てられた部分ツリーに限定されます。したがって、特定のゾーンで実行されている作業負荷は、別のゾーンで実行されているほかの作業負荷のディスク上のデータにアクセスすることはできません。

ネームサービスで使用されるファイルは、ゾーン独自のルートファイルシステムのビュー内に置かれます。したがって、異なるゾーンのネームサービスは互いに隔離され、サービスごとに異なる構成を使用できます。

非大域ゾーンでのリソース管理

リソース管理機能を使用する場合は、リソース管理制御の境界とゾーンの境界をそろえる必要があります。このように境界をそろえることで、名前空間のアクセス、セキュリティー隔離、およびリソースの使用状況をすべて制御できる、より完成された仮想マシンのモデルを作成できます。

ゾーンで各種のリソース管理機能を使用するための特殊要件については、このドキュメントでこれらの機能に関連する各章を参照してください。

ゾーン関連の SMF サービス

大域ゾーン内のゾーン関連の SMF (Service Management Facility) サービスには、次のようなものがあります。

svc:/system/zones:default

autoboot=true である各ゾーンを起動します。

svc:/system/zones-install:default

必要に応じて、初回ブート時にゾーンのインストールを行います。

svc:/application/pkg/zones-proxyd:default

パッケージシステムがゾーンに対してシステムリポジトリへのアクセスを提供するために使用します。

svc:/application/pkg/system-repository:default

ゾーンのインストールやその他の pkg 操作中に使用される pkg データとメタデータをキャッシュするキャッシュプロキシサーバー。pkg(1) および pkg(5) のマニュアルページを参照してください。

svc:/system/zones-monitoring:default

zonestatd を制御します。

svc:/application/pkg/zones-proxy-client:default ゾーンプロキシクライアント SMF サービスは、非大域ゾーンでのみ実行されます。このサービスは、パッケージシステムがゾーンに対してシステムリポジトリへのアクセスを提供するために使用します。

非大域ゾーンのモニタリング

現在実行中のゾーンの CPU、メモリー、およびリソース制御の使用率について報告する場合は、Oracle Solaris ゾーンの作成と使用 の 非大域ゾーンでの zonestat ユーティリティーの使用を参照してください。zonestat ユーティリティーは、排他的 IP ゾーン内のネットワーク帯域幅の使用効率についても報告を生成します。排他的 IP ゾーンには、独自の IP に関連付けられた状態と 1 つ以上の専用のデータリンクが保持されます。

fsstat ユーティリティーを使用して、非大域ゾーンのファイル操作の統計情報を報告できます。fsstat(1M) のマニュアルページおよびOracle Solaris ゾーンの作成と使用 の fsstat ユーティリティーを使用した非大域ゾーンのモニタリングを参照してください。