JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris の管理: 一般的なタスク     Oracle Solaris 11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris のコマンドに関する情報の検索

2.  ユーザーアカウントとグループの管理 (概要)

3.  ユーザーアカウントとグループの管理 (手順)

4.  Oracle Solarisシステムのブートとシャットダウン

5.  Oracle Configuration Manager の操作

6.  サービスの管理 (概要)

7.  サービスの管理 (手順)

サービスの監視 (作業マップ)

SMF サービスの監視

サービスの状態を一覧表示する方法

サービスのカスタマイズを一覧表示する方法

特定のサービスに依存するサービスを表示する方法

特定のサービスが依存するサービスを表示する方法

SMF 遷移イベントの電子メール通知を設定する方法

SMF サービス (作業マップ)

SMF サービスの管理

RBAC 権利プロファイルを使って SMF を管理する

サービスインスタンスを無効にする方法

サービスインスタンスを有効にする方法

サービスを再起動する方法

保守状態のサービスを復元する方法

SMF プロファイルを作成する方法

SMF プロファイルを適用する方法

SMF サービスの設定 (作業マップ)

SMF サービスの設定

SMF サービスプロパティーの変更方法

ファイルで設定されているサービスの変更方法

サービスの環境変数を変更する方法

inetd 制御サービスのプロパティーを変更する方法

サービスのカスタマイズを削除する方法

inetd 制御サービスのコマンド行引数を変更する方法

inetd.conf エントリを変換する方法

実行制御スクリプトの使用 (作業マップ)

実行制御スクリプトの使用

実行制御スクリプトを使用して従来のサービスを起動または停止する方法

実行制御スクリプトを追加する方法

実行制御スクリプトを無効にする方法

サービス管理機能のトラブルシューティング

起動していないサービスをデバッグする

破壊されたリポジトリを修復する方法

どのサービスも起動しないでブートする方法

ブート中に system/filesystem/local:default サービスで障害が発生した場合に sulogin プロンプトを強制的に表示する方法

8.  障害管理の使用

9.  システム情報の管理 (手順)

10.  システムプロセスの管理 (手順)

11.  システムパフォーマンスの監視 (手順)

12.  ソフトウェアパッケージの管理 (手順)

13.  ディスク使用の管理 (手順)

14.  システムタスクのスケジュール設定 (手順)

15.  CUPS を使用したプリンタの設定と管理 (手順)

16.  システムコンソール、端末デバイス、および電源サービスの管理 (手順)

17.  システムクラッシュ情報の管理 (手順)

18.  コアファイルの管理 (手順)

19.  システムおよびソフトウェアのトラブルシューティング (手順)

20.  その他各種のシステムおよびソフトウェアの トラブルシューティング (手順)

索引

サービス管理機能のトラブルシューティング

次の各作業は、SMF サービスのトラブルシューティングまたは修正の方法を示したものです。

起動していないサービスをデバッグする

この手順では、印刷サービスが無効になっています。

  1. 管理者になるか、Service Management 権利プロファイルを含む役割になります。

    詳細は、『Oracle Solaris の管理: セキュリティーサービス』の「管理権限を取得する方法」を参照してください。

  2. エラーのために実行されていないサービスに関する情報を要求します。
    # svcs -xv
    svc:/application/print/server:default (LP Print Service)
     State: disabled since Wed 13 Oct 2004 02:20:37 PM PDT
    Reason: Disabled by an administrator.
       See: http://sun.com/msg/SMF-8000-05
       See: man -M /usr/share/man -s 1M lpsched
    Impact: 2 services are not running:
            svc:/application/print/rfc1179:default
            svc:/application/print/ipp-listener:default

    -x オプションを指定すると、影響を受けたサービスインスタンスに関する情報も表示されます。

  3. サービスを有効にします。
    # svcadm enable application/print/server

破壊されたリポジトリを修復する方法

この手順は、破壊されたリポジトリをデフォルトのリポジトリと交換する方法を示しています。リポジトリデーモン svc.configd が起動すると、設定リポジトリの整合性チェックが行われます。このリポジトリは、/etc/svc/repository.db に格納されています。このリポジトリは、次のいずれかが原因で破壊されることがあります。

整合性チェックに失敗すると、svc.configd デーモンは次のようなメッセージをコンソールに書き出します。

svc.configd: smf(5) database integrity check of:

    /etc/svc/repository.db

  failed.  The database might be damaged or a media error might have
  prevented it from being verified.  Additional information useful to
  your service provider is in:

    /system/volatile/db_errors

  The system will not be able to boot until you have restored a working
  database.  svc.startd(1M) will provide a sulogin(1M) prompt for recovery
  purposes.  The command:

    /lib/svc/bin/restore_repository

  can be run to restore a backup version of your repository. See
  http://sun.com/msg/SMF-8000-MY for more information.

その後 svc.startd デーモンが終了し、sulogin が起動して保守作業を行えるようになります。

  1. sulogin プロンプトで root パスワードを入力します。

    sulogin コマンドでは、root ユーザーはシステム保守モードに入ってシステムを修復できます。

  2. 次のコマンドを実行します。
    # /lib/svc/bin/restore_repository

    このコマンドを実行すると、破壊されていないバックアップの復元に必要な手順が示されます。SMF では、システムの重要な局面でリポジトリのバックアップが自動的に作成されます。詳細は、「SMF リポジトリのバックアップ」を参照してください。

    /lib/svc/bin/restore_repository コマンドが起動すると、次のようなメッセージが表示されます。

    See http://sun.com/msg/SMF-8000-MY for more information on the use of
    this script to restore backup copies of the smf(5) repository.
    
    If there are any problems which need human intervention, this script will
    give instructions and then exit back to your shell. 

    復元するシステムがローカルゾーンでない場合は、読み取り権と書き込み権を付けて / ファイルシステムおよび /usr ファイルシステムをマウントし直しデータベースを復元する方法が表示されます。これらの説明を表示したあと、スクリプトは終了します。エラーの発生に特に注意しながら、これらの説明に従います。

    書き込み権を付けてルート (/) ファイルシステムをマウントしたあと、またはシステムがローカルゾーンである場合は、復元するリポジトリのバックアップを選択するよう求められます。

    The following backups of /etc/svc/repository.db exists, from
    oldest to newest:
    
    ... list of backups ...

    バックアップには、バックアップのタイプとバックアップが作成された時間に基づいて名前が付けられています。boot で始まっているのは、システムのブート後、リポジトリに対して最初の変更が行われる前に作成されたバックアップです。manifest_import で始まっているのは、svc:/system/manifest-import:default のプロセス終了後に作成されたバックアップです。バックアップ時間は、YYYYMMDD_HHMMSS 形式で記録されます。

  3. 適切な応答を入力します。

    通常は、最新のバックアップオプションを選択します。

    Please enter either a specific backup repository from the above list to
    restore it, or one of the following choices:
    
            CHOICE            ACTION
            ----------------  ----------------------------------------------
            boot              restore the most recent post-boot backup
            manifest_import   restore the most recent manifest_import backup
            -seed-            restore the initial starting repository  (All
                                customizations will be lost, including those
                                made by the install/upgrade process.)
            -quit-            cancel script and quit
    
    Enter response [boot]:

    復元するバックアップを指定しないで Enter キーを押した場合は、[] で囲まれたデフォルトの応答が選択されます。-quit- を選択すると、restore_repository スクリプトが終了して、シェルスクリプトに戻ります。


    注 - -seed- を選択すると、seed リポジトリが復元されます。このリポジトリは、初期インストールとアップグレード時に使用する目的で作成されたものです。seed リポジトリを回復の目的で使用するのは、最後の手段にしてください。


    復元するバックアップを選択すると、妥当性検査が行われ、その整合性がチェックされます。なんらかの問題があると、restore_repository コマンドによってエラーメッセージが表示され、別のバックアップを選択するよう促されます。有効なバックアップを選択すると、次の情報が表示され、最終確認を入力するよう促されます。

    After confirmation, the following steps will be taken:
    
    svc.startd(1M) and svc.configd(1M) will be quiesced, if running.
    /etc/svc/repository.db
        -- renamed --> /etc/svc/repository.db_old_YYYYMMDD_HHMMSS
    /system/volatile/db_errors
        -- copied --> /etc/svc/repository.db_old_YYYYMMDD_HHMMSS_errors
    repository_to_restore
        -- copied --> /etc/svc/repository.db
    and the system will be rebooted with reboot(1M).
    
    Proceed [yes/no]?
  4. yes と入力して障害を修復します。

    restore_repository コマンドが表示されたアクションをすべて実行すると、システムがリブートします。

どのサービスも起動しないでブートする方法

サービスの起動に関する問題が発生した場合、ブート時にシステムがハングアップする可能性があります。この手順は、そうした問題のトラブルシューティングを行う方法を示しています。

  1. どのサービスも起動しないでブートします。

    このコマンドを実行すると、svc.startd デーモンはすべてのサービスを一時的に無効にし、コンソール上で sulogin を起動します。

    ok boot -m milestone=none
  2. システムに root としてログインします。
  3. すべてのサービスを有効にします。
    # svcadm milestone all
  4. ブートプロセスがどこでハングアップするのかを確認します。

    ブートプロセスがハングアップしたら、動作していないサービスを確認するために、svcs -a を実行します。/var/svc/log のログファイル内でエラーメッセージの有無を確認します。

  5. 問題が解決したら、すべてのサービスが起動していることを確認します。
    1. 必要なサービスがすべてオンラインになっていることを確認します。
      # svcs -x
    2. console-login サービスの依存関係に問題がないことを確認します。

      このコマンドを使えば、コンソール上の login プロセスが実行されるかどうかを確認できます。

      # svcs -l system/console-login:default
  6. 通常のブートプロセスを継続します。

ブート中に system/filesystem/local:default サービスで障害が発生した場合に sulogin プロンプトを強制的に表示する方法

システムのブートに必要でないローカルファイルシステムは、svc:/system/filesystem/local:default サービスによってマウントされます。これらのファイルシステムのいずれかがマウントできない場合、このサービスは保守状態になります。システムの起動は続行され、filesystem/local に依存しないサービスは起動されます。依存関係を介して起動されるサービスで、オンラインになるために filesystem/local を必要とするものは、起動されません。

サービスで障害が発生した場合に、システムの起動の続行を許可する代わりに、ただちに sulogin プロンプトを表示するようシステムの設定を変更するには、次の手順に従ってください。

  1. system/console-login サービスを変更します。
    # svccfg -s svc:/system/console-login
    svc:/system/console-login> addpg site,filesystem-local dependency
    svc:/system/console-login> setprop site,filesystem-local/entities = fmri: svc:/system/filesystem/local
    
    svc:/system/console-login> setprop site,filesystem-local/grouping = astring: require_all
    
    svc:/system/console-login> setprop site,filesystem-local/restart_on = astring: none
    
    svc:/system/console-login> setprop site,filesystem-local/type = astring: service
    
    svc:/system/console-login> end
  2. サービスを再表示します。
    # svcadm refresh console-login

注意事項

system/filesystem/local:default サービスで障害が発生したときは、svcs -vx コマンドを使用して障害を特定するようにしてください。障害が修正されたら、次のコマンドでエラー状態をクリアし、システムのブートを続行できるようにします。 svcadm clear filesystem/local