svc.zones - zones(7) 用の Solaris サービス管理機能の委任リスタータ
/usr/lib/zones/svc.zones
svc:/system/zones:default
svc.zones は、zones(7) 用のサービス管理機能 (SMF) の委任リスタータです。各ゾーンは、ゾーンサービスのインスタンスによって表されます。
svc:/system/zones/zone
インスタンス名はゾーン名と一致します。
ゾーンの委任リスタータでは、zones(7) が機能するようにそのインフラストラクチャーを設定します。ゾーンのインフラストラクチャーの設定中に発生したエラーやアクティビティーは次に記録されます。
/var/log/zones/<zonename>.messages
特定のゾーンのインフラストラクチャーの設定中にエラーが発生すると、そのゾーンは保守状態になります。ゾーンの委任リスタータでは、インフラストラクチャーの設定に失敗したために保守状態にあるゾーンに対して svcadm(8) clear が実行されると、インフラストラクチャーの設定を再試行します。
ゾーンの委任リスタータでは、各ゾーンの autoboot プロパティーの設定に従って、起動時にゾーンの自動ブートを実行します。詳細は、zones(7) および zonecfg(8) のマニュアルページを参照してください。同様に、ゾーンの委任リスタータサービスでは、大域ゾーンの正常なシャットダウン時に、各ゾーンの autoshutdown プロパティーに応じてゾーンをシャットダウン、停止、または一時停止します。詳細は、zonecfg(8) のマニュアルページを参照してください。
ゾーンの自動ブートおよびシャットダウンは並行して実行され、同時に実行される操作の数を制限できます。詳細は、下記の「ゾーンの委任リスタータのプロパティー」を参照してください。
ゾーンの依存関係を構成する一連の SMF FMRI は、新しい zonecfg(8) リソース依存関係によって定義されます。これは、グループプロパティーと FMRI プロパティーで構成されます。ゾーンの SMF 依存関係はすべて service タイプであり、restart_on 属性が none になっています。
次の zonecfg(8) コマンドでは、SMF 依存関係が作成されます。
add smf-dependency set name=firewall set fmri=svc:/system/zones/zone:appfirewall set grouping=require_any end add smf-dependency set name=firewall set fmri=svc:/3rdparty/my-firewall:default end add smf-dependency set fmri=svc:/system/zones/zone:dataload set grouping=exclude_all end
グループのデフォルトは require_all であるため、明示的に設定する必要はありません。FMRI の値は、libscf(3LIB) SCF_TYPE_FMRI に基づいて検証されます。
ゾーンのブート順序を設定する方法は 2 つあります。
ゾーンの SMF インスタンスの SMF 依存関係を決定する方法。
各ゾーンのブート優先度を割り当てる方法。
ゾーンの SMF 依存関係が満たされると、ゾーンはその優先度に従ってキューに入れられます。ゾーンのブート優先度を割り当てるには、zonecfg boot-priority プロパティーを使用します。boot-priority プロパティーの詳細は、zonecfg(8) のマニュアルページを参照してください。The zones restarter will boot the zones from high to low boot priority in the queue.
Note that the boot ordering based on assigned boot priority is best-effort and thus non-deterministic.It is not guaranteed that all zones with higher boot priority will be booted before all zones with lower boot priority.If your configuration requires a deterministic behavior, use SMF dependencies.
このブール型プロパティーは、ゾーンの SMF インスタンスをオンライン状態にするタイミングをゾーンのリスタータに通知します。false に設定した場合、ゾーンのリスタータはゾーンがブートし始めてすぐに、ゾーンの SMF インスタンスをオンライン状態にします。true に設定した場合は、「サービスの状態」セクションに記載されているオンライン状態の説明に従って、ゾーンの SMF インスタンスのオンライン状態が判定されます。このプロパティーのデフォルト値は true です。
ゾーンで同時に実行されるブートまたはシャットダウンの最大数。
ゾーンで同時に実行される suspend または resume 操作の最大数。
ゾーンのリスタータで実行されるロギングのレベル。
有効な値:
最低限のロギングが実行され、エラーのみが報告されます。
詳細なロギングが実行されます。
デバッグロギングが実行されます。
次の例に、上記のプロパティーの 1 つを設定する方法を示します。
# svccfg -s svc:/system/zones:default setprop \ config/concurrent-boot-shutdown = 10 # svcadm refresh svc:/system/zones:default
ゾーンのリスタータでは、このプロパティーに値が設定されていない場合、またはこのプロパティーが指定されていない場合、同時に実行される操作の数に制限はありません。
ゾーンの SMF インスタンスがオンライン状態または保守状態に達すると、非大域ゾーンのブートプロセスは完了とみなされます。ゾーンの SMF 状態のセマンティクスに関する詳細は、下記の「サービスの状態」セクションを参照してください。
zoneadm(8) コマンドを使用すると、ゾーンの委任リスタータおよび SMF グラフエンジンをオーバーライドできます。
ゾーンの SMF 依存関係が満たされていない場合でも、管理者はゾーンをブートできます。この場合、ゾーンの SMF インスタンスは、下記の「サービスの状態」セクションに説明されているセマンティクスに従ってオンライン状態または保守状態になります。ゾーンのすべての SMF 依存関係では restart_on 属性が none に設定されているため、そのゾーンの SMF 依存関係がブート前に満たされないと、グラフエンジンは停止イベントをゾーンの SMF インスタンスに送信しません。
ゾーンがブート不可状態のために保守状態になっているゾーンの SMF インスタンスを無効にしても、SMF の保守状態はクリアされません。ゾーンの SMF インスタンスを無効にすると、管理アクションがないと満たすことのできないゾーンの milestone/goals 依存関係によって生じた保守状態のみがクリアされます。この場合、ゾーンの SMF インスタンスを無効すると、ゾーンがシャットダウンします。
ゾーンのブート優先度および同時実行のしきい値は、SMF グラフエンジンのイベントによって生じる操作にのみ適用されます。管理コマンドは、ブート優先度や同時実行のしきい値の影響を受けません。このため、ゾーンに低い優先度が割り当てられている場合、管理者は高い優先度のゾーンがブートされるまで待たなくても手動でそのゾーンをブートできます。
svc.zones では、サービス管理業務の一環として、管理対象ゾーンの SMF インスタンスごとに状態マシンを実装します。このマシンの状態は、smf(7) の状態セットから成ります。これらの状態のセマンティクスは次のとおりです。
svc.zones はこのインスタンスをまだ処理していません。
ゾーンが実行中であり、milestone/goals に達しました。milestone/goals をサポートしていないゾーンでは、ゾーンがブートし始めるとすぐにオンライン状態に達します。milestone/goals の詳細は、smf(7) のマニュアルページを参照してください。
ゾーンの SMF インスタンスはオンライン状態に達しましたが、zoneadmd(8) は何度も失敗し、実行されていません。
ゾーンの SMF インスタンスは有効ですが、その SMF 依存関係は満たされていません。
ゾーンは停止され、ゾーンの委任リスタータによってブートされません。
次の理由で、ゾーンの SMF インスタンスはこの状態になっている可能性があります。
ブートの試行に失敗しました
ゾーンがブート不可の状態です
管理アクションなしでゾーンの milestone/goals 依存関係を満たすことができません。
保守状態の原因を調べるには、svcs -vx コマンドの出力を使用するようにしてください。保守状態にあるゾーンの SMF インスタンスでは、無効になっているイベントの保守状態はクリアされません。
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
attributes(7), init(8), libscf(3LIB), smf(7), solaris-kz(7), svcadm(8), svcs(1), zoneadm(8), zoneadmd(8), zonecfg(8), zones(7)