애플리케이션 자원 apache2 작성

애플리케이션 자원을 정의하기 위한 명령 또는 스크립트에 대해 자세히 알아봅니다.

애플리케이션 자원 apache2를 정의할 때 세 개의 명령 또는 스크립트가 사용자에 의해 제공되어야 합니다.
  • 애플리케이션을 시작하십시오.

  • 애플리케이션을 중지하십시오.

  • 애플리케이션의 상태를 조회하십시오.

이러한 명령 및 스크립트는 서로 다를 수 있습니다. 이러한 기능을 시작, 중지 또는 상태 조치를 선택하기 위한 명령행 매개변수가 있는 단일 스크립트로 모을 수 있습니다. 이러한 스크립트는 종종 사용자가 작성합니다. 스크립트의 요구사항에 대한 자세한 정보는 IBM.Application 자원 클래스.

이 예제에서는 다음 스크립트를 사용합니다.
/cluster/scripts/apache2 
스크립트에는 Linux® 시스템에 대한 다음 컨텐츠가 있습니다.
#!/bin/bash

OPSTATE_ONLINE=1
OPSTATE_OFFLINE=2

Action=${1}

case ${Action} in
        start)
		        /usr/sbin/apache2ctl start >/dev/null 2>&1
		        logger -i -t "SAM-apache" "Apache started"
		        RC=0
		        ;;
	stop)
		        /usr/sbin/apache2ctl stop >/dev/null 2>&1
		        logger -i -t "SAM-apache" "Apache stopped"
		        RC=0
		        ;;
	status)
		        ps ax |grep -v "grep"|grep "/usr/sbin/httpd">/dev/null
		        if [ $? == 0 ]
		        then
			        RC=${OPSTATE_ONLINE}
		        else
			        RC=${OPSTATE_OFFLINE}
		        fi
		        ;;
esac
exit $RC
참고: 디렉토리 경로가 동일한 모든 노드에서 스크립트에 액세스할 수 있어야 합니다. RSCT 웹 서버 자원을 작성하기 전에 웹 서버가 실행되는 노드에 스크립트를 분배하십시오. start/stop/status 스크립트의 존재는 각 노드에서 확인됩니다.
애플리케이션 자원 apache2의 RSCT 자원 정의는 mkrsrc 명령으로 작성됩니다. 모든 자원 특성이 명령행 매개변수로서 전달될 수 있지만 mkrsrc 명령도 일반 텍스트 형식으로 정의 파일을 채택할 수 있습니다.
다음 예제와 같이 apache2.def라는 정의 파일을 사용하는 두 번째 접근법이 사용됩니다.
PersistentResourceAttributes:
   Name="apache2" 
   StartCommand="/cluster/scripts/apache2 start"
   StopCommand="/cluster/scripts/apache2 stop"
   MonitorCommand="/cluster/scripts/apache2 status"
   MonitorCommandPeriod=5                               
   MonitorCommandTimeout=5                         
   NodeNameList={"node01","node02","node03"}       
   StartCommandTimeout=10                             
   StopCommandTimeout=10                              
   UserName="root"                                         
   ResourceType=1                                  
이제 정의 파일의 위치와 이름을 지정하여 mkrsrc 명령으로 자원 정의를 작성할 수 있습니다.
mkrsrc -f apache2.def IBM.Application   
이 명령은 성공적인 실행 시 출력을 리턴하지 않습니다. lsrsrc 명령을 입력하여 apache2의 변동 자원 표시를 표시할 수 있습니다.
lsrsrc -s "Name='apache2' && ResourceType=1" IBM.Application
Resource Persistent Attributes for IBM.Application
resource 1: 
			Name                  = "apache2" 
			ResourceType          = 1 
			AggregateResource     = "0x3fff 0xffff 0x00000000 0x000000000x00000000 0x00000000" 
			StartCommand          = "/cluster/scripts/apache2 start" 
			StopCommand           = "/cluster/scripts/apache2 stop" 
			MonitorCommand        = "/cluster/scripts/apache2 status" 
			MonitorCommandPeriod  = 5 
			MonitorCommandTimeout = 5 
			StartCommandTimeout   = 10 
			StopCommandTimeout    = 10 
			UserName              = "root" 
			RunCommandsSync       = 1 
			ProtectionMode        = 0 
			HealthCommand         = "" 
			HealthCommandPeriod   = 10 
			HealthCommandTimeout  = 5 
			InstanceName          = "" 
			InstanceLocation      = "" 
			SetHealthState        = 0 
			MovePrepareCommand    = "" 
			MoveCompleteCommand   = "" 
			MoveCancelCommand     = "" 
			CleanupList           = {} 
			CleanupCommand        = "" 
			CleanupCommandTimeout = 10 
			ProcessCommandString  = ""
			ResetState            = 0 
			ReRegistrationPeriod  = 0 
			CleanupNodeList       = {} 
			MonitorUserName       = "" 
			ActivePeerDomain      = "SA_Domain" 
			NodeNameList          = {"node01","node02”,”node03"}

웹 서버가 운영 체제 환경의 다른 메커니즘(즉, Linux의 실행 레벨 설정)에 의해 시작되지 않았는지 확인하십시오. 애플리케이션이 이미 시작되어 사용 중일 때는 자원을 정의하지 마십시오.

명령 출력에 표시된 자원 속성에 대한 자세한 정보는 IBM.Application 자원 클래스.