제4장 서버 Life Cycle

내용 목차

4.1. 서버 운영모드
4.2. 서버 시작 준비
4.3. 서버 시작
4.3.1. Domain Administration Server(DAS) 시작
4.3.2. Managed Server(MS) 시작
4.3.3. Cloud Server 시작
4.4. 서버 종료
4.4.1. Domain Administration Server(DAS) 종료
4.4.2. Managed Server(MS) 종료
4.4.3. Cloud Server 종료
4.5. 서버 Life Cycle 상태 확인

본 장에서는 서버의 시작과 종료, 서버 Life Cycle을 확인하는 방법에 대해 설명한다.

JEUS 서버는 2가지 모드로 기동될 수 있다. 한 가지 모드는 여러 서버들을 관리하여 운영하는 도메인 관리 모드이고, 나머지 하나는 클라우드 환경에서 단 하나의 서버만을 운영하는 클라우드 서버는 모드이다.

  • 클라우드 서버 모드(Cloud Server)

    클라우드 환경에서는 도메인 관리와 같은 중앙 관리 기능이 필요하지 않을 수 있다. 이런 경우 JEUS 8.5은 단독 서버로 기동 및 운영할 수 있다.

    클라우드 서버는 하나의 서버로 모든 동작을 보장해주기 때문에 DAS와 MS의 기능을 모두 포함하고 있다. 하나 이상의 클라우드 서버를 기동하여 관리하려면 전적으로 사용자가 여러 서버들간의 관리를 해야 한다. 예로 특정 애플리케이션을 모든 클라우드 서버들에 배치하려면 사용자가 개별 서버에 애플리케이션을 배치해야 한다.

    클라우드 서버는 startCloudServer 스크립트로 기동할 수 있다. 클라우드 서버는 Linux 계열에서만 지원한다.

  • 도메인 관리 모드(Managed Domain)

    여러 개의 서버를 같은 도메인(Domain)으로 묶어 도메인 관리 서버를 통해 중앙에서 관리할 수 있다.

서버를 시작하기 전에 준비되어야 하는 몇 가지 사항은 다음과 같다.

본 절에서는 Domain Administration Server(DAS), Managed Server(MS), Cloud Server를 시작하는 방법에 대해 설명한다.

DAS를 시작하는 스크립트는 startDomainAdminServer로 DAS의 도메인 이름, JEUS를 시작할 수 있는 권한을 가진 사용자명과 패스워드가 필요하다.

JEUS_HOME/bin 하위에서 실행할 경우에는 이 모든 값이 필요하지만, DAS의 DOMAIN_HOME 하위에서 실행할 때에는 도메인 이름을 생략할 수 있다.

위치에 따라 다음과 같이 실행한다.

  • JEUS_HOME/bin

    JEUS_HOME/bin$ startDomainAdminServer -domain <domain_name> 
    -u <user_name> -p <password>
  • DOMAIN_HOME/bin

    DOMAIN_HOME/bin$ startDomainAdminServer -u <user_name> -p <password>
  • SERVER_HOME/bin

    SERVER_HOME/bin$ startDomainAdminServer -u <user_name> -p <password>

기본적으로는 DAS가 RUNNING 상태가 된 이후에는 파일로만 서버의 로그(SERVER_HOME/logs/JeusServer.log)가 남게 된다. 서버의 로그를 콘솔 툴 화면에서 모니터링하려면 추가적으로 -verbose 옵션을 설정한다. 이 경우 서버 프로세스 외에도 Launcher 프로세스가 함께 운영된다. Luncher 프로세스는 서버 프로세스를 운영하고 서버의 로그를 콘솔 툴에 출력한다.

다음과 같이 jps 명령어로 확인하면 LauncherBootStrapper와 DomainAdminServerBootstrapper를 확인할 수 있다.

jps -l
399092 jeus.server.LauncherBootstrapper
409880 sun.tools.jps.Jps
398868 jeus.server.NodemanagerBootstrapper
399352 jeus.server.admin.DomainAdminServerBootstrapper

서버 시작에 실패한 경우에는 SERVER_HOME/logs/JeusLauncher.log에서 실패 이유를 확인할 수 있다.

MS를 시작하는 방법은 DAS를 통해 시작하는 방법과 스크립트로 시작하는 방법이 있다.

DAS를 통해 MS 시작

DAS를 통해 MS를 시작하는 방법은 DAS가 운영 중이고, 시작하려는 MS에 대한 노드 정보가 설정된 경우에만 가능하다.

다음은 WebAdmin이나 콘솔 툴을 사용해서 DAS를 통해 MS시작하는 방법이다.

스크립트로 MS 시작

DAS를 통하지 않고 MS가 위치하는 머신에 설치된 스크립트를 이용하여 MS를 시작할 수 있다.

도메인 내에 여러 서버가 여러 머신에 분포한다면 각 머신에 접속하여 MS가 위치하는 머신에서 스크립트를 수행해야 한다. 스크립트 이름은 startManagedServer이고, DAS와 설정을 동기화하기 위해 dasurl 옵션을 추가로 설정해야 한다.

startManagedServer 스크립트는 위치에 따라 다음과 같이 실행한다.

  • JEUS_HOME/bin

    JEUS_HOME/bin$ startManagedServer -dasurl <das_ip:das_baseport> 
    -domain <domain_name> -server <server_name> -u <user_name> -p <password>
  • DOMAIN_HOME/bin

    DOMAIN_HOME/bin$ startManagedServer -dasurl <das_ip:das_baseport> 
    -server <server_name> -u <user_name> -p <password>
  • SERVER_HOME/bin

    SERVER_HOME/bin$ startManagedServer -dasurl <das_ip:das_baseport> -u <user_name> -p <password> 

클라우드 서버(Cloud Server)를 시작하는 스크립트는 startCloudServer로 서버의 도메인 이름, 서버의 이름, JEUS를 시작할 수 있는 권한을 가진 사용자명과 패스워드가 필요하다. 도메인이 하나만 있을 경우 도메인, 서버은 옵션 생략가능하다. 도메인이 여러 개일 경우 도메인 옵션을 설정해 주어야 하며 서버 옵션은 생략 가능하다.

JEUS_HOME/bin 하위에서 실행할 경우에는 이 모든 값이 필요하지만, DOMAIN_HOME 하위에서 실행할 때에는 도메인, 서버은 옵션 생략가능하다.

위치에 따라 다음과 같이 실행한다.

  • JEUS_HOME/bin

    JEUS_HOME/bin$ startCloudServer -domain <domain_name> 
                          -u <user_name> -p <password>
  • DOMAIN_HOME/bin

    DOMAIN_HOME/bin$ startCloudServer -u <user_name> -p <password>
  • SERVER_HOME/bin

    SERVER_HOME/bin$ startCloudServer -u <user_name> -p <password>

기본적으로는 클라우드 서버가 RUNNING 상태가 된 이후에는 파일로만 서버의 로그(SERVER_HOME/logs/JeusServer.log)가 남게 된다. 서버의 로그를 콘솔 툴 화면에서 모니터링하려면 추가적으로 -verbose 옵션을 설정한다.

다음과 같이 jps 명령어로 확인하면 DomainAdminServerBootstrapper를 확인할 수 있다.

jps -l
              409880 sun.tools.jps.Jps
              398868 jeus.server.NodemanagerBootstrapper
              399352 jeus.server.admin.DomainAdminServerBootstrapper

서버 시작에 실패한 경우에는 SERVER_HOME/logs/JeusServer.log에서 실패 이유를 확인할 수 있다.

참고

1. jps는 Java 프로세스를 조회하는 툴이며, JAVA_HOME/bin에 위치한다.

2. 클라우드 서버는 Launcher를 사용하지 않는다.

본 절에서는 Domain Administration Server(DAS), Managed Server(MS), Standalone Server, Cloud Server를 종료하는 방법에 대해 설명한다.

MS를 시작할 때와 마찬가지로 종료하는 방법도 DAS를 통하는 방법과 스크립트를 사용하는 방법이 있다.

DAS를 통해 MS 종료

DAS를 통해 MS를 종료할 경우에는 WebAdmin 또는 콘솔 툴(jeusadmin)을 사용한다.

스크립트로 MS 종료

MS가 위치한 머신에 설치된 스크립트를 이용하여 MS를 종료할 수 있다. 즉, 도메인 내에 여러 서버가 여러 머신에 분포한다면 각 머신에 접속하여 MS가 위치하는 머신에서 스크립트를 수행해야 한다.

stopServer 스크립트는 위치에 따라 다음과 같이 실행한다.

  • JEUS_HOME/bin

    JEUS_HOME/bin$ stopServer -host <server_ip:server_baseport> -u <user_name> -p <password>
  • DOMAIN_HOME/bin

    DOMAIN_HOME/bin$ stopServer -host <server_ip:server_baseport> -u <user_name> -p <password>
  • SERVER_HOME/bin

    SERVER_HOME/bin$ stopServer -host <server_ip:server_baseport> -u <user_name> -p <password>

서버 이름을 이용하여 MS를 종료할 수도 있다. 이 경우 DAS의 주소를 지정해주어야 한다. 지정하지 않을 경우에는 DAS의 주소를 localhost:9736 으로 지정하여 동작한다.

  • JEUS_HOME/bin

    JEUS_HOME/bin$ stopServer -server <server_name> -dasurl <server_ip:server_baseport> -u <user_name> -p <password>
  • DOMAIN_HOME/bin

    DOMAIN_HOME/bin$ stopServer -server <server_name> -dasurl <server_ip:server_baseport> -u <user_name> -p <password>
  • SERVER_HOME/bin

    SERVER_HOME/bin$ stopServer -server <server_name> -dasurl <server_ip:server_baseport> -u <user_name> -p <password>

MS의 Life Cycle은 DAS의 판단에 의해 여러 가지 상태로 구분된다.


각 상태에 대한 설명은 다음과 같다.

상태설명
SHUTDOWN시작되지 않은 상태 또는 정상 종료된 상태를 나타낸다.
STARTING서버를 시작하는 중으로 아직 서비스는 할 수 없는 상태를 나타낸다.
STANDBY시작 중에 등록된 애플리케이션을 Distribute하던 중 실패한 것이 있어 RUNNING 상태로 이동하지 못하고 머무르는 상태를 나타낸다. 이 상태에서 문제의 모듈을 수정하여 다시 시작을 하거나, 그 모듈을 무시하고 서비스를 하기 위해서는 force 옵션을 주고 start 명령어를 수행한다.
RUNNING서버 시작이 완료되어 서비스를 할 수 있는 상태를 나타낸다.
SHUTTING_DOWN서버가 종료 중인 상태를 나타낸다.
SUSPENDINGRUNNING 상태에서 모든 deploy된 애플리케이션의 서비스를 중단하기 위해 Suspend를 수행 중인 상태를 나타낸다.
RESUMINGSUSPENDED 상태에서 다시 모든 정지된(Stopped) 애플리케이션의 서비스를 재기하기 위해 Resume을 수행 중인 상태를 나타낸다.
SUSPENDED관리자가 의도적으로 모든 애플리케이션을 정지하도록 Suspend를 수행한 상태를 나타낸다. 이 상태에서는 새롭게 애플리케이션을 추가하고 싶은 경우에도 해당 애플리케이션을 Distriibute만 가능하고 시작할 수는 상태이다.
FAILURE_SUSPECTEDDAS가 판단하기로 MS와 연결되지 않아 해당 MS의 비정상 종료를 의심하는 상태를 나타낸다.
FAILEDDAS가 판단하기로 MS와 일정 시간동안 계속 연결되지 않아 해당 MS의 비정상 종료를 확신한 상태를 나타낸다.

다음의 3가지 방법으로 서버의 Life Cycle 상태를 확인할 수 있다.