JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 11.1에서 서비스 및 결함 관리     Oracle Solaris 11.1 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

1.  서비스 관리(개요)

2.  서비스 관리(작업)

SMF 서비스 모니터링

서비스 모니터링(작업 맵)

서비스 상태를 나열하는 방법

서비스의 사용자 정의를 나열하는 방법

서비스 인스턴스에 종속되는 서비스를 표시하는 방법

서비스가 종속되는 서비스를 표시하는 방법

SMF 변환 이벤트의 알림을 설정하는 방법

SMF 서비스 관리

SMF 서비스 관리(작업 맵)

SMF에서 RBAC 권한 프로파일 사용

SMF 서비스를 만드는 방법

서비스 인스턴스를 사용 안함으로 설정하는 방법

서비스 인스턴스를 사용으로 설정하는 방법

서비스를 다시 시작하는 방법

유지 관리 상태인 서비스를 복원하는 방법

SMF 프로파일을 만드는 방법

SMF 프로파일을 수동으로 만드는 방법

SMF 프로파일을 적용하는 방법

SMF 서비스 구성

SMF 서비스 구성(작업 맵)

SMF 서비스 등록 정보를 수정하는 방법

한 서비스의 여러 등록 정보를 수정하는 방법

파일에 의해 구성된 서비스를 수정하는 방법

서비스에 대한 환경 변수를 변경하는 방법

inetd 제어 서비스에 대한 등록 정보를 변경하는 방법

서비스의 사용자 정의를 삭제하는 방법

inetd 제어 서비스에 대한 명령줄 인수를 수정하는 방법

inetd.conf 항목을 변환하는 방법

실행 제어 스크립트 사용

제어 스크립트 사용(작업 맵)

실행 제어 스크립트를 사용하여 레거시 서비스를 중지하거나 시작하는 방법

실행 제어 스크립트를 추가하는 방법

실행 제어 스크립트를 사용 안함으로 설정하는 방법

실행 제어 스크립트를 SMF 서비스로 변환하는 방법

서비스 관리 기능 문제 해결

SMF 문제 해결(작업 맵)

시작되지 않는 서비스를 디버깅하는 방법

손상된 저장소를 복구하는 방법

서비스 시작 없이 부트하는 방법

상세 정보 표시 모드로 부트하는 방법

부트 중 system/filesystem/local:default 서비스가 실패할 경우 sulogin 프롬프트를 강제로 표시하는 방법

3.  Fault Manager 사용

색인

서비스 관리 기능 문제 해결

다음 절차에서는 SMF 서비스를 수정하거나 문제를 해결하는 방법을 보여줍니다. 일부 절차에서는 부트 매개변수를 변경하여 시스템 부트 방식을 변경하는 방법도 보여 줍니다.

SMF 문제 해결(작업 맵)

다음 작업 맵에는 시스템 문제를 해결하는 데 사용할 수 있는 몇 가지 절차도 포함되어 있습니다. 각 행에는 작업, 해당 작업을 수행할 시점에 대한 설명 및 작업에 대한 링크가 포함되어 있습니다.

작업
설명
수행 방법
실행되지 않는 서비스 디버깅
SMF 서비스에서 서비스가 실행되지 않는 이유에 대한 정보를 수집합니다.
손상된 저장소 복구
시스템이 완전하게 부트되도록 손상된 저장소를 교체하는 단계입니다.
서비스를 시작하지 않고 부트
부트 프로세스 중 중단된 시스템을 디버깅하기 위해 실행되는 서비스 없이 시스템을 부트합니다.
추가 부트 메시지 생성
부트 프로세스 중 디버깅에 도움이 되는 추가 메시지를 만드는 단계입니다.
로컬 파일 시스템을 사용할 수 없는 경우 부트 프로세스 중지
로컬 파일 시스템이 마운트되지 않은 경우 문제를 조사할 수 있도록 로그인 서비스를 시작하는 단계입니다.

시작되지 않는 서비스를 디버깅하는 방법

이 절차에서는 인쇄 서비스가 사용 안함으로 설정되었습니다.

  1. 관리자로 전환하거나 Service Management 권한 프로파일을 포함하는 역할로 전환합니다.

    자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.

  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://support.oracle.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://support.oracle.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://support.oracle.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. 

    root(/) 파일 시스템이 쓰기 권한으로 마운트된 후 또는 시스템이 로컬 영역인 경우 복원할 저장소 백업을 선택하라는 메시지가 표시됩니다.

    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. 정상적인 부트 프로세스를 계속합니다.

상세 정보 표시 모드로 부트하는 방법

기본적으로 부트 중 표시되는 메시지의 레벨은 비기록 모드로 설정됩니다. 이 경우 서비스 시작 시 오류가 발생할 때 메시지가 생성됩니다. 시스템이 부트할 때 발생하는 문제를 해결하기 위해 메시지가 더 많이 필요할 수 있습니다. 이 절차에서는 오류 메시지가 모두 표시되도록 시스템을 부트하는 방법을 보여 줍니다.

예 2-22 로그에 부트 메시지 저장

boot 명령에서 -m debug 옵션을 사용하면 모든 서비스별 메시지 및 서비스 시작 메시지가 로그 파일에 기록됩니다.

부트 중 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 명령은 오류 상태를 지우고 시스템 부트가 계속되도록 합니다.