第3章


SMS の内部動作

SMS の操作は一般に、一連のデーモンとコマンドにより実行されます。この章では、SMS の動作の概要を示し、SMS のデーモン、プロセス、コマンド、およびシステムファイルについて説明します。詳細については、『System Management Services (SMS) 1.4 リファレンスマニュアル』を参照してください。



caution icon

注意 - /opt/SUNWSMS にあるファイルに変更を加えると、システムに重大な障害が発生する可能性があります。この章で説明される各ファイルへの変更は、十分な経験を積んだシステム管理者だけが行ってください。



この章では、以下の項目を説明します。


起動のフロー

SMS の起動時に発生するイベントは、次のとおりです。

  1. Sun Fire ハイエンド (CPU/ディスクおよび CD-ROM) プラットフォームの電源を入れると、SC 上の Solaris オペレーティング環境が自動的に起動します。

  2. 起動プロセス中に /etc/init.d/sms スクリプトが呼び出されます。このスクリプトはセキュリティーを確保するため、MAN ネットワーク上での転送、ブロードキャスト、およびマルチキャストを無効化します。続いて、SMS ソフトウェアを起動するためにバックグラウンド処理を実行し、この処理により ssd が起動および監視されます。ssd は SMS の起動デーモンで、すべての SMS のデーモンおよびサーバーの起動および監視を担当します。

  3. 次に、ssd(1M) は、mld、pcd、hwad、tmd、dsmd、esmd、mand、osd、dca、efe、codd、efhd、elad、erd、smnptd、picld および wcapp も起動します。

    詳細については、SMS デーモンおよび メッセージロギングを参照してください。efeの詳細については、http://docs.sun.com で入手可能な Sun Management Center の最新マニュアルを参照してください。

  4. デーモンが起動したら、console などの SMS コマンドを使用できます。

SMS の起動には数分間を要します。起動中に実行したコマンドがエラーメッセージを返した場合、起動は完了していません。起動が完了すると、「SMS software start-up complete」というメッセージがプラットフォームのログに出力されます。このログの内容は、showlogs(1M) コマンドで確認できます。


SMS デーモン

SMS 1.4 の各デーモンは、Sun Fire ハイエンドシステム上で中心的な役割を果たします。デーモンは、API を使ってクライアントに SMS サービスを提供する持続的プロセスです。



注 - SMS デーモンは ssd により起動されるので、コマンド行から手動で起動しないでください。デーモンに対して kill コマンドを発行すると、SMS ソフトウェアの堅牢性に重大な影響を与えるため、サンの保守担当者から特に要求されない限り、このコマンドを発行しないでください。



デーモンは常に実行されており、システムの起動時に初期化され、必要なときにいつでも再起動されます。

各デーモンの詳細な説明は、対応するマニュアルページにあります。ただし、efe コマンドについては、Sun Management Center のマニュアルで別に説明されています。

この節では SMS の各デーモンについて、お互いの関係、およびどの CLI (存在する場合) が各デーモンを利用するかを説明します。

図 3-1 は、Sun Fire ハイエンドシステムのソフトウェアコンポーネントと各コンポーネント間の高度なやり取りを示します。

図 3-1 Sun Fire ハイエンドシステムのソフトウェアコンポーネント

Sun Fire 15K/12K クライアントサーバーの概要図

注 - ドメイン X サーバー (dxs) およびドメイン構成エージェント (dca) は、デーモンではありませんが、主要なサーバープロセスなので以後の表および節に記載されています。各ドメインに対応して実行される dxs および dca のインスタンスは、18 個までです。



表 3-1 デーモンおよびプロセス

デーモンの名前

説明

codd

capacity on demand デーモンは、使用される COD 資源を監視し、その資源が COD ライセンスデータベースファイルのライセンスと一致していることを確認する。このデーモンは、SMS 起動デーモンによって自動的に起動される。

dca

ドメイン構成エージェントは、システムコントローラ上の dca と、指定されたドメイン上のドメイン構成サーバー (dcs) との通信メカニズムを提供する。最大 18 個までのすべてのドメインに、dca デーモンのインスタンスがそれぞれ 1 つある。このデーモンは、SMS 起動デーモンによって自動的に起動される。

dsmd

ドメイン状態監視デーモンは、Sun Fire 15K 上では最大 18 個、Sun Fire 12K 上では最大 9 個のドメインについて、ドメインの状態、CPU リセット条件、および Solaris OE ハートビートを監視する。このデーモンは、SMS 起動デーモンによって自動的に起動される。

dxs

ドメイン X サーバーは、ドメインにソフトウェアのサポートを提供する。提供するサポートには、動的再構成 (DR)、ホットプラグ可能な PCI I/O アセンブリのサポート、ドメインドライバの要求およびイベント、および仮想コンソールのサポートなどがある。Sun Fire 15K では最大 18 個まで、Sun Fire 12K では最大 9 個までの各ドメインに、dxs デーモンのインスタンスがそれぞれ 1 つある。このデーモンは、SMS 起動デーモンによって自動的に起動される。

efe

イベントフロントエンドデーモンは Sun Management Center の一部として、Sun Management Center エージェントと SMS との間を仲介する。このマニュアルには、これ以上の説明は記載していない。efe の詳細については、『Sun Management Center 3.5 Sun Fire 15K/12K システムのための追補マニュアル』を参照のこと。

efhd

エラーおよび障害処理デーモンは自動エラー診断を行い、障害が発生したコンポーネントの健全性ステータスを更新する。このデーモンは、SMS 起動デーモンによって自動的に起動される。

elad

イベントログアクセスデーモンは、SMS イベントログへのアクセスを制御する。このイベントログには、自動診断 (AD) エンジンによって特定された障害およびエラーイベントが記録される。また、このデーモンは、現在のイベントログがサイズの限度に達して最も古いアーカイブファイルが削除されたときに、新しいイベントログファイルを開始する。

erd

イベントレポートデーモンは、障害イベントメッセージをプラットフォームとドメインのログにレポートし、障害情報を Sun Management Center および Sun Remote Services Net Connect に提供し、障害イベントメッセージを含む電子メールレポートを配信する。このデーモンは、SMS 起動デーモンによって自動的に起動される。

esmd

環境状態監視デーモンは、ファントレー、電源装置、および温度などのシステムキャビネットの環境条件を監視する。このデーモンは、SMS 起動デーモンによって自動的に起動される。

fomd

フェイルオーバー監視デーモンは、ローカルおよび遠隔の SC で発生した障害を検出して、適切なアクションを起す (すなわち、フェイルオーバーを指示するか、または引き継ぐ)。このデーモンは、SMS 起動デーモンによって自動的に起動される。

frad

FRU アクセスデーモンは、SMS デーモンが Sun Fire ハイエンドシステム上で任意の保守部品 (FRU) の SEEPROM にアクセスできるメカニズムを提供する。このデーモンは、SMS 起動デーモンによって自動的に起動される。

hwad

ハードウェアアクセスデーモンは、SMS デーモンへのハードウェアアクセスを提供し、すべてのデーモンについては、ハードウェアに対して排他的にアクセス、制御、監視、および構成ができるメカニズムを提供する。このデーモンは、SMS 起動デーモンによって自動的に起動される。

kmd

キー管理デーモンは、ドメインで実行中のシステムコントローラ (SC) とサーバー間の通信のセキュリティー確保に必要な、IPSec セキュリティー関連付け (SA) を管理する。このデーモンは、SMS 起動デーモンによって自動的に起動される。

mand

管理ネットワークデーモンは MAN ドライバをサポートし、必要なネットワーク構成を提供する。mand の役割は、fomd で指定される。このデーモンは、SMS 起動デーモンによって自動的に起動される。

mld

メッセージロギングデーモンは、プラットフォームおよびドメインに対してメッセージロギングのサポートを提供する。このデーモンは、SMS 起動デーモンによって自動的に起動される。

osd

OpenBoot PROM サーバーデーモンは、ドメインに存在するメールボックスを介して、ドメイン上で実行中の OpenBoot PROM プロセスに対してソフトウェアによるサポートを提供する。ドメインの OpenBoot PROM がメールボックスに要求を書き込むと、osd デーモンがその要求を実行する。メイン SC 上では、ドメインの起動を行う。このデーモンは、SMS 起動デーモンによって自動的に起動される。

pcd

プラットフォーム構成データベースデーモンは、プラットフォーム、ドメイン、およびシステムボードの構成データへの制御されたアクセスを提供および管理する。このデーモンは、SMS 起動デーモンによって自動的に起動される。

ssd

SMS 起動デーモンは、すべての主要な SMS デーモンおよびサーバーを起動、停止、および監視する。

tmd

タスク管理デーモンは、タスク管理サービス (たとえば SMS のスケジューリングなど) を提供する。setkeyswitch などのその他のデーモンが、この tmd を使用して、ハードウェアの電源投入時自己診断の呼び出しをスケジューリングする。このデーモンは、SMS 起動デーモンによって自動的に起動される。

wcapp

オプションの wPCI アプリケーションデーモンは、Sun Fire Link クラスタリング機能を実行し、外部 Sun Fire Link ファブリックマネージャーサーバーに情報を提供する。このマニュアルには、これ以上の説明は記載していない。wcapp についての詳細は、『Sun Fire Link ファブリック管理者マニュアル』を参照のこと。


Capacity on Demand デーモン

capacity on demand デーモン (codd (1M)) は、メインシステムコントローラ (SC) で実行されるプロセスです。

このプロセスは以下のことを実行します。

図 3-2 は、COD デーモン (CODD) と SMS デーモンおよび CLI コマンドの関係を示します。

図 3-2 COD デーモン (CODD) におけるクライアントサーバーの関係

CODD におけるクライアントサーバーの関係を示した図

ドメイン構成エージェント

dca(1M) は、Solaris 8 または Solaris 9 ドメインで実行中のアプリケーションとドメイン構成サーバー (dcs) の通信を可能にすることで、遠隔からの動的再構成 (DR) をサポートします。SC で実行されるドメインごとに、1 つの dca が対応します。各 dca は、対応する dcs とは管理ネットワーク (MAN) を介して通信します。

ssd(1M) は、ドメインが作成されると dca を開始します。ssd は、ドメインの実行中に dca が終了されると、dca を再起動します。dca は、ドメインのシャットダウン時に終了されます。

dca は、動的再構成の要求を待機する SMS アプリケーションです。DR (動的再構成) 要求を受信すると、dca は dcs セッションを作成します。セッションが作成されると、dca は要求を dcs へ転送します。dcs は DR 要求への対応を試みて、その操作の結果を dca へ送信します。結果が送信されると、セッションは終了します。遠隔からの DR 操作は、dca が DR 操作の結果を返信した時点で完了します。

図 3-3 は、ドメイン構成エージェント (DCA) と SMS デーモンおよび CLI の関係を示します。

図 3-3 ドメイン構成エージェント (DCA) におけるクライアントサーバーの関係

DCA におけるクライアントサーバーの関係を示した図

ドメイン状態監視デーモン

dsmd(1M) は、ドメイン状態のシグニチャー、CPU リセット条件、および Solaris の動作を、Sun Fire 15K では 18 ドメインまで、Sun Fire 12K では 9 ドメインまで監視します。また、ハードウェア障害に関係するドメイン停止イベントの処理も行います。

dsmd は、再起動トランザクションフローおよびパニックトランザクションフローで発生する可能性があるタイムアウトを検出して、さまざまなドメインハングアップ条件を処理します。

dsmd は、ドメイン X サーバー (dxs(1M)) および Sun Management Center に対してすべてのドメイン状態変更を通知してから、ドメイン状態のシグニチャー、ドメイン停止イベント、および自動システム回復 (ASR) のポリシーに基づいてドメインを自動的に復元します。ASR のポリシーは、1 つまたは複数のドメインがアクティブでなくなった場合に、すべてが適切に構成されたドメインの状態にシステムを復元するための各種手続きから成り立っています。ドメインがアクティブでなくなる理由は、ソフトウェアまたはハードウェアの障害や、不適切な環境条件などです。詳細については、ASR (Automatic System Recovery: 自動システム回復)およびドメイン停止イベントを参照してください。

dsmd は、ドメイン停止に関する自動診断 (AD) 情報も efhd に渡します。

図 3-4 は、ドメイン状態監視デーモン (DSMD) と SMS デーモンおよび CLI の関係を示します。

図 3-4 ドメイン状態監視デーモン (DSMD) におけるクライアントサーバーの関係

DSMD におけるクライアントサーバーの関係を示した図

ドメイン X サーバー

dxs(1M) は、実行中のドメインのソフトウェアをサポートします。このサポートには、仮想コンソール機能、動的再構成のサポート、および HPCI のサポートが含まれます。dxs は、ドメインドライバの要求およびイベントを処理します。dxs は、HPCI スロットの状態を取得および設定するためのインタフェースを提供します。スロットの状態には、カセットの有無、カセットが存在した場合のカセットの電力、周波数、健全性が含まれます。このインタフェースにより、HPCI カセットをホットプラグ操作する際の電源の制御が可能となります。

仮想コンソール機能により、console プログラムを実行している 1 人または複数のユーザーが、ドメインの仮想コンソールを使用できるようになります。dxs は、SMS コンソールアプリケーションと、ドメインの仮想 console ドライバとの間のリンクとして動作します。

1 つの Sun Fire 15K システムは、18 個までのドメインを個別にサポートできます。1 つの Sun Fire 12K ドメインは 9 個までのドメインをサポートできます。各ドメインには SC によるソフトウェアサポートが必要な場合もありますが、dxs がこのサポートを提供します。ドメインに関連する以下のプロジェクトに、dxs のサポートが必要です。

各 Sun Fire ハイエンドシステムドメインには、ドメイン X サーバーが 1 台あります。dxs は ssd によりすべてのアクティブなドメイン (OS ソフトウェアを実行するドメイン) で開始され、ドメインがシャットダウンされるときに終了します。

図 3-5 は、DXS クライアントサーバーと SMS デーモンの関係を示します。

図 3-5 DXSにおけるクライアントサーバーの関係

DXS におけるクライアントサーバーの関係を示した図

エラーおよび障害処理デーモン

efhd(1M) は以下のことを実行します。

図 3-6 は、エラーおよび障害処理デーモン (EFHD) と SMS デーモンの関係を示します。

図 3-6 エラーおよび障害処理デーモン (EFHD) におけるクライアントサーバーの関係

EFHD におけるクライアントサーバーの関係を示した図

イベントログアクセスデーモン

elad (1M) は、SMS イベントログへのアクセスを制御します。このイベントログには、Sun Fire ハイエンドシステムで、自動診断 (AD) エンジンまたは POST 診断エンジンによって特定される障害およびエラーイベントが記録されます。elad は、イベントログがいっぱいになったときに、イベントのアーカイブも行います。

図 3-7 は、イベントログアクセスデーモン (ELAD) と SMS デーモンおよび CLI コマンドの関係を示します。

図 3-7 イベントログアクセスデーモン (ELAD) におけるクライアントサーバーの関係

ELAD におけるクライアントサーバーの関係を示した図

イベントレポートデーモン

erd(1M) は、障害イベントテキストメッセージをプラットフォームとドメインのログに書き込み、障害情報を Sun Management Center および SRS Net Connect に配信し、障害イベントメッセージが含まれた電子メールを送信するレポートサービスを提供します。

erd は、電子メールイベント通知があるたびに、電子メール制御ファイルと電子メールテンプレートファイルを読み取ります。

図 3-8 は、イベントレポートデーモン (ERD) と SMS デーモンの関係を示します。

図 3-8 イベントレポートデーモン (ERD) におけるクライアントサーバーの関係

ERD におけるクライアントサーバーの関係を示した図

環境状態監視デーモン

esmd(1M) は、システムキャビネットの環境条件を監視します。たとえば、電圧、温度、ファントレー、電源装置、およびクロックフェージングなどです。esmd は異常な条件を記録し、必要ならば、ハードウェアを保護するアクションを起こします。

esmd の詳細については、環境イベントを参照してください。

図 3-9 は、環境状態監視デーモン (ESMD) と SMS デーモンの関係を示します。

図 3-9 環境状態監視デーモン (ESMD) におけるクライアントサーバーの関係

ESMD におけるクライアントサーバーの関係を示した図

フェイルオーバー管理デーモン

fomd(1M) は、SC のフェイルオーバーメカニズムの中心です。fomd はローカルおよび遠隔の SC の障害を検出し、適切なアクションを起こします (フェイルオーバーまたはテイクオーバーの指示)。fomd は、重要な構成データの同期が 2 つの SC の間で保たれていることをテストして確認します。fomd はメイン SC およびスペア SC の両方で実行されます。

fomd についての詳細は、SC フェイルオーバーを参照してください。

図 3-10 は、フェイルオーバー管理デーモンと SMS デーモンの関係を示します。

図 3-10 フェイルオーバー管理デーモンにおけるクライアントサーバーの関係

FOMD におけるクライアントサーバーの関係を示した図

FRU アクセスデーモン

frad(1M) は、SMS 用の保守部品 (FRU) アクセスデーモンです。frad は、SC でアクセスできる Sun Fire ハイエンドプラットフォーム内の任意の電気的に消去できるプログラム可能な読み出し専用メモリー (SEEPROM) へのアクセスを提供します。frad では、Solaris プラットフォーム情報と制御ライブラリデーモン (PICLD) を使用して、FRU データのアクセスを向上させる動的 FRUID をサポートしています。FRU の情報はサンの保守担当者だけが使用するものであり、ユーザーには意識されません。

frad は ssd により開始されます。

図 3-11 は、FRU アクセスデーモン (FRAD) と SMS デーモンの関係を示します。

図 3-11 FRU アクセスデーモン (FRAD) におけるクライアントサーバーの関係

FRAD におけるクライアントサーバーの関係を示した図

ハードウェアアクセスデーモン

hwad(1M) は、SMS デーモンへのハードウェアアクセスを提供し、すべてのデーモンについては、ハードウェアにアクセス、制御、監視、および構成ができるメカニズムを排他的に提供します。

hwad は、起動されればメインモードまたはスペアモードのどちらでも実行できます。hwad がどちらの役割を担当するかは、フェイルオーバーデーモン (fomd(1M)) によって決まります。

メインとスペアの両方での hwad の役割:

メイン SC での hwad の役割:

スペア SC での hwad の役割:

hwad は、動的再構成 (DR) では、IOSRAM (トンネルスイッチ) との通信を指定します。

hwad は dsmd(1M) に通知して、dstop または rstop が存在するかどうかを確認します。また hwad は、発生した Mbox 割り込みの種類に応じて、関連する SMS デーモン (複数可) に通知します。

hwad は、コンソールバスおよび JTAG のエラーを検出および記録します。

SC 上の Sun Fire ハイエンドシステムへのハードウェアアクセスは、PCI バスまたはコンソールバスを通じて行います。PCI バスを通じて、以下のものにアクセスできます。

コンソールバスを通じて、以下のものにアクセスできます。

図 3-12 は、ハードウェアアクセスデーモン (HWAD) と SMS デーモンおよび CLI の関係を示します。

図 3-12 ハードウェアアクセスデーモン (HWAD) におけるクライアントサーバーの関係

HWAD におけるクライアントサーバーの関係を示した図

キー管理デーモン

キー管理デーモンは、SC とドメインの間のソケット通信に関するセキュリティーを管理するメカニズムを提供します。

現在のデフォルト構成では、SC 上の dca(1M) および dxs クライアントに関する認証ポリシーが含まれています。これらのクライアントは、ドメインの dcs(1M) および cvcd(1M) サーバーに接続します。

kmd(1M) は、ドメインで実行中の SC およびサーバー間の通信のセキュリティー確保に必要な、IPSec セキュリティー関連付け (SA) を管理します。

kmd は、SC 上のクライアントにより開始された、ドメイン上のサーバーへの接続に関するソケットごとのポリシーを管理します。

システムの起動時に、kmd はアクティブな各ドメインへのドメインインタフェースを作成します。アクティブなドメインには有効な IOSRAM があり、Solaris オペレーティング環境が実行中です。ドメイン変更のイベントにより、ドメインの kmd インタフェースの作成または削除をトリガーできます。

kmd は、ドメイン上のクライアントにより開始された、SC 上のサーバーへの接続に関する共有ポリシーを管理します。kmd のポリシーマネージャは、構成ファイルを読み取って、セキュリティーの関連付けの管理に使用されるポリシーを格納します。kmd で受信された要求は現在のポリシーのセットと比較されて、要求が有効であり、要求のとおりに各種のパラメタを設定できることが確認されます。

静的なグローバルポリシーは、ipsecconf(1M) および関連データファイル (/etc/inet/ipsecinit.conf) を使用して構成されます。グローバルポリシーは、各ドメインで開始される、SC への接続で使用されます。対応するエントリは、kmd の構成ファイル中に作成されます。ドメインから SC への接続での共有セキュリティー関連付けは、ドメインがアクティブになるときに kmd により作成されます。



注 - 正常に動作するには、ipsecconf で作成されたポリシーと、kmd で作成されたポリシーが一致する必要があります。



kmd の構成ファイルは、SC とドメイン間、およびドメインと SC 間で開始された接続のどちらでも使用されます。kmd の構成ファイルは、次の場所に格納されています。
/etc/opt/SUNWSMS/config/kmd_policy.conf

次に、kmd の構成ファイルのフォーマットを示します。

dir:d_port:protocol:sa_type:aut_alg:encr_alg:domain:login

ここで、

dir

sctodom または domtosc 文字列を使用して識別される。

d_port

接続先ポートである。

protocol

tcp または udp 文字列を使用して識別される。

sa_type

セキュリティーの関連付けの種類を示す。有効な選択肢は、ah または esp 文字列である。

auth_alg

認証アルゴリズムを示す。認証アルゴリズムは、none または hmac-md5 文字列を使用するか、このフィールドを空白にすることで識別される。

encr_alg

暗号化アルゴリズムを示す。暗号化アルゴリズムは、none または des 文字列を使用するか、このフィールドを空白にすることで識別される。

domain

ドメインと関連付けられている domain_id を示す。有効な domain_id は、0 から 17 までの整数、または空白文字である。domain_id フィールドに空白文字を使用すると、ポリシーが適用される対象はすべてのドメインになる。特定のドメインが対象のポリシーは、すべてのドメインに適用されるポリシーよりも優先される。

login_name

ポリシーの影響を受けるユーザーのログイン名である。現在、これには sms-dxs、sms-dca、および sms-mld が含まれる。


以下に例を示します。

# Copyright (c) 2002 by Sun Microsystems, Inc.
# All rights reserved.
#
# This is the policy configuration file for the SMS Key Management Daemon.
# The policies defined in this file control the desired security for socket 
# communications between the system controller and domains.
#
# The policies defined in this file must match the policies defined on the
# corresponding domains. See /etc/inet/ipsecinit.conf on the Sun Fire high-end 
# system domain.
# See also the ipsec(7P), ipsecconf(1M) and sckmd(1M) man pages.
# 
# The fields in the policies are a tuple of eight fields separated by the pipe 
'|' # character.
#
#<dir>|<d_port>|<protocol>|<sa_type>|<auth_alg>|<encr_alg>|<domain>|<login>|
#
# <dir>         --- direction to connect from. Values: sctodom, domtosc
# <d_port>      --- destination port
# <protocol>    --- protocol for the socket. Values: tcp, udp
# <sa_type>     --- security association type. Values: ah, esp
# <auth_alg>    --- authentication algorithm. Values: none, md5, sha1
# <encr_alg>    --- encryption algorithm. Values: none, des, 3des
# <domain>      --- domain id. Values: integers 0 - 17, space
#                   A space for the domain id defines a policy which applies
#                   to all domains. A policy for a specific domain overrides
#                   a policy which applied to all domains.
# <login>       --- login name. Values: Any valid login name
#
# ----------------------------------------------------------------------------
sctodom|665|tcp|ah|md5|none| |sms-dca|
sctodom|442|tcp|ah|md5|none| |sms-dxs|

図 3-13 は、キー管理デーモン (KMD) と SMS デーモンの関係を示します。

図 3-13 キー管理デーモン (KMD) におけるクライアントサーバーの関係

KMD におけるクライアントサーバーの関係を示した図

管理ネットワークデーモン

mand(1M) は、管理ネットワーク (MAN) をサポートします。詳細については、管理ネットワークのサービスを参照してください。既定では mand はスペアモードで起動し、フェイルオーバーデーモン (fomd(1M)) によってメインモードに切り換えるよう指定したときに、メインモードに切り換わります。mand がどちらの役割を担当するかは、fomd によって決まります。

システムの起動時に、mand はスペアとして起動し、SC 間のプライベートネットワークを構成します。この情報は、smsconfig(1M) コマンドにより作成される /etc/opt/SUNWSMS/config/MAN.cf というファイルから取得されます。フェイルオーバーデーモン (fomd(1M)) が、mand にメインの役割を引き継ぐよう指示します。

メインの役割を引き継ぐと、mand は以下を実行します。

図 3-14 は、管理ネットワークデーモン (MAND) と SMS デーモンの関係を示します。

図 3-14 管理ネットワークデーモン (MAND) におけるクライアントサーバーの関係

MAND におけるクライアントサーバーの関係を示した図

メッセージロギングデーモン

メッセージロギングデーモンである mld は、他の SMS デーモンおよびプロセスの出力をキャプチャします。mld は、3 つの構成命令をサポートしています。具体的には File、Level、および Mode で、/var/opt/SUNWSMS/adm/.logger ファイルにあります。

mld は、各メッセージログファイルのサイズを監視します。メッセージログの種類ごとに、mld は一度に 10 個のメッセージファイルを保持しています。つまり x.0 から x.9 までです。ログメッセージの詳細については、メッセージロギングを参照してください。

図 3-15 は、メッセージロギングデーモン (MLD) と SMS デーモンおよび CLI の関係を示します。

図 3-15 メッセージロギングデーモン (MLD) におけるクライアントサーバーの関係

MLD におけるクライアントサーバーの関係を示した図

OpenBoot PROM サポートデーモン

osd(1M) は、ドメイン上で実行中の OpenBoot PROM プロセスをサポートします。osd と OpenBoot PROM の通信は、ドメイン上にあるメールボックスを介して行われます。osd デーモンは、OpenBoot PROM のメールボックスを監視します。OpenBoot PROM がメールボックスに要求を書き込むと、osd が要求を実行します。

osd は、構成済みのドメインがない場合でも、SC 上で常に実行されています。osd は仮想 TOD サービス、仮想 NVRAM、および仮想 REBOOTINFOを、OpenBoot PROM および dsmd(1M) へのインタフェースのために提供し、自動ドメイン復元を容易にしています。また osd は、以下のコマンドへのインタフェースも提供しています: setobpparams(1M)、showobpparams(1M)、setdate(1M)、および showdate(1M)。詳細については、SMS の構成を参照してください。

osd は、他の SMS プロセスにインタフェースをまったくエクスポートしないという点で信頼できるデーモンです。osd は、OpenBoot PROM メールボックスとの読み取りおよび書き込みを排他的に行います。OpenBoot PROM メールボックスは、各ドメインに 1 つあります。

osd には主に 2 つのタスクがあります。ドメイン構成の現在の状態を維持すること、および OpenBoot PROM メールボックスを監視することです。

図 3-16 は、OpenBoot PROM サポートデーモン (OSD) と SMS デーモンおよび CLI の関係を示します。

図 3-16 OpenBoot PROM サポートデーモン (OSD) におけるクライアントサーバーの関係

OSD におけるクライアントサーバーの関係を示した図

プラットフォーム構成データベースデーモン

pcd(1M) は、SC 上で実行する Sun Fire ハイエンドシステム管理デーモンで、プラットフォームおよびドメインの構成データへのアクセスを管理および提供することが主な役割です。

pcd は、Sun Fire システムの構成を示す一連の情報を管理します。データベースの情報は、物理的にはフラットファイルの集まりであり、各ファイルはその内容で識別できます。データベース情報にアクセスする必要がある SMS アプリケーションは、必ず pcd を経由しなければなりません。

プラットフォーム構成データの管理以外に、pcd はプラットフォーム構成が変更された場合の通知も行います。システム内でプラットフォーム構成に永続的な変更があったとき、pcd は、受信登録済みのクライアントに対して変更の通知を送信します。

図 3-17 は、プラットフォーム構成データベースデーモン (PCD) と SMS デーモンおよび CLI の関係を示します。

図 3-17 プラットフォーム構成データベースデーモン (PCD) におけるクライアントサーバーの関係

PCD におけるクライアントサーバーの関係を示した図

プラットフォームの構成

以下の情報で、プラットフォームを一意に識別できます。

ドメインの構成

以下に、ドメインに関連する情報を示します。

システムボードの構成

以下に、システムボードに関連する情報を示します。

SMS 起動デーモン

ssd(1M) は、すべての SMS デーモンおよびドメイン X サーバーの起動と管理を担当します。

ssd は環境チェックを通じて特定のファイルと Sun Fire ハイエンドシステムの利用可能状況を調べ、環境変数を設定し、さらにメインの esmd(1M) を起動します。esmd は関連するハードウェアコンポーネントをポーリングして、環境の変更状況を監視します。異常な状況を検出すると、esmd は自身でそれを処理するか、またはイベントを生成して、対応するイベントハンドラに適切なアクションを実行させたり、現在のハンドラの状態を更新させます。イベントハンドラには、たとえば dsmd や pcd などがあります。Sun Management Center も、インストールされている場合には、イベントハンドラに含まれます。ssd の主な役割は、SMS のデーモンとサーバーを常時、確実に動作させることです。

図 3-18 は、SMS 起動デーモン (SSD) と SMS デーモンの関係を示します。

図 3-18 SMS 起動デーモン (SSD) におけるクライアントサーバーの関係

SSD におけるクライアントサーバーの関係を示した図

スクリプト

ssd は構成ファイル ssd_start を使用して、SMS ソフトウェアのどのコンポーネントをどのような順序で起動するかを決定します。構成ファイルは、次の場所に格納されています。
/etc/opt/SUNWSMS/startup



caution icon

注意 - このファイルが、システム構成ファイルです。このファイルの編集で誤ってしまうと、システムが動作しなくなる可能性があります。このスクリプトでは、args のフィールドだけを編集してください。特定のオプションについては、デーモンのマニュアルページを参照してください (スクリプトの構文には、特に注意してください)。



ssd_start は、以下のフォーマットのエントリからなります。

name:args:nice:role:type:trigger:startup_timeout:shutdown_timeout:uid:start_order:stop_order

ここで、

name

プログラムの名前です。

args

有効なプログラムオプションまたは引数です。詳細については、デーモンのマニュアルページを参照してください。

nice

プロセスの優先順位を調整する値を指定します。この値は変更しないでください。

role

デーモンがプラットフォームまたはドメインに固有のものであるかどうかを指定します。

type

プログラムがデーモンまたはサーバーのどちらであるかを指定します。

trigger

プログラムが自動的に開始されるべきか、またはイベント受信時に開始されるべきかを指定します。

startup_timeout

ssd がプログラムの起動を待機する時間を秒単位で示します。

stop_timeout

ssd がプログラムのシャットダウンを待機する時間を秒単位で示します。

uid

関連付けの済んでいるプログラムが実行されるときの user_id です。

start_order

ssd がデーモンを起動する順序を定義します。この値は変更しないでください。デフォルト値を変更すると、SMS デーモンが正しく機能しなくなる可能性があります。

stop_order

ssd がデーモンを停止する順序を定義します。この値は変更しないでください。デフォルト値を変更すると、SMS デーモンが正しく機能しなくなる可能性があります。


スペアモード

ssd が起動するときは、必ず spare モードで起動します。ssd が起動するとプラットフォームのコアとなるデーモンが実行中なので、ssd は fomd(1M) に対して自身の役割を問い合わせます。fomd が spare を返した場合、ssd はスペアモードのままです。fomd が main を返した場合、ssd は main モードに移行します。

初期の問い合わせフェーズの後、ssd がモードを切り替えるのは fomd からイベントを受信した場合だけです。

spare モードでは、ssd は主要な Platform 役割のすべてを開始および監視し、ssd_start ファイルに記述されているプログラムを auto で (自動的に) 起動します。現在、このファイルには以下のプログラムが記述されています。

main モードのときに ssd が spare イベントを受信した場合、ssd は主要な platform 役割を除くすべてのプログラムをシャットダウンして、ssd_start ファイルにあるプログラムを自動的に起動します。

メインモード

ssd は、main イベントを受信するまでは spare モードのままです。この時点で ssd が開始して、すでに実行中のデーモンの他に、ssd_start ファイルに記述されている、platform 役割 (メインのみ) event 起動プログラムのすべてを開始および監視します。このファイルには以下のプログラムが記述されています。

最後に、すべての platform 役割、event 起動プログラムを開始した後で、ssd は pcd に照会して、どのドメインがアクティブであるかを判別します。これらの各ドメインについて、ssd は domain 役割と、ssd_start ファイルに記述されている event 起動プログラムのすべてを開始します。

ドメイン固有のプロセス起動

ssd は、pcd からのドメイン開始および停止のイベントを、ドメイン固有のサーバーを開始および停止するための命令として使用します。

命令を受信すると、ssd は domain 役割と、ssd_startファイルに記述されている event 起動プログラム (識別されたドメインのもの) のすべてを開始または停止します。

監視および再起動

ssd は、いったんプロセスを開始したプロセスを監視して、プロセスが失敗した場合に再起動します。

SMS のシャットダウン

SMS ソフトウェアをアップグレードする場合は、その SMS ソフトウェアをシャットダウンする必要があります。ssd は、自分自身と、自分の制御下にあるすべての SMS デーモンおよびサーバーをシャットダウンするメカニズムを提供します。

ssd は、自分の制御下にあるすべての SMS ソフトウェアコンポーネントにシャットダウンするよう通知します。すべての SMS ソフトウェアコンポーネントがシャットダウンした後で、ssd は自身をシャットダウンします。

タスク管理デーモン

tmd(1M) は、SMS のスケジューリングなど、タスク管理サービスを提供します。タスク管理デーモンにより、ハードウェアのテストとソフトウェアの構成を並行して実施する場合に起こりうるさまざまな衝突が減少します。

現時点では、tmd によりエクスポートされる唯一のサービスは hpost(1M) スケジューリングサービスです。Sun Fire ハイエンドシステムでは、hpost は 2 つの要素に基づいてスケジューリングされます。

図 3-19 は、タスク管理デーモン (TMD) と SMS デーモンの関係を示します。

図 3-19 タスク管理デーモン (TMD) におけるクライアントサーバーの関係

TMD におけるクライアントサーバーの関係を示した図

環境変数

SMS 環境の基本的なデフォルト値は、SMS のコマンドを実行する構成ファイルに設定されている必要があります。

ログイン時に他の環境変数を設定すると、時間を節約できます。表 3-2 に、便利な SMS 環境変数の一部を示します。

表 3-2 環境変数の例

SMSETC

その他の SMS 関連ファイルが格納されている /etc/opt/SUNWSMS/ ディレクトリへのパス

SMSLOGGER

メッセージロギングのためのファイル .logger が格納されている /var/opt/SUNWSMS/adm ディレクトリへのパス

SMSOPT

SMS パッケージのバイナリ、ライブラリ、およびオブジェクトファイル、構成ファイルおよび起動ファイルが格納されている /opt/SUNWSMS/ ディレクトリへのパス

SMSVAR

プラットフォームおよびドメインのメッセージファイルおよびデータファイルが格納されている /var/opt/SUNWSMS/ ディレクトリへのパス