Oracle® Solaris 11.2 시스템 부트 및 종료

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

실행 레벨 작동 방식

시스템의 실행 레벨(초기화 상태라고도 함)은 사용자가 사용할 수 있는 서비스와 리소스를 정의합니다. 시스템에는 한 번에 하나의 실행 레벨만 지정할 수 있습니다.

Oracle Solaris에는 다음 표에 설명된 대로 8개의 실행 레벨이 있습니다. 기본 실행 레벨은 /etc/inittab 파일에서 실행 레벨 3으로 지정되어 있습니다.

표 4-1  Oracle Solaris 실행 레벨
실행 레벨
초기 상태
유형
용도
0
전원 끄기 상태
전원 끄기
안전하게 시스템의 전원을 끌 수 있도록 운영 체제를 종료합니다.
s 또는 S
단일 사용자 상태
단일 사용자
일부 파일 시스템이 마운트되고 액세스 가능 상태인 단일 사용자로 실행합니다.
1
관리 상태
단일 사용자
사용 가능한 모든 파일 시스템에 액세스합니다. 사용자 로그인이 사용 안함으로 설정됩니다.
2
다중 사용자 상태
다중 사용자
일반 작업에 사용됩니다. 여러 명의 사용자가 시스템 및 모든 파일 시스템에 액세스할 수 있습니다. NFS 서버 데몬을 제외한 모든 데몬이 실행 중입니다.
3
NFS 리소스가 공유되는 다중 사용자 레벨
다중 사용자
NFS 리소스가 공유되는 일반 작업에 사용됩니다. 기본 실행 레벨입니다.
4
대체 다중 사용자 상태
다중 사용자
기본적으로 구성되어 있지 않지만 고객용으로 제공됩니다.
5
전원 끄기 상태
전원 끄기
안전하게 시스템의 전원을 끌 수 있도록 운영 체제를 종료합니다. 가능한 경우 이 기능을 지원하는 시스템의 전원을 자동으로 끕니다.
6
재부트 상태
재부트
운영 체제를 중지하고 /etc/inittab 파일의 initdefault 항목에 따라 정의된 상태로 재부트합니다.
기본적으로 SMF 서비스 svc:/system/boot-config:default가 사용으로 설정되어 있습니다. config/fastreboot_default 등록 정보가 true로 설정된 경우 init 6은 시스템의 특정 기능에 따라 특정 펌웨어 초기화 및 테스트 단계를 무시합니다. 빠른 재부트 프로세스 수행을 참조하십시오.

또한 svcadm 명령을 통해 실행할 마일스톤을 선택하여 시스템의 실행 레벨을 변경할 수 있습니다. 다음 표에서는 각 마일스톤에 해당하는 실행 레벨을 보여 줍니다.

표 4-2  실행 레벨 및 SMF 마일스톤
실행 레벨
SMF 마일스톤 FMRI
S
milestone/single-user:default
2
milestone/multi-user:default
3
milestone/multi-user-server:default

시스템이 다중 사용자 상태(실행 레벨 3)로 재부트될 때 발생하는 동작

  1. init 프로세스가 시작되어 svc:/system/environment:init SMF 서비스에 정의된 등록 정보를 읽어 환경 변수를 설정합니다. 기본적으로 TIMEZONE 변수만 설정되어 있습니다.

  2. 그런 다음 initinittab 파일을 읽고 다음을 수행합니다.

    1. 사용자가 시스템에 로그인하기 전에 특수한 초기화가 수행될 수 있도록 action 필드에 sysinit가 있는 프로세스 항목을 실행합니다.

    2. svc.startd로 시작 작업을 전달합니다.

    init 프로세스의 inittab 파일 사용 방법에 대한 자세한 내용은 init(1M) 매뉴얼 페이지를 참조하십시오.

실행 레벨 또는 마일스톤 사용 시기

일반적으로 마일스톤 또는 실행 레벨은 거의 변경되지 않습니다. 필요할 경우 init 명령을 사용하여 실행 레벨로 변경하면 마일스톤 및 사용할 해당 명령이 변경됩니다. init 명령은 시스템을 종료하는 데도 유용합니다.

하지만 시작 문제를 디버그할 때는 none 마일스톤을 사용하여 시스템을 부트하는 것이 매우 유용할 수 있습니다. none 마일스톤을 대체할 수 있는 실행 레벨은 없습니다. 자세한 내용은 Oracle Solaris 11.2의 시스템 서비스 관리 의 시스템 부트 시 서비스 시작 문제를 조사하는 방법을 참조하십시오.

시스템의 현재 실행 레벨 확인

시스템의 현재 실행 레벨을 확인하려면 who -r 명령을 사용하십시오.

예 4-11  시스템의 실행 레벨 확인

who –r 명령의 출력에는 시스템의 현재 실행 레벨 및 이전 실행 레벨에 대한 정보가 표시됩니다.

$ who -r
 .    run-level 3  Dec 13 10:10  3  0 S
$
who –r 명령 출력
설명
run-level 3
현재 실행 레벨을 식별합니다.
Dec 13 10:10
마지막 실행 레벨 변경 날짜를 식별합니다.
3
현재 실행 레벨을 식별합니다.
0
마지막 재부트 이후 시스템이 이 실행 레벨이었던 횟수를 식별합니다.
S
이전 실행 레벨을 식별합니다.