Go to main content
Oracle® Solaris 11.3 システムのブートとシャットダウン

印刷ビューの終了

更新: 2016 年 11 月
 
 

サービス管理機構とブート

Oracle Solaris サービス管理機能 (SMF) は、従来の UNIX の起動スクリプト、init 実行レベル、および構成ファイルを補強するインフラストラクチャーを提供します。SMF の導入により、ブートプロセスで作成されるメッセージが少なくなりました。デフォルトでは、サービスの起動時にメッセージは表示されません。ブートメッセージによって提供されていた情報は、/var/svc/log にある各サービス用のログファイルで提供されるようになりました。ブートの問題の診断には svcs コマンドが役立ちます。ブートプロセス中に各サービスが開始されるときにメッセージを生成するには、–v オプションを boot コマンドとともに使用します。

    システムがブートされるとき、ブート先のマイルストーンを選択したり、記録されるエラーメッセージのレベルを選択したりできます。次に例を示します。

  • SPARC ベースのシステムで次のコマンドを使用すると、ブート先の特定のマイルストーンを選択できます。

    ok boot -m milestone=milestone

    デフォルトのマイルストーンは、有効になっているすべてのサービスを起動する all です。ほかの有用なマイルストーンは none で、これは initsvc.startd、および svc.configd のみを開始します。このマイルストーンは、サービスを手動で開始できる非常に有用なデバッグ環境を提供します。none マイルストーンの使用方法の詳細は、Oracle Solaris 11.3 でのシステムサービスの管理 の システムブート時のサービスの起動に関する問題を調査する方法を参照してください。

    実行レベルと同等な single-usermulti-user、および multi-user-server も使用できますが、一般的には使用されません。特に multi-user-server マイルストーンは、そのマイルストーンに依存しないサービスを開始しないため、重要なサービスを含まないことがあります。

  • 次のコマンドを使用すると、svc.startd のログレベルを選択できます。

    ok boot -m logging-level

    選択できるロギングレベルは quietverbose、および debug です。ロギングレベルの具体的な情報については、Oracle Solaris 11.3 でのシステムサービスの管理 の 起動メッセージングの量の指定を参照してください。

  • x86 ベースのシステムを特定のマイルストーンにブートするか、svc.startd のログのレベルを選択するには、ブート時に GRUB メニューを編集し、–m smf-options カーネル引数を指定したブートエントリの $multiboot 行の末尾に追加します。例:

    $multiboot /ROOT/s11.3_18/@/$kern $kern -B $zfs_bootfs -m logging-level

SMF 使用時のブート動作に関する変更

SMF が提供する機能のほとんどが、ユーザーの目に触れることなく実行されるため、ユーザーは通常これらの機能に気付きません。それ以外の機能には新しいコマンドでアクセスします。

    もっともよく目にする動作の変更の一覧を次に示します。

  • ブートプロセスで生成されるメッセージが少なくなりました。デフォルトでは、サービスの起動時にメッセージは表示されません。ブートメッセージによって提供されていた情報は、/var/svc/log にある各サービス用のログファイルで提供されるようになりました。ブートの問題の診断には svcs コマンドが役立ちます。なお、boot コマンドで –v オプションを使用すれば、ブートプロセス中に各サービスが起動されるたびにメッセージが生成されます。

  • サービスは可能なかぎり自動的に再起動されるため、プロセスの終了が失敗したように見えることがあります。サービスに障害があれば保守モードに切り替わりますが、通常、サービスのプロセスが終了すると、そのサービスは再起動されます。SMF サービスが実行されないようにするには、svcadm コマンドを使用してそのプロセスを停止する必要があります。

  • /etc/init.d および /etc/rc*.d 内の多くのスクリプトが削除されました。サービスの有効化および無効化に、これらのスクリプトはもう必要ありません。/etc/inittab のエントリも削除され、サービスの管理に SMF が使用できるようになりました。ISV によって提供されるスクリプトおよび inittab エントリ、あるいはローカルで開発されたそれらは、従来どおり機能します。各サービスは、ブートプロセス内のまったく同じ時点では開始されない可能性がありますが、SMF サービスの前に開始されることはありません。