ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JEUS 서버재기동시 자동시작(ver.이중화)
    WAS/JEUS 2025. 5. 22. 15:51

     

    개발 목적으로 Webtob/JEUS 구성을 위한 분들을 위한 가이드 포스팅 :) 

    TmaxSoft Engineer의 설치방식으로 진행되며, JEUS는 11년 연속 국내 1위 미들웨어입니다.

     

     

     

     

     



    ✅ OS 재기동 시 JEUS 자동 시작 설정 (crontab 활용)

    JEUS는 기본적으로 시스템(OS) 재부팅 시 자동 기동 기능을 제공하지 않습니다.

    이는 운영 편의성을 제한하는 대신, 장애 발생 시 명확한 대응 주체를 유지하기 위한 설계입니다.

     

    즉, 미들웨어가 시스템 계층의 상태에 의존하지 않도록 하기 위한 역할 분리(R&R) 원칙이 반영된 구조라 볼 수 있습니다.

    이 글에서는 crontab의 @reboot 기능을 활용해 OS 재부팅 시 WebtoB가 자동 기동되도록 설정하는 과정을 공유합니다.

     

    ⚠️ adminServer가 기동되는 서버 기준으로 작성하였습니다.
          만약 이중화 구성일 경우에는 절차와 jboot.sh를 다르게 해야합니다.

     

     

     

    1. 실습 환경

    • OS: Rocky Linux 9.4 (Blue Onyx)
    • WAW: JEUS
    • 사용자 계정: jeus

     

    2. JEUS  자동 시작 스크립트 작성

    JEUS 기동 관련하여 Script를 수정 또는 생성할때  기동 프로세스 관계를 염두해야합니다.

    (자세하게는 나중에 다루겠습니다.)

     

    서버가 3대가 있다고 하겠습니다.

    각 JEUS가 설치되고 N중화로 묶는다면 기동되는 Script 내용이 다릅니다.

    각 서버 이름을 편의상 was1, was2, was3 이라고 하겠습니다.

     

     

     

    WAS#1 구성은 기존에 포스팅 하였던 '서버 재기동시 자동시작' 참고해주시면 됩니다.

    이번 포스팅에 중요한 점은 WAS#2, WAS#3 ~ 입니다.

    즉, N중화를 할때 adminServer가 아닌 NodeManager 서버들에 대한 주의점과 설정 내용입니다.

     

    쉽게 JEUS 동작을 이해할려면 1개의 도메인에 여러 노드들이 붙게 됩니다.

    각 서버는 아래의 관계를 가지며 순차적으로 블럭이 쌓이게 된다고 쉽게 이해해두면 좋습니다.


     

    cd ${JEUS_HOME}/bin
    vi nboot.sh
    source ~/.bash_profile
    nmboot

     

     

    스크립트 생성 후 실행 권한 부여가 필수입니다:

    chmod u+x nboot.sh

     

    3. crontab에 스크립트 등록

    root 계정 또는 JEUS 계정에서 다음 명령어로 crontab 편집기를 엽니다.

    crontab -u jeus -e

     

    맨 아래에 다음 구문을 추가합니다:

    @reboot /sw/was/jeus85/bin/nboot.sh

    @reboot 예약어는 시스템 부팅 시 자동 실행을 지정하는 crontab 기능입니다.


     

    4. 로그 출력 (선택)

    기동 여부 확인을 위해 로그를 남기려면 다음처럼 리디렉션을 추가합니다:

    @reboot /sw/was/jeus85/bin/nboot.sh >> /home/jeus/startup.log 2>&1

     

    5. 주의사항

    • 스크립트 실행 권한이 있어야 합니다 (chmod u+x 필수)
    • ~/.bash_profile 등 환경변수를 로드해야 nboot.sh가 정상 실행됩니다
    • 스크립트 내 경로는 절대 경로로 설정하는 것이 안정적입니다
    • crontab은 systemd 기반 서비스보다는 간단하지만, 상태 추적 및 재시도 기능은 제공하지 않습니다

     

    ⚠️  NodeManager 서버가 먼저 기동된 후 adminServer가 기동되어 crontab이 동작해야 합니다!  ⚠️

    스케줄러 또는 절차서를 통해서 절차가 지켜져야 합니다.

     WAS#2, WAS#3 먼저 서버가 부트되고 WAS#1 기동 되어야 Container까지 정상으로 기동됩니다.
    (안그러면 adminServer 쪽 Container만 기동됩니다.)

     

     


     

    6. 재부팅 후 기동 확인

    OS 재부팅 후 다음 명령어로 JEUS가 정상 기동되었는지 확인합니다 :)

    jps -m | grep -v Jps

     

     

     

    ✅ 결론

     

    이번 포스팅에서는 crontab의 @reboot 기능을 활용해,

    OS 재기동 시 WAS(JEUS)가 자동으로 기동되도록 설정하는 방법을 실제 환경에서 실습해보았습니다.

    실무에서는 서비스 가용성 확보중단 없는 운영을 위해 매우 유용한 구성이지만

    OS 기능을 활용한 것으로 장애가 발생할때 TmaxSoft에서 기술지원을 받을 수는 없습니다.

     

    (아직까지 적용사례에서 장애난 적은 없습니다.)

     

Designed by Tistory.