4


SMS の内部動作

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



caution icon

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



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


起動のフロー

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

1. ユーザーが、Sun Fire ハイエンド (CPU/ディスクおよび DVD-ROM) プラットフォームに電源を入れます。SC 上の Solaris OS が自動的に起動します。

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

3. 次に ssd(1M) は、デーモンとプロセス、mldpcdhwadtmddsmdesmdmandosddcaefe,coddefhdeladerdsmnptdpicldwcapp も起動します。

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

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

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


SMS デーモン

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



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



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

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

この節では、SMS の各デーモンの相互関係、およびデーモンにアクセスする CLI について説明します。

図 4-1 に、Sun Fire ハイエンドシステムのソフトウェアコンポーネントとその高度な対話を示します。


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

Sun Fire ハイエンドシステムのソフトウェアコンポーネントを示す図




注 - ドメイン X サーバー (dxs) およびドメイン構成エージェント (dca) はデーモンではありませんが、主要なサーバープロセスであるため次の表および節で説明します。各ドメインは、dxsdca のインスタンスを実行します。インスタンスの最大数 (ドメインごとに各デーモンに 1 つのインスタンス) は、Sun Fire 15K/E25K の場合 18 個で、Sun Fire 12K/E20K の場合 9 個です。




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

デーモンの名前

説明

codd

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

dca

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

dsmd

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

dxs

ドメイン X サーバーは、ドメインにソフトウェアのサポートを提供する。提供するサポートには、動的再構成 (DR)、ホットプラグ可能な PCI I/O ボードのサポート、ドメインドライバの要求およびイベント、および仮想コンソールのサポートなどがあります。Sun Fire 15K/E25K では最大 18 個、Sun Fire 12K/E20K では最大 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 (Serial Electrically Erasable Programmable Read-only Memory) にアクセスできるメカニズムを提供します。このデーモンは、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) で実行されるプロセスです。

このプロセスは、次の役割を担当します。


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

図 4-2 CODD でのクライアントサーバーの関係

CODD でのサーバーとクライアントの関係を示す図


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

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

ssd(1M) は、ドメインが作成されると dca を開始します。ssd は、ドメインの動作中に dca が終了されると、dca を再起動します。dca はドメインが停止するときに終了します。

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


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

図 4-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 に渡します。


図 4-4は、DSMDと SMS デーモンおよび CLI の関係を示します。

図 4-4 DSMD でのクライアントサーバーの関係

DSMD でのクライアントサーバーの関係を示す図


ドメイン X サーバー

ドメイン 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 台あります。dxsssd によりすべてのアクティブなドメイン (OS ソフトウェアを実行するドメイン) で開始され、ドメインがシャットダウンされるときに終了します。


図 4-5は、DXSと SMS デーモンの関係を示します。

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

DXS でのクライアントサーバーの関係を示す図


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

エラーおよび障害処理デーモン efhd(1M) は、次の処理を行います。


図 4-5は、EFHDと SMS デーモンの関係を示します。

図 4-6 EFHD におけるクライアントサーバーの関係

EFHD でのクライアントサーバーの関係を示す図


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

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


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

図 4-7 ELAD でのクライアントサーバーの関係

ERD でのクライアントサーバーの関係を示す図


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

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

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


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

図 4-8 ERD におけるクライアントサーバーの関係

ERD でのクライアントサーバーの関係を示す図


環境ステータス監視デーモン

環境ステータス監視デーモン esmd(1M) は、電圧、温度、ファントレー、電源装置、クロックフェージングなどの、システムキャビネットの環境条件を監視します。esmd は異常な条件を記録し、必要に応じてハードウェアの保護する処置を実行します。

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


図 4-9は、ESMDと SMS デーモンの関係を示します。

図 4-9 ESMD におけるクライアントサーバーの関係

ESMD でのクライアントサーバーの関係を示す図


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

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

fomd についての詳細は、第 12 章を参照してください。


図 4-10は、FOMDと SMS デーモンの関係を示します。

図 4-10 FOMD におけるクライアントサーバーの関係

FOMD でのクライアントサーバーの関係を示す図


FRU アクセスデーモン

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

fradssd により開始されます。


図 4-11は、FRADと SMS デーモンの関係を示します。

図 4-11 FRAD におけるクライアントサーバーの関係

FRAD でのクライアントサーバーの関係を示す図


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

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

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

hwad は、メインとスペアの両方で次の処理を行います。

メイン SC では、hwad は次の処理を行います。

スペア SC では、hwad は次の処理を行います。

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

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

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

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

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


図 4-12は、HWADと SMS デーモンおよび CLI の関係を示します。

図 4-12 HWAD におけるクライアントサーバーの関係

HWAD でのクライアントサーバーの関係を示す図


キー管理デーモン

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

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

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

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

システムの起動時に、kmd はアクティブな各ドメインへのドメインインタフェースを作成します。アクティブなドメインには有効な IOSRAM があり、Solaris OS が実行中です。ドメイン変更のイベントにより、ドメインの 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-dxssms-dca、および sms-mld が含まれます。

 

たとえば、次のメッセージが表示されます。


# Copyright (c) 2004 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 ハイエンド 
# 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|

 

図 4-13は、KMDと SMS デーモンの関係を示します。

図 4-13 KMD におけるクライアントサーバーの関係

KMD でのクライアントサーバーの関係を示す図


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

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

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

メインの役割では、mand は次の処理を行います。


図 4-14は、MANDと SMS デーモンの関係を示します。

図 4-14 MAND におけるクライアントサーバーの関係

MAND でのクライアントサーバーの関係を示す図


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

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

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


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

図 4-15 MLD におけるクライアントサーバーの関係

MLD でのクライアントサーバーの関係を示す図


OpenBoot PROM サポートデーモン

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

osd は、構成済みのドメインがない場合でも、SC 上で常に実行されています。osd は、OpenBoot PROM 用の仮想時刻 (TOD) サービス、仮想 NVRAM (非揮発性のランダムアクセスメモリー)、および仮想 REBOOTINFO を提供し、さらに自動ドメイン回復を容易にするための dsmd(1M) へのインタフェースを提供します。また、osdsetobpparams(1M)、showobpparams(1M)、setdate(1M)、および showdate(1M) の各コマンドへのインタフェースも提供します。詳細については、第 5 章を参照。

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

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


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

図 4-16 OSD におけるクライアントサーバーの関係

OSD でのクライアントサーバーの関係を示す図


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

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

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

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


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

図 4-17 PCD におけるクライアントサーバーの関係

PCD でのクライアントサーバーの関係を示す図


プラットフォームの構成

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

シャーシのホスト ID は、COD ライセンスを取得するために、COD 機能でプラットフォームを特定する際にのみ使用されます。シャーシのホスト ID はセンタープレーンのシリアル番号で、システム内部に記録されています。シャーシのホスト ID を表示するには、showplatform -p cod コマンドを実行します。

シャーシのシリアル番号は Sun Fire ハイエンドシステムを特定する番号で、メッセージとイベントでプラットフォームを特定するときに使用されます。この番号は、サービスプロバイダがイベントと保守アクションを該当するシステムに関連付けるときにも使用されます。シャーシのシリアル番号は、システムシャーシ正面の下部中央付近に貼付されているラベルに印刷されています。SMS 1.4 からは、シャーシのシリアル番号は、Sun での製造時に SMS をインストールして出荷するシステム上に自動的に記録されます。シャーシのシリアル番号を表示するには、showplatform -p csn コマンドを実行します。

前のバージョンの SMS から SMS 1.6 以降にアップグレードする場合は、setcsn(1M) コマンドを使用して、シャーシのシリアル番号を記録してください。setcsn コマンドについての詳細は、『System Management Services (SMS) 1.6 リファレンスマニュアル』のコマンドの説明を参照してください。

ドメインの構成

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

システムボードの構成

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

SMS 起動デーモン

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

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


図 4-18は、SSDと SMS デーモンの関係を示します。

図 4-18 SSD におけるクライアントサーバーの関係

SSD でのクライアントサーバーの関係を示す図


スクリプト

ssd は、構成ファイル ssd_start を使用して、起動する SMS コンポーネントとそれらの起動順序を判断します。この構成ファイルは、/etc/opt/SUNWSMS/startup ディレクトリにあります。



caution icon

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



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

name:args:nice:role:type:trigger:startup-timeout:shut down-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 が起動するとプラットフォームのコアとなるデーモンが実行中なので、ssdfomd(1M) に対して自身の役割を問い合わせます。fomdspare を返した場合、ssd はスペアモードのままです。fomdmain を返した場合、ssdmain モードに移行します。

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

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

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

メインモード

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

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

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

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

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

監視および再起動

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

SMS のシャットダウン

SMS ソフトウェアのアップグレードなど、特定の状況では SMS ソフトウェアを停止します。ssd は、自分自身と、自分の制御下にあるすべての SMS デーモンおよびサーバーを停止するメカニズムを提供します。

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

タスク管理デーモン

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

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

任意の拡張ボード 1 つに 1 度に作用できるのは、単一の hpost 呼び出しだけです。分割拡張ボードなしで構成された Sun Fire ハイエンドシステムの場合は、この制限にかかわらず複数の hpost 呼び出しを実行できます。ただし、システムが分割拡張ボードありで構成されているときは、この制限事項の影響を受けます。



caution icon

注意 - デフォルト値を変更すると、システムの機能に悪影響を与える場合があります。Sun のサービス担当者から指示されないかぎり、このパラメータは調節しないでください。




図 4-19は、TMDと SMS デーモンの関係を示します。

図 4-19 TMD におけるクライアントサーバーの関係

TMD でのクライアントサーバーの関係を示す図


環境変数

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

ログイン時にほかの環境変数を設定すると、時間を節約できます。表 4-2 に、便利な SMS 環境変数をいくつか示します。


表 4-2 環境変数の例

変数

説明

SMSETC

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

SMSLOGGER

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

SMSOPT

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

SMSVAR

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