[MSP-36] MCCS init 스크립트 오류

Subject
MCCS init 스크립트 오류

APPLIES TO:
init linux runlevel


SYMPTOMS
"/etc/init.d/mccs_agent" 파일에
reboot(runlevel 6) 나 halt(runlevel 0)시 그룹 오프라인후 절체하도록 되어 있어야 하나 runlevel 1과 6일 때 동작하도록 되어있음
runlevel | egrep -i '1|6'
-> runlevel | egrep -i '0|6'


CAUSE

linux의 정상 종료 절차는 runlevel의 단계적 하강을 따름
전통적인 halt 명령은 원래 ACPI에 직접적인 전원 차단 명령 혹은 CPU에 명령처리 중지를 내리는 명령어로서 몇몇 유닉스 계열 운영체제는 아직도 이 방식을 사용하고 있음. 리눅스는 0 혹은 6이 아닌 상태에서 해당 명령이 호출 될 경우 shutdown을 호출하게 되어 있음.
runlevel 0로의 직접적인 진입은 그 이전 runlevel의 처리 과정을 무시하고 강제 종료의 의미를 가진다고 판단하여 MCCS에서도 이 case에 대해서 대기 하지 않고 종료를 우선시 하도록 함.


SOLUTION
MCCS에서는 runlevel 0으로 직접 진입은 전원 off 되는 상황과 동일하게 보고 있음.
정리 작업이 필요한 상황에 대해서는 shutdown과 같은 단계적 runlevel 하강을 따르는 명령을 쓰도록 권고.