JEUS 8fix1 Domain-Guide

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 94

JEUS

Domain 안내서

JEUS 8 Fix#1

Copyright © 2019 TmaxSoft Co., Ltd. All Rights Reserved.


Copyright Notice

Copyright © 2019 TmaxSoft Co., Ltd. All Rights Reserved.

대한민국 경기도 성남시 분당구 황새울로258번길 29, BS 타워 9층 우)13595

Website

http://www.tmaxsoft.co.kr

기술서비스센터

Tel : +82-1544-8629

E-Mail : info@tmax.co.kr

Restricted Rights Legend

All TmaxSoft Software(JEUS®) and documents are protected by copyright laws and international convention.
TmaxSoft software and documents are made available under the terms of the TmaxSoft License Agreement and
this document may only be distributed or copied in accordance with the terms of this agreement. No part of this
document may be transmitted, copied, deployed, or reproduced in any form or by any means, electronic, mechan
ical, or optical, without the prior written consent of TmaxSoft Co., Ltd. Nothing in this software document and
agreement constitutes a transfer of intellectual property rights regardless of whether or not such rights are registered)
or any rights to TmaxSoft trademarks, logos, or any other brand features.

This document is for information purposes only. The company assumes no direct or indirect responsibilities for
the contents of this document, and does not guarantee that the information contained in this document satisfies
certain legal or commercial conditions. The information contained in this document is subject to change without
prior notice due to product upgrades or updates. The company assumes no liability for any errors in this document.

이 소프트웨어(JEUS®) 사용설명서의 내용과 프로그램은 저작권법과 국제 조약에 의해서 보호받고 있습니다. 사


용설명서의 내용과 여기에 설명된 프로그램은 TmaxSoft Co., Ltd.와의 사용권 계약 하에서만 사용이 가능하며, 사
용설명서는 사용권 계약의 범위 내에서만 배포 또는 복제할 수 있습니다. 이 사용설명서의 전부 또는 일부분을
TmaxSoft의 사전 서면 동의 없이 전자, 기계, 녹음 등의 수단을 사용하여 전송, 복제, 배포, 2차적 저작물작성 등의
행위를 하여서는 안 됩니다.

이 소프트웨어 사용설명서와 프로그램의 사용권 계약은 어떠한 경우에도 사용설명서 및 프로그램과 관련된 지적
재산권(등록 여부를 불문)을 양도하는 것으로 해석되지 아니하며, 브랜드나 로고, 상표 등을 사용할 권한을 부여하
지 않습니다. 사용설명서는 오로지 정보의 제공만을 목적으로 하고, 이로 인한 계약상의 직접적 또는 간접적 책임
을 지지 아니하며, 사용설명서 상의 내용은 법적 또는 상업적인 특정한 조건을 만족시키는 것을 보장하지는 않습
니다. 사용설명서의 내용은 제품의 업그레이드나 수정에 따라 그 내용이 예고 없이 변경될 수 있으며, 내용상의 오
류가 없음을 보장하지 아니합니다.

Trademarks

JEUS® is registered trademark of TmaxSoft Co., Ltd.

JEUS®는 TmaxSoft Co., Ltd.의 등록 상표입니다.


Java and Solaris are registered trademarks of Oracle Corporation and its subsidiaries and affiliates.

Java, Solaris는 Oracle Corporation 및 그 자회사, 관계회사의 등록 상표입니다.

Microsoft, Windows, and Windows NT are registered trademarks or trademarks of Microsoft Corporation.

Microsoft, Windows, Windows NT는 Microsoft Corporation의 등록 상표 또는 상표입니다.

HP-UX is a registered trademark of Hewlett Packard Enterprise Company.

HP-UX는 Hewlett Packard Enterprise Company의 등록 상표입니다.

AIX is a registered trademark of International Business Machines Corporation.

AIX는 International Business Machines Corporation의 등록 상표입니다.

UNIX is a registered trademark of X/Open Company, Ltd.

UNIX는 X/Open Company, Ltd.의 등록 상표입니다.

Linux is a registered trademark of Linus Torvalds.

Linux는 Linus Torvalds의 등록 상표입니다.

Noto is a trademark of Google Inc. Noto fonts are open source. All Noto fonts are published under the SIL Open
Font License, Version 1.1. (https://www.google.com/get/noto/)

Noto는 Google Inc.의 상표입니다. Noto 글꼴은 오픈 소스입니다. 모든 Noto 글꼴은 SIL Open Font License, 버전
1.1에 따라 게시됩니다. (https://www.google.com/get/noto/)

Other products and company names are trademarks or registered trademarks of their respective owners.

기타 모든 제품들과 회사 이름은 각각 해당 소유주의 상호, 상표, 또는 등록 상표입니다.

The names of companies, systems, and products mentioned in this manual may not necessarily be indicated with
a trademark symbol (TM, ®).

본 사용설명서에 기재된 회사, 시스템, 제품 이름 등에 반드시 상표 표시 (TM, ®)를 하지는 않습니다.

Open Source Software Notice

Some modules or files of this product are subject to the terms of the following licenses. : APACHE2.0, CDDL1.0,
EDL1.0, OPEN SYMPHONY SOFTWARE1.1, TRILEAD-SSH2, Bouncy Castle, BSD, MIT, SIL OPEN FONT1.1

Detailed Information related to the license can be found in the following directory : ${INSTALL_PATH}/lib/licenses

본 제품의 일부 파일 또는 모듈은 다음의 라이선스를 준수합니다. : APACHE2.0, CDDL1.0, EDL1.0, OPEN SYM
PHONY SOFTWARE1.1, TRILEAD-SSH2, Bouncy Castle, BSD, MIT, SIL OPEN FONT1.1

관련 상세한 정보는 제품의 다음의 디렉터리에 기재된 사항을 참고해 주십시오. : ${INSTALL_PATH}/lib/licenses

안내서 정보

안내서 제목: JEUS Domain 안내서

발행일: 2019-05-31

소프트웨어 버전: JEUS 8 Fix#1

안내서 버전: v2.1.2


내용 목차
안내서에 대하여 ........................................................................................................................... xi

제1장 소개 ................................................................................................................................. 1
1.1. 기본 개념 ..................................................................................................................... 1
1.2. JEUS와 도메인 관계 ..................................................................................................... 1
1.3. 구성요소 ...................................................................................................................... 2
1.3.1. Domain Administration Server(DAS) ................................................................... 4
1.3.2. Managed Server(MS) ........................................................................................ 5
1.3.3. Cloud Server ..................................................................................................... 6
1.4. 운영모드와 개발모드 .................................................................................................... 6
1.5. 도메인 구성 제약 사항 .................................................................................................. 7

제2장 도메인 생성 ....................................................................................................................... 9


2.1. 도메인 생성 ................................................................................................................. 9
2.1.1. 기본 도메인 생성 ............................................................................................... 9
2.1.2. Virtual Multicast를 사용하는 도메인 생성 ........................................................... 11
2.2. 도메인 구성 ................................................................................................................ 13
2.2.1. WebAdmin 사용 ............................................................................................... 13
2.2.2. 콘솔 툴 사용 .................................................................................................... 18
2.3. 디렉터리 구성 ............................................................................................................ 19
2.3.1. JEUS_HOME 디렉터리 .................................................................................... 19
2.3.2. 도메인 디렉터리 .............................................................................................. 21

제3장 도메인 설정변경 .............................................................................................................. 23


3.1. 개요 ........................................................................................................................... 23
3.2. 설정변경 .................................................................................................................... 23
3.3. 설정변경 적용 ............................................................................................................ 25
3.3.1. 동적 반영이 가능한 설정 .................................................................................. 25
3.3.2. 서버의 재시작이 필요한 설정 ............................................................................ 27
3.4. 설정 로테이션 ............................................................................................................ 28
3.5. 도메인 설정변경 ......................................................................................................... 30
3.6. 설정변경 예제 ............................................................................................................ 32
3.6.1. System Thread Pool 개수 변경 ......................................................................... 32
3.6.2. 서버의 JVM 설정변경 ....................................................................................... 33

제4장 서버 Life Cycle ............................................................................................................... 35


4.1. 서버 운영모드 ............................................................................................................ 35
4.2. 서버 시작 준비 ........................................................................................................... 35
4.3. 서버 시작 ................................................................................................................... 36
4.3.1. Domain Administration Server(DAS) 시작 .......................................................... 36
4.3.2. Managed Server(MS) 시작 ............................................................................... 37
4.3.3. Cloud Server 시작 ........................................................................................... 38
4.4. 서버 종료 ................................................................................................................... 39

JEUS v
4.4.1. Domain Administration Server(DAS) 종료 .......................................................... 39
4.4.2. Managed Server(MS) 종료 ............................................................................... 40
4.4.3. Cloud Server 종료 ........................................................................................... 41
4.5. 서버 Life Cycle 상태 확인 ............................................................................................ 42

제5장 JEUS 클러스터링 ............................................................................................................ 47


5.1. 개요 ........................................................................................................................... 47
5.2. 클러스터와 도메인 관계 .............................................................................................. 47
5.3. 클러스터 구성 ............................................................................................................ 48
5.4. 클러스터 생성 ............................................................................................................ 49
5.5. 클러스터 설정 ............................................................................................................ 49
5.5.1. 서버 공통 설정 ................................................................................................. 49
5.5.2. 클러스터 설정 .................................................................................................. 49
5.5.3. Dynamic Servers를 이용한 클러스터 설정 ......................................................... 50
5.6. 클러스터 변경 ............................................................................................................ 51
5.6.1. 클러스터에 서버 추가 ....................................................................................... 51
5.6.2. 클러스터에서 서버 삭제 ................................................................................... 54
5.7. 클러스터 삭제 ............................................................................................................ 56

제6장 서버 장애 ........................................................................................................................ 59
6.1. Domain Administration Server(DAS) 비정상 종료 .......................................................... 59
6.1.1. 비정상 종료될 때 기능 제한 .............................................................................. 59
6.1.2. 도메인 백업을 이용한 장애 극복 ....................................................................... 59
6.1.3. INDEPENDENT 모드의 Managed Server(MS) ................................................... 63
6.2. Managed Server(MS)의 비정상 종료 ........................................................................... 63

제7장 Security 관리 .................................................................................................................. 65


7.1. 계정 관리 ................................................................................................................... 65
7.2. 패스워드 암호화 저장 ................................................................................................. 65
7.2.1. WebAdmin 사용 ............................................................................................... 66
7.2.2. 콘솔 툴 사용 .................................................................................................... 68
7.2.3. 암호화 툴을 통한 직접 설정 .............................................................................. 69
7.3. 비밀 Key 파일 관리 ..................................................................................................... 70
7.3.1. 비밀 Key 파일의 생성과 관리 ............................................................................ 70
7.3.2. 비밀 Key 파일 보호 옵션과 서버 기동 방법 ........................................................ 70
7.4. Keystore와 Truststore 관리 .......................................................................................... 71
7.5. SSL이 설정된 도메인에서의 실행 스크립트 관리 .......................................................... 72

색인 ............................................................................................................................................ 75

vi JEUS Domain 안내서


그림 목차
[그림 1.1] JEUS와 도메인의 관계 ................................................................................................. 2
[그림 1.2] 클라우드 환경에서의 JEUS와 도메인의 관계 ................................................................. 2
[그림 1.3] 도메인의 구성 요소 ...................................................................................................... 3
[그림 1.4] 클라우드 환경에서의 도메인의 구성 요소 ...................................................................... 4
[그림 2.1] 노드 추가 - 노드 설정 메뉴 선택 .................................................................................. 14
[그림 2.2] 설정변경 모드 전환 .................................................................................................... 15
[그림 2.3] Server 설정 화면 - 고급선택사항 ................................................................................. 16
[그림 2.4] JEUS_HOME 디렉터리 구조 ...................................................................................... 19
[그림 2.5] 도메인 디렉터리 구조 ................................................................................................. 21
[그림 3.1] 동적 설정변경 과정 .................................................................................................... 24
[그림 3.2] 동적 반영이 가능한 설정 ............................................................................................. 25
[그림 3.3] 도메인 설정 로테이션 - 메뉴 이동 ................................................................................ 29
[그림 3.4] 백업 도메인 설정 리스트 확인 ..................................................................................... 29
[그림 3.5] 도메인 설정의 내용 확인 ............................................................................................. 30
[그림 4.1] DAS를 통한 MS 종료 - 설정 ........................................................................................ 40
[그림 4.2] DAS의 판단에 의한 서버의 Life Cycle .......................................................................... 42
[그림 4.3] 서버 Life Cycle 상태 확인 - 서버 모니터링 ................................................................... 44
[그림 5.1] 클러스터와 도메인과의 관계 ....................................................................................... 47
[그림 6.1] 도메인 백업 설정을 통한 자동 백업 ............................................................................. 61
[그림 7.1] 패스워드 설정 - 메뉴 이동 ........................................................................................... 66
[그림 7.2] 패스워드 설정 - 사용자명 선택 .................................................................................... 67
[그림 7.3] 패스워드 설정 - 패스워드 입력 .................................................................................... 67
[그림 7.4] 패스워드 설정 - 패스워드 입력 팝업 ............................................................................ 68
[그림 7.5] 패스워드 설정 - 변경 완료 ........................................................................................... 68

JEUS vii
예 목차
[예 7.1] 암호화된 문자열 패스워드 설정 : <<accounts.xml>> ........................................................ 69
[예 7.2] SSL과 관련된 클라이언트 설정을 직접 명시한 jeusadmin 스크립트 .................................. 73
[예 7.3] SSL 설정을 별도 파일에 명시하도록 한 jeusadmin 스크립트 ............................................ 73
[예 7.4] SSL과 관련된 클라이언트 설정 : <<ssl.properties>> ........................................................ 74

JEUS ix
안내서에 대하여

안내서의 대상
®
본 안내서는 JEUS (이하 JEUS) 도메인의 개념과 구조를 이해하기 위한 기본적인 내용과 구성 서버의 종
류와 역할에 대해서 설명한다. 따라서 도메인의 설정 및 제어에 대한 이해를 필요로 하는 개발자나 관리자
를 대상으로 한다.

안내서의 전제 조건
도메인의 설정 및 제어를 하려면 구조를 먼저 이해해야 한다. JEUS의 기본적인 사용법과 제품을 이해하
기 위해서는 다음의 안내서를 미리 숙지할 것을 권장한다.

● JEUS 소개

● JEUS 설치 및 시작하기

● JEUS Server 안내서

본 안내서의 모든 예제와 환경 구성은 UNIX의 스타일에 준하여 작성되어 Microsoft Windows™(이하


Windows)와 같이 다른 환경에서 작업하는 경우 몇 가지 사항을 고려해야 한다.

예를 들어 경로 구분자의 경우 UNIX 스타일인 “/”를 Windows 스타일인 “\”로 바꿔서 사용한다. 또한 환경


변수도 Windows 스타일(%%)로 변경해서 사용한다. 본 안내서에 명시된 JEUS_HOME은 JEUS가 설치된
디렉터리이다.

안내서의 제한 조건
본 안내서의 내용은 Java 표준에 준해서 작성되었으나 Java EE나 JMX 기술에 대한 기본적인 내용은 다
루지 않는다. 따라서 해당 내용은 Java 관련 문서를 참고한다.

안내서에 대하여 xi
안내서 구성
본 안내서는 총 7개의 장으로 구성되어 있다.

● “제1장 소개”

도메인의 개념과 구성 요소에 대해 설명한다.

● “제2장 도메인 생성”

도메인 생성 방법과 디렉터리 구조에 대해 설명한다.

● “제3장 도메인 설정변경”

도메인 설정 변경 및 반영 방법에 대해 설명한다.

● “제4장 서버 Life Cycle”

도메인을 구성하고 있는 서버의 제어 방법과 그에 대한 상태 변경에 대해 설명한다.

● “제5장 JEUS 클러스터링”

도메인을 구성할 수 있는 클러스터 개념에 대해 설명한다.

● “제6장 서버 장애”

도메인을 관리하는 서버가 비정상 종료될 경우의 문제점과 극복 방안에 대해 설명한다.

● “제7장 Security 관리”

도메인과 관련된 보안 사항에 대해 설명한다.

xii JEUS Domain 안내서


안내서 규약
표기 의미

<<AaBbCc123>> 프로그램 소스 코드의 파일명

<Ctrl>+C Ctrl과 C를 동시에 누름

[Button] GUI의 버튼 또는 메뉴 이름

진하게 강조

" "(따옴표) 다른 관련 안내서 또는 안내서 내의 다른 장 및 절 언급

'입력항목' 화면 UI에서 입력 항목에 대한 설명

하이퍼링크 메일 계정, 웹 사이트

> 메뉴의 진행 순서

+---- 하위 디렉터리 또는 파일 있음

|---- 하위 디렉터리 또는 파일 없음

참고 또는 주의사항
참고

주의할 사항
주의

[그림 1.1] 그림 이름

[예 1.1] 예제 이름

AaBbCc123 Java 코드, XML 문서

[command argument] 옵션 파라미터

< xyz > ‘<’와 ‘>’ 사이의 내용이 실제 값으로 변경됨

| 선택 사항. 예) A|B: A나 B 중 하나

… 파라미터 등이 반복되어서 나옴

${ } 환경변수

안내서에 대하여 xiii


시스템 사용환경
요구 사항

Platform Solaris 9, 10, 11

HP-UX 11.x, 11i, 11iV2

IBM AIX 5L, 6L, AIX 7L

MS Windows 2008, 2012, Vista, 7, 8

Hardware 최소 2GB 이상 20GB 하드디스크 여유 공간 권장

1GB 이상 메모리 공간 권장

JDK JDK 7, JDK 8

xiv JEUS Domain 안내서


관련 안내서
안내서 설명

JEUS 소개 JEUS 서버에 대한 전반적인 소개와 JEUS의 아키텍처를 포함하여 각


구성 요소들에 대해 설명한 안내서이다.

JEUS 설치 및 시작하기 JEUS에 대한 소개와 설치 및 시작 방법에 대해 기술한 안내서이다.

JEUS Server 안내서 JEUS 시스템과 서버의 개요와 시스템 관리를 위한 안내서이다.

JEUS Security 안내서 JEUS에서 Security 시스템의 설정 및 운용 방법과 Security 관련 프로그


래밍에 대해 기술한 안내서이다.

JEUS Reference Book JEUS를 사용할 때 도움이 되는 Reference를 기술한 안내서이다.

JEUS WebAdmin 안내서 JEUS의 웹 관리 툴인 WebAdmin을 사용한 JEUS의 설정 및 제어, 모니


터링, 클러스터링, 리소스 설정 및 관리에 대해 기술한 안내서이다.

참고 자료
● domain.xml 설정에 대한 XML Reference

JEUS_HOME/docs/manuals/xml-reference/index.html

안내서에 대하여 xv
제1장 소개

본 장에서는 도메인의 개념과 구성 요소에 대해 설명한다.

1.1. 기본 개념
도메인(Domain)은 관련 있는 서버들의 그룹으로 기본 관리 단위이다. 하나의 도메인은 비즈니스에 따라
여러 개의 서버와 클러스터로 구성된다.

각 도메인마다 서비스의 종류, 서버의 위치, 보안 정책들이 모두 다를 수 있다. 이에 따라 각 도메인은 하


나의 설정 파일을 가지고, 여러 도메인 사이에 설정을 공유할 수 없다. 즉, 하나의 도메인 내에서만 보안
설정, 필요한 애플리케이션 및 리소스 등이 공유되는 점을 고려하여 도메인을 구성해야 한다.

도메인을 구성할 때 고려해야 하는 사항은 다음과 같다.

● 해당 도메인에 속한 서버들의 역할

비즈니스 관계가 높은 업무들을 하나의 도메인으로 구성한다.

● 해당 도메인에 속한 서버들의 물리적 위치

안정적인 서비스를 위해 같은 업무를 수행하는 서버의 물리적 위치를 적절하게 분배한다.

● 해당 도메인에 속한 서버들에게 가해지는 부하량

수행하는 업무의 부하량에 따라 적당량의 서버를 구성한다.

1.2. JEUS와 도메인 관계


하나의 머신에는 하나의 JEUS(JEUS_HOME)가 필요하고, 하나의 JEUS(JEUS_HOME)에는 한 개 이상
의 도메인이 존재할 수 있다. 또한 하나의 도메인은 한 개의 JEUS(JEUS_HOME) 내에 구성될 수도 있고,
여러 개의 머신 즉, 여러 개의 JEUS(JEUS_HOME)에 걸쳐 구성될 수도 있다.

참고

한 개의 머신에는 일반적으로 한 개의 JEUS를 설치하기 때문에 JEUS_HOME도 한 개이다. 그러나


하나의 머신에 여러 개의 JEUS를 설치하여 여러 개의 JEUS_HOME이 존재하는 것도 가능하다.

예를 들어 인사 관리 업무 도메인과 주문 관리 도메인을 각 업무의 특성에 따라 머신 3대에 구성할 수 있


다. 인사 관리 업무의 경우에는 하나의 머신에서만 서비스하도록 Machine1에 Domain1를 구성하고, 주문
관리 업무의 경우에는 고객의 주문이 장비 결함 등으로 인해 중단되는 경우를 방지하기 위해 3대의 머신
에 걸쳐 Domain2을 구성할 수 있다.

제1장 소개 1
다음은 JEUS 도메인의 관계를 나타낸 그림이다.

[그림 1.1] JEUS와 도메인의 관계

클라우드 환경에서 JEUS와 도메인 관계


클라우드 환경에서는 JEUS와 도메인의 관계는 다음 그림과 같다. 클라우드 환경에서는 컨테이너의
JEUS_HOME에 하나의 도메인이 유일하게 존재해야 한다.

[그림 1.2] 클라우드 환경에서의 JEUS와 도메인의 관계

1.3. 구성요소
도메인은 Domain Administration Server(DAS), Managed Server(MS), Cluster로 구성되어 있다.

● Domain Administration Server(DAS)

도메인 내에는 Domain Administration Server(이하 DAS)라는 특별한 하나의 서버가 항상 존재한다.
DAS는 도메인 내 서버들 간의 설정과 도메인 내의 모든 애플리케이션 및 리소스를 중앙에서 관리하고,
서버들을 제어 및 모니터링하는 관리 툴(WebAdmin, jeusadmin)과 통신한다.

또한 SSH를 통해 다른 머신에 JEUS를 설치할 수 있고, 그 머신들의 서버를 시작하거나 종료할 수 있다.

● Managed Server(MS)

2 JEUS Domain 안내서


실제 서비스를 담당하는 Managed Server(이하 MS)가 도메인 내에는 1개 이상 존재한다. 같은 서비스
를 하는 여러 MS를 하나의 클러스터로 구성하거나 서비스별 단독 MS로 도메인을 구성할 수 있다.

● Cluster

도메인 내에는 0개 이상의 클러스터들과 1개 이상의 클러스터에 포함되지 않는 서버들이 존재한다.

클러스터는 확장성과 안정성을 위해 동일한 서비스를 수행하는 서버들의 집합을 의미한다. 서버가 클
러스터의 일원이 되면 같은 애플리케이션이 deploy되고 같은 리소스를 사용하게 된다. 클러스터에 대
한 자세한 내용은 “제5장 JEUS 클러스터링”을 참고한다.

[그림 1.3] 도메인의 구성 요소

Machine1에는 DAS가 위치한다. DAS는 WebAdmin 및 jeusadmin과 통신하여 사용자의 명령을 받아 처리


한다. 또한 SSH를 통해 Machine2와 Machine3에 JEUS를 설치할 수 있고, 그 머신 내의 서버를 시작 및
종료할 수 있다.

Machine2와 Machine3에는 각각 MS가 2개씩 존재한다. Managed Server2와 Managed Server4는 Cluster1
이라는 하나의 클러스터를 구성하여 애플리케이션과 리소스를 공유하고 같은 서비스를 수행한다. Cluster1
에 포함되지 않는 단독 서버인 Managed Server1과 Managed Server3은 각각 애플리케이션과 리소스를
갖는다.

참고

가장 작은 도메인은 하나의 서버로 구성된 도메인으로 하나의 서버가 DAS와 MS 역할을 하게 된다.
이는 개발 단계에서의 가벼운 테스트를 위한 도메인으로만 사용하고, 운영 환경에서는 관리와 서비
스를 분리하여 DAS는 MS를 관리하는 목적으로만 사용하기를 권장한다.

클라우드 환경에서 도메인 구성


클라우드 환경에서 도메인은 클라우드 서버(Cloud Server) 하나로 구성된다. 클라우드 환경에서는 DAS-
MS 서버 구조가 아닌 한 도메인에 하나의 클라우드 서버가 동작한다.

제1장 소개 3
클라우드 서버는 DAS의 기능을 대부분 포함하지만 다른 서버를 제어하지는 않는다. 클라우드 서버 운영
모드의 자세한 내용은 “JEUS Server 안내서”의 “1.1. 서버 운영모드”를 참고한다.

[그림 1.4] 클라우드 환경에서의 도메인의 구성 요소

1.3.1. Domain Administration Server(DAS)


DAS는 모든 도메인에 반드시 하나씩 존재해야 하는 서버로 MS들을 중앙에서 관리 및 모니터링한다.

다음은 DAS의 주요 기능이다.

● 도메인 전체의 설정을 관리한다.

– 도메인 내의 모든 MS가 다른 머신에 존재하더라도 동일한 설정으로 구동할 수 있다.

DAS가 먼저 구동되어야 MS가 DAS로부터 설정을 받아 구동될 수 있다. MS가 구동될 때 DAS의 부
재로 동기화되지 않은 설정은 DAS가 구동될 때 동기화된다.

– 변경된 설정 사항은 도메인 내의 모든 MS에 반영된다.

DAS는 변경된 설정을 검증하여 다른 서버들로 분배하여 도메인 내의 설정을 동기화한다. 그렇기 때
문에 설정 변경은 반드시 DAS를 통해서 진행되어야 하고, DAS가 운영 중일 때만 가능하다.

DAS의 설정 관리에 대한 자세한 설명은 “제3장 도메인 설정변경”을 참고한다.

● 도메인 전체의 애플리케이션을 관리한다.

– 도메인 내의 모든 애플리케이션의 상태를 관리한다.

DAS에서는 도메인에 존재하는 모든 애플리케이션의 상태를 관리하고, 도메인에서 애플리케이션의


상태가 하나의 상태로 유지될 수 있도록 한다. MS의 애플리케이션 상태가 DAS에서 관리하고 있는
애플리케이션의 상태와 동일하게 유지될 수 있도록 한다.

– 도메인 내의 모든 애플리케이션의 파일을 관리한다.

DAS에서는 MS가 구동될 때와 MS에서 애플리케이션이 deploy되는 시점에 파일을 동기화한다. MS


가 구동될 때 DAS의 부재로 애플리케이션 파일을 동기화하지 못했다면 DAS가 구동될 때 MS에서
deploy에 실패한 애플리케이션에 대해 다시 동기화한다.

– 도메인에 속한 서버나 클러스터에 애플리케이션을 deploy하는 작업을 관리한다.

4 JEUS Domain 안내서


도메인에서 애플리케이션을 서비스하기 위해서는 Install Application 명령어를 통해 서비스할 애플리
케이션을 DAS에 설치하거나, DAS에서 알 수 있는 애플리케이션 저장소(repoeitory)에 위치해야 한
다.

MS에서 애플리케이션을 서비스하기 위해서는 DAS에 서비스 대상을 주고 애플리케이션 deploy 명


령어를 실행해야 한다. deploy 명령어뿐만 아니라 애플리케이션 조회나 제어에 관련된 모든 명령어
는 DAS를 통해서 수행한다. 만약 DAS가 종료된 상태라면 도메인에서 서비스되는 애플리케이션에
대해 어떤 명령어도 수행할 수 없다.

MS가 클러스터에 속해 있다면 클러스터 타켓(Cluster Target)으로만 deploy될 수 있다. DAS에서는


클러스터에 서버가 추가된 경우 해당 서버에서도 이 애플리케이션을 서비스될 수 있도록 deploy의
성공을 보장한다.

DAS에서의 애플리케이션 관리에 대한 자세한 설명은 “JEUS Applications & Deployment 안내서”의 “1.1.
애플리케이션 관리”를 참고한다.

● 도메인 전체를 모니터링 및 제어할 수 있다.

WebAdmin과 jeusadmin을 통해 도메인 내의 모든 서버, 서비스, 애플리케이션 및 리소스를 한 번에 모


니터링 및 제어할 수 있다.

1.3.2. Managed Server(MS)


MS에는 필요한 리소스가 위치하고, 애플리케이션들이 deploy된다.

MS는 DAS에 의해 다음과 같이 동작한다.

● 설정 및 애플리케이션 동기화

도메인의 전체 설정과 애플리케이션은 DAS가 관리하기 때문에 DAS로 연결하여 설정 정보와 해당 MS


에 deploy되어야 할 애플리케이션을 전달받는다. 이때 성능을 위하여 DAS로 받아온 설정 정보와 애플
리케이션은 read-only 상태로 로컬에 cache된다. DAS와 연결된 시점에 로컬의 Cache와 일치하지 않는
파일만을 받아와 Cache를 업데이트하여 DAS와 동기화한다. 즉, MS에 존재하는 설정이나 애플리케이
션을 변경해도 반영되지 않고, DAS를 통해 변경되어야 모든 서버에 반영된다.

– 설정의 동기화

설정의 동기화는 MS가 구동될 때 MS가 DAS와 연결이 끊어졌다가 재연결된 경우 사용자가 툴을 통
해서 명시적으로 도메인 설정을 변경했을 때 일어난다.

– 애플리케이션의 동기화

애플리케이션의 동기화는 파일뿐 아니라 애플리케이션의 상태도 함께 전달되기 때문에 DAS의 애플


리케이션 상태가 MS에서도 유지된다. 애플리케이션의 동기화는 MS가 구동될 때 DAS와 연결이 끊
어졌다가 재연결된 경우 일어난다. 애플리케이션 동기화와 관련된 자세한 내용은 “JEUS Applications
& Deployment 안내서”의 “1.2.3. 애플리케이션 동기화”를 참고한다.

● 클러스터 구성

제1장 소개 5
부하 분산과 장애 극복을 위해 여러 MS를 묶어 하나의 클러스터를 구성할 수 있다. 클러스터 내의 모든
서버에 같은 리소스와 애플리케이션이 위치하는 것을 권장한다. 클러스터에 대한 자세한 내용은 “제5
장 JEUS 클러스터링”을 참고한다.

1.3.3. Cloud Server


클라우드 서버(Cloud Server)는 클라우드 환경에서 사용하는 서버이다. 한 컨테이너에 하나의 도메인이
존재하고, 하나의 도메인에는 하나의 서버인 클라우드 서버가 존재한다. 클라우드 서버에 대한 자세한 내
용은 “JEUS Server 안내서”의 “1.1. 서버 운영모드”를 참고한다.

클라우드 서버는 하나의 서버로 모든 동작을 보장해주기 때문에 DAS와 MS의 기능을 포함하고 있다.

● 도메인 설정 및 애플리케이션을 관리

도메인에 클라우드 서버가 하나만 존재하기 때문에 서버 하나에 대한 설정과 애플리케이션을 관리하고
동기화는 하지 않는다.

● 클러스터 구성

클라우드 서버 운영모드에서는 서버 클러스터링 기능을 지원하지 않는다. 특정 클라우드 서버간 그룹


핑하는 경우는 세션 클러스터링은 지원한다. 클라우드 서버 그룹핑을 설정하는 자세한 방법은 “JEUS
설치 및 시작하기”의 “Appendix E. Cloud 환경설정”을 참고한다.

1.4. 운영모드와 개발모드


도메인을 운영하는 방법은 다음 중 한 가지로 설정할 수 있다. 모드 설정은 WebAdmin이나 jeusadmin을
통해 설정변경이 지원되지 않는다. 따라서 도메인 설정 파일(domain.xm)을 직접 수정해야 한다.

● 운영모드(Production mode)

실제 운영환경에 적합한 모드로, 웹 애플리케이션의 auto-reload나 hot-swap과 같은 기능은 제공하지


않는다. domain.xml의 production-mode 항목을 true로 설정한다.

● 개발모드(Development mode)

domain.xml의 production-mode 항목을 false로 설정하면 개발모드로 동작한다.

참고

1. 애플리케이션 변경이 빈번하게 일어날 수 있는 개발단계에서는 개발모드로, 실 운영계에서는 운


영모드로 설정해서 사용할 것을 권장한다.

2. 설정을 변경하고 난 뒤에는 도메인에 운영 중인 서버를 모두 내리고 재기동해 주어야 한다.

6 JEUS Domain 안내서


1.5. 도메인 구성 제약 사항
도메인을 구성할 때 다음과 같은 제약 사항이 존재한다.

● 하나의 도메인에 반드시 하나의 DAS가 존재해야 한다.

하나의 WebAdmin 및 jeusadmin은 자신이 연결한 DAS를 포함한 도메인 영역으로 한정된다. 다른 도메
인을 관리하기 위해서는 다른 URL로 WebAdmin 및 jeusadmin에 접속해야 한다.

● 도메인 사이에는 설정 정보와 리소스를 공유할 수 없다.

● 도메인 내의 모든 서버는 같은 버전을 사용해야 한다.

● 도메인 내의 모든 서버와 클러스터의 이름은 각각 유일해야 한다.

● 설치한 하나의 JEUS 내에 모든 도메인 이름은 유일해야 한다.

● 클라우드 환경에서는 각 컨테이너에 도메인이 유일해야 한다.

제1장 소개 7
제2장 도메인 생성

본 장에서는 도메인을 생성할 때 필요한 조건과 JEUS가 제공하는 툴(WebAdmin, jeusadmin)을 사용하여
도메인 생성 방법, 도메인 생성 후 디렉터리 구조에 대해 설명한다.

2.1. 도메인 생성
도메인을 생성하면 도메인 디렉터리가 생성되고 그 안에 도메인에 속한 서버들을 시작하고 종료할 수 있
는 스크립트와 기본적인 설정 파일들이 생성된다. 각 도메인의 최상위 디렉터리는 DOMAIN_HOME이라
고 하고, 다음의 경로에 위치한다.

JEUS_HOME/domains/<domain_name>

도메인을 처음 생성하면 DAS만 포함된 도메인이 생성되고 WebAdmin이나 jeusadmin을 사용해 MS를 추
가하여 원하는 도메인을 구성한다. 추가한 MS를 원하는 머신에서 시작하면 해당 머신에 필요한 도메인
정보가 DAS를 통해 전달된다. 즉, DAS는 도메인 생성을 통해 도메인 디렉터리를 생성하고, MS는 처음
시작할 때 DAS를 통해 도메인 디렉터리를 생성한다.

Ant Task나 jeusadmin을 통해 도메인을 생성할 수 있다. 이때 다음의 2가지 조건이 필요하다.

● 도메인 구성에 필요한 네크워크 설정

JEUS는 기본적으로 도메인 내의 서버들 사이에 Multicast로 서로의 상태를 공유하게 되므로 IP 주소와
Port가 필요하다. 도메인 구성이 서브넷을 벗어나서 Multicast로 정보를 공유할 수 없는 경우에는 TCP
로 Multicast를 대체한다. 이를 JEUS에서는 Virtual Multicast라고 하며, 도메인을 생성할 때 Virtual Mul
ticast를 사용하겠다는 것을 명시해 줄 수 있다.

이때에는 서버의 기본 Listen IP 주소, Port 번호를 이용하여 서버들 사이에 정보를 공유하게 된다. 따라
서 서브넷을 벗어난 도메인 구성에서는 반드시 모든 서버가 Listen IP 주소, Port 번호를 명시해야 한다.
또한 Multicast를 사용하지 못한다는 것도 명시해야 한다.

● DAS의 기본 설정

하나의 도메인에는 하나의 DAS가 반드시 포함되기 때문에 도메인을 생성할 때 DAS의 기본 설정을 명
시해야 한다. 동적 변경이 가능한 서버 설정들은 도메인 생성 후 변경하면 되지만, 그렇지 않는 설정들
은 도메인 생성할 때 설정해야 한다. DAS의 기본 Listen IP 주소와 Port 번호 그외 DAS를 띄울 JVM의
정보를 설정한다.

2.1.1. 기본 도메인 생성
본 절에서는 기본 도메인을 생성하는 방법에 대해 설명한다. 기본 도메인을 생성할 때에는 Virtual Multicast
가 동작하지 않음에 유의한다.

제2장 도메인 생성 9
Ant Task와 jeusadmin 명령에 사용할 속성들은 공통적으로 다음과 같은 기본값을 갖는다.

속성 기본값

DAS 이름 adminServer

Listen IP 주소 0.0.0.0 / 0:0:0:0:0:0:0:0

Listen Port 번호 9736

사용자 이름 administrator

Multicast IP 주소 230.30.1.1 / FF01:0:0:0:0:0:0:1

Multicast Port 번호 3030

● Ant Task를 사용한 도메인 생성

Ant Task에서 설정의 기본값은 JEUS_HOME/setup/domain-config-template.properties에 정의되어 있


다. 기본값은 사용자가 별도로 설정하지 않아도 자동으로 값이 설정되지만 아래의 생성 예제에서는 설
정 방법 확인을 위해 표시한다.

JEUS_HOME/setup$ ant create-domain -Ddomain=jeus_domain


-Dservername=adminServer
-Djeus.address=0.0.0.0
-Djeus.port=9736
-Dheartbeataddress=230.30.1.1
-Dheartbeatport=3030

● jeusadmin을 사용한 도메인 생성

jeusadmin에서 설정 기본값은 JEUS_HOME/setup/domain-config-template.properties에 정의되어 있


다. domain-config-template.properties에 jeus.password 설정이 있다면 설정을 따르고 없다면 아래 예
제와 같이 password를 입력 받는다.

offline>create-domain -domain jeus_domain -das adminServer -ha 230.30.1.1 -hp 3030


Enter the password for [administrator]: **********
Confirm the password: **********
Do you want to encrypt the password? (y/n): y
================================================================================
The domain [jeus_domain] was created successfully.
+-------------------------+----------------------------------------------------+
| Property | Value |
+-------------------------+----------------------------------------------------+
| Domain name | jeus_domain |
| Das Name | adminServer |
| Das Base Listen Port | 9736 |
| Das Base Listen Address | 0.0.0.0 |
| JMS Internal Port | 9741 |
| HTTP Port | 8088 |

10 JEUS Domain 안내서


| User Name | administrator |
| Node Name | node1 |
| Password | {AES:256}FsbsQ7EqS5BWr/JVk39X41281IXWU0jLCUTJIq8= |
| JVM Option | -Xmx256m -XX:MaxPermSize=128m |
| Production Mode | true |
| Heart beat address | 230.30.1.1 |
| Heart beat port | 3030 |
+-------------------------+----------------------------------------------------+
================================================================================

2.1.2. Virtual Multicast를 사용하는 도메인 생성


본 절에서는 IP Multicast를 사용할 수 있는 환경인지 테스트하는 방법, 그리고 IP Multicast를 사용할 수 없
는 환경이나 도메인이 서브넷을 넘어서는 범위에 걸쳐서 구성되어있을 경우에 Virtual Multicast를 사용하
는 도메인의 생성 방법에 대해 설명한다.

IP Multicast를 사용할 수 있는 환경인지 테스트하기 위해서는 mcastSender와 mcastReceiver라는 두 개


의 테스트 스크립트를 실행하면 된다. 두 개의 스크립트는 JEUS_HOME/bin에 위치하고 있으며 다음과
같이 각각 다른 머신에서 실행하면 된다.

JEUS_HOME/bin$ mcastReceiver -addr 224.0.0.1 -port 3030


Socket == 0.0.0.0/0.0.0.0 : 3030, bound to /fe80:0:0:0:2a37:37ff:fe1e:fc4%5
Socket == 0.0.0.0/0.0.0.0 : 3030, bound to /192.168.0.26
Socket == 0.0.0.0/0.0.0.0 : 3030, bound to /fe80:0:0:0:3e07:54ff:fe6f:95e%4
Socket == 0.0.0.0/0.0.0.0 : 3030, bound to /61.77.153.207
Socket == 0.0.0.0/0.0.0.0 : 3030, bound to /fe80:0:0:0:0:0:0:1%1
Socket == 0.0.0.0/0.0.0.0 : 3030, bound to /0:0:0:0:0:0:0:1
Socket == 0.0.0.0/0.0.0.0 : 3030, bound to /127.0.0.1

JEUS_HOME/bin$ mcastSender -addr 224.0.0.1 -port 3030


1 == 0.0.0.0/0.0.0.0 : 3030, bound to /fe80:0:0:0:2a37:37ff:fe1e:fc4%5
2 == 0.0.0.0/0.0.0.0 : 3030, bound to /192.168.0.26
3 == 0.0.0.0/0.0.0.0 : 3030, bound to /fe80:0:0:0:3e07:54ff:fe6f:95e%4
4 == 0.0.0.0/0.0.0.0 : 3030, bound to /61.77.153.207
5 == 0.0.0.0/0.0.0.0 : 3030, bound to /fe80:0:0:0:0:0:0:1%1
6 == 0.0.0.0/0.0.0.0 : 3030, bound to /0:0:0:0:0:0:0:1
7 == 0.0.0.0/0.0.0.0 : 3030, bound to /127.0.0.1

이 테스트는 머신의 모든 네트워크 인터페이스를 통해서 IP Multicast 패킷을 송수신하려고 시도한다. 최


초에 나오는 주소들은 모든 네트워크 인터페이스를 나타내는 것이다.

이어서 Sender쪽에 나타난 프롬프트에 임의의 메시지를 입력하면 Receiver쪽에 수신된다. 만일 수신이
되지 않는다면 IP Multicast가 제대로 동작하지 않는 환경이기 때문에 아래에 나오는 Virtual Multicast를
설정해야 한다. 위의 mcastSender에서 메시지 테스트의 실행 예는 다음과 같다.

제2장 도메인 생성 11
> test
>

test [sender = 192.168.0.26 : 5555], [bind_addr=/127.0.0.1]


test [sender = 192.168.0.26 : 5555], [bind_addr=/61.77.153.207]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:3e07:54ff:fe6f:95e%4]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:3e07:54ff:fe6f:95e%4]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:2a37:37ff:fe1e:fc4%5]
test [sender = 192.168.0.26 : 5555], [bind_addr=/61.77.153.207]
test [sender = 192.168.0.26 : 5555], [bind_addr=/192.168.0.26]
test [sender = 192.168.0.26 : 5555], [bind_addr=/192.168.0.26]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:3e07:54ff:fe6f:95e%4]
test [sender = 192.168.0.26 : 5555], [bind_addr=/61.77.153.207]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:2a37:37ff:fe1e:fc4%5]
test [sender = 192.168.0.26 : 5555], [bind_addr=/61.77.153.207]
test [sender = 192.168.0.26 : 5555], [bind_addr=/61.77.153.207]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:2a37:37ff:fe1e:fc4%5]
test [sender = 192.168.0.26 : 5555], [bind_addr=/61.77.153.207]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:3e07:54ff:fe6f:95e%4]
test [sender = 192.168.0.26 : 5555], [bind_addr=/192.168.0.26]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:3e07:54ff:fe6f:95e%4]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:3e07:54ff:fe6f:95e%4]
test [sender = 192.168.0.26 : 5555], [bind_addr=/192.168.0.26]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:3e07:54ff:fe6f:95e%4]
test [sender = 192.168.0.26 : 5555], [bind_addr=/192.168.0.26]
test [sender = 192.168.0.26 : 5555], [bind_addr=/61.77.153.207]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:2a37:37ff:fe1e:fc4%5]
test [sender = 192.168.0.26 : 5555], [bind_addr=/192.168.0.26]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:2a37:37ff:fe1e:fc4%5]
test [sender = 192.168.0.26 : 5555], [bind_addr=/192.168.0.26]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:2a37:37ff:fe1e:fc4%5]
test [sender = 192.168.0.26 : 5555], [bind_addr=/fe80:0:0:0:2a37:37ff:fe1e:fc4%5]

하나의 메시지가 다수의 네트워크 인터페이스를 통해서 송신되고, 또한 다수의 네트워크 인터페이스를
통해서 수신되기 때문에 하나 이상의 메시지가 수신될 수 있다. Sender쪽의 프롬프트에 quit 또는 exit를
입력하면 종료되며, Receiver는 <Ctrl> + C를 이용하여 종료해야 한다.

각각의 도움말을 보려면 인자로 -help를 입력하거나 인자를 주지않으면 된다.

다음은 Virtual Multicast를 설정하는 방법이다. 속성의 기본값은 “2.1.1. 기본 도메인 생성”과 동일하고,
Virtual Multicast를 사용하기 때문에 이 경우에는 Multicast IP 주소(Heart beat address)와 Multicast
Port(Heart beat port) 설정은 무시된다.

● Ant Task를 사용한 도메인 생성

JEUS_HOME/setup$ ant create-domain


-Ddomain=jeus_domain

12 JEUS Domain 안내서


-Djeus.address=192.168.34.1
-Dusevirtualmulticast=true

● jeusadmin을 사용한 도메인 생성

offline>create-domain -domain jeus_domain -baseaddress 192.168.34.1 -uvm


Enter the password for [administrator]: **********
Confirm the password: **********
Do you want to encrypt the password? (y/n): y
================================================================================
The domain [jeus_domain] was created successfully.
+-------------------------+----------------------------------------------------+
| Property | Value |
+-------------------------+----------------------------------------------------+
| Domain name | jeus_domain |
| Das Name | adminServer |
| Das Base Listen Port | 9736 |
| Das Base Listen Address | 192.168.34.1 |
| JMS Internal Port | 9741 |
| HTTP Port | 8088 |
| User Name | administrator |
| Node Name | node1 |
| Password | {AES:256}r2qfvDR/5DvZHmuPBEjbXCvKyR+F2dJ8tFaA/+k= |
| JVM Option | -Xmx256m -XX:MaxPermSize=128m |
| Production Mode | true |
| Use virtual multicast | true |
+-------------------------+----------------------------------------------------+
================================================================================

2.2. 도메인 구성
본 절에서는 “2.1. 도메인 생성”에서 생성한 도메인에 서버와 클러스터를 추가하여 도메인을 구성하는 방
법에 대해 설명한다.

서버와 클러스터를 추가하는 것 또한 설정을 변경하는 것이기 때문에 추가하기 전에 다음과 같이 DAS를
구동한다. 설정 변경에 대한 자세한 내용은 “제3장 도메인 설정변경”을 참고한다.

DOMAIN_HOME/bin$ startDomainAdminServer -u administrator -p 1111111

2.2.1. WebAdmin 사용
WebAdmin을 사용하여 서버와 클러스터를 추가할 때 다음과 같은 순서로 추가 및 설정한다.

1. 노드 추가

제2장 도메인 생성 13
2. 설정변경 모드로 전환

3. Managed Server(MS) 추가

4. 클러스터 추가

노드 추가
노드는 특정 머신에 설치된 JEUS를 의미한다. 노드에서 DAS를 통해 서버를 시작하려면 해당 노드의 정
보를 구성하는 작업이 필요하다. 사용하는 OS가 UNIX 계열인 경우 SSH를 사용하는 SSH 노드가 지원된
다. 해당 머신의 호스트 주소, JEUS 설치 디렉터리, SSH 접속을 위한 사용자 이름, SSH 접속을 위한 개인
Key 파일 경로, SSH 접속 포트 번호 등을 지정할 수 있다. JEUS를 설치할 때 기본적으로 하나의 노드가
생성되며 설정을 변경해서 사용할 수 있다. 노드 관리에 대한 자세한 설명은 "JEUS Node Manager 안내
서"를 참고한다.

다음은 새로운 노드를 추가하는 과정에 대한 설명이다.

1. WebAdmin 화면 오른쪽의 메뉴에서 [Node 설정]을 선택한 후 Nodes 목록 화면에서 [ADD] 버튼을 클
릭한다.

[그림 2.1] 노드 추가 - 노드 설정 메뉴 선택

2. SSH Node 설정 화면에서 서버가 위치할 노드의 각 정보를 입력하고 [확인] 버튼을 클릭하면, 노드가
추가된다. 노드가 추가되면 결과 화면에서 노드의 이름, 종류, 제어 가능 여부, 설치된 JEUS 버전 등을
확인할 수 있다.

14 JEUS Domain 안내서


설정변경 모드로 전환
노드의 추가와는 달리 서버, 클러스터를 추가 및 변경하려면 WebAdmin 화면의 왼쪽에서 [LOCK & EDIT]
버튼을 클릭해서 설정변경 모드를 전환해야 한다.

[그림 2.2] 설정변경 모드 전환

참고

WebAdmin의 설정변경 모드에 대한 자세한 설명은 “JEUS WebAdmin 안내서”의 “2.3.2. 메뉴 영역”
을 참고한다(노드의 설정 변경은 도메인 간에도 영향을 주지만 서버, 클러스터의 변경은 도메인 내에
서만 영향을 주기 때문에 다른 Lock 메커니즘을 사용한다).

Managed Server(MS) 추가
MS를 추가할 때에는 동적으로 변경하지 못하는 설정들을 신중히 고려하여 입력해야 한다.

“2.1. 도메인 생성”에서 설명한 도메인을 생성할 때 DAS의 기본 설정과 마찬가지로 MS를 추가할 때의 기
본 설정은 동적 반영이 안 되는 설정이다. 같은 머신에 있는 다른 서버들과 충돌되지 않는 Port 번호를 선
정해야 하고, 외부에서 이 서버로 접속할 IP 주소와 서버의 JVM에게 전달할 옵션을 설정해야 한다. 서브
넷을 벗어난 도메인의 경우라면 기본값 '0:0:0:0'을 사용하지 않고 하나의 IP 주소를 지정한다. 도메인 내
에서 서버 이름은 유일한 값이어야 하므로 등록된 서버 이름을 확인한 후 충돌이 발생하지 않게 설정해야
한다. 본 예제에서 생성할 서버는 같은 클러스터를 구성할 서버들이므로 클러스터 내에서 동일해야 하는
설정들은 각 서버에서 별도로 설정하지 않아도 된다.

다음은 WebAdmin에서 MS를 추가하는 방법에 대한 설명이다.

제2장 도메인 생성 15
1. WebAdmin의 왼쪽 메뉴에서 [Servers]를 선택하면 서버 목록 조회 화면으로 이동한다.

2. [LOCK & EDIT] 버튼을 클릭해서 설정변경 모드로 전환한다.

3. Servers 화면([그림 2.2])에서 [ADD] 버튼을 클릭한 후 [Basic] > [Basic Info] 메뉴로 이동한다. Server
화면에서 추가할 서버의 정보를 입력한 후 [확인] 버튼을 클릭한다.

다음은 Server 설정 화면의 고급선택사항이다.

[그림 2.3] Server 설정 화면 - 고급선택사항

'Data Sources'에 "Cluster에 포함될 서버라면 해당 항목은 Cluster에 설정해야 합니다. Cluster 설정이
우선됩니다."라는 문구가 표시된다. 이 항목들은 클러스터 내에서 동일하게 설정되어야 한다. 따라서
클러스터에 포함하기 위해 서버를 생성하는 경우 서버의 항목을 설정하지 않고 서버가 포함될 클러스
터의 동일한 항목을 설정한다.

이미 클러스터에 포함된 서버의 설정 정보를 수정하는 경우에는 클러스터 내에서 동일하게 설정되어야
하는 항목은 "Cluster[cluster1]에 속해 있습니다. 해당 설정은 Cluster의 설정이 적용됩니다."라는 문구
가 표시된다.

4. 리스너를 추가하려면 [Resource] > [Listener] 메뉴로 이동한다. Listeners 화면의 Listener 영역에 있
는 [ADD] 버튼을 클릭한다.

5. Listener 화면에서 추가할 기본 리스너의 각 정보를 원하는 대로 입력하고 [확인] 버튼을 클릭한다.

6. MS가 추가되면 서버의 기본 리스너를 선택하는 'Base' 항목을 5번에서 추가한 리스너의 name으로 지
정하고 [확인] 버튼을 클릭한다.

16 JEUS Domain 안내서


7. 변경 내용의 반영을 위해 [Activate Changes] 버튼을 클릭한다.

8. 서버 생성이 완료되면 서버 목록에서 확인할 수 있다.

클러스터 추가
클러스터를 추가할 때에는 클러스터 내의 모든 서버가 같은 서비스를 하기 위한 설정과 클러스터의 기능
인 부하 분산(Load Balance)과 장애 극복(Failover)을 위한 설정을 해야한다. 클러스터 설정에 대한 자세
한 설명은 “5.5. 클러스터 설정”을 참고한다.

다음은 WebAdmin에서 클러스터를 추가하는 과정에 대한 설명이다.

1. WebAdmin의 왼쪽 메뉴에서 [Clusters]를 선택하면 클러스터 목록 조회 화면으로 이동한다.

2. [LOCK & EDIT] 버튼을 클릭해서 설정변경 모드로 전환한다.

3. Clusters 화면에서 [ADD] 버튼을 클릭한 후 [Basic] 탭을 선택해서 클러스터의 세부 설정을 한다. 클러
스터 설정에 대한 자세한 설명은 “5.5. 클러스터 설정”을 참고한다.

클러스터에 추가할 수 있는 서버는 일반 서버와 다이나믹 서버가 있다. 클러스터당 한 가지 방법만 사


용 가능하다.

– 새 클러스터에 직접 서버에 포함될 서버들을 지정하여 생성하는 방법

이미 생성된 서버들을 클러스터에 포함시키게 되며, 서버별 설정이 가능하고 클러스터에 서버를 자
유로이 추가 제거할 수 있다. Cluster 화면에서 'Servers' 항목에 있는 여러 서버들 중에서 클러스터
로 묶기를 원하는 서버들을 선택한 후 [확인] 버튼을 클릭한다.

– 클러스터에 포함될 서버들을 미리 저장해 둔 서버 템플릿을 통하여 생성하는 방법

지정된 갯수의 서버들을 서버 템플릿에 저장된 설정을 이용하여 일괄적으로 생성하도록 한다. 개별
서버의 설정 변경은 불가능하고, 템플릿이나 클러스터 설정을 변경하는 것으로 전체적인 설정만이
가능하다. Cluster 화면에서 'Dynamic Servers' 항목을 클릭하면 동적으로 생성할 서버들의 설정을
할 수 있다. 'Server Count'를 설정하여 몇 개의 서버를 생성할지 지정할 수 있고, 이 서버들의 설정
정보는 'Server Template Name' 항목에서 지정할 수 있다. 이후 각 서버들이 위치할 노드들을 아래
의 'Node Names' 에서 설정하고 [확인] 버튼을 클릭한다. 어떤 노드도 설정하지 않은경우에는 모든
노드들을 대상으로 한다.

4. 클러스터의 추가가 완료되면 추가되었다는 메시지가 출력된다.

5. 변경 내용의 반영을 위해 [Activate Changes] 버튼을 클릭하면 변경 내용이 반영되었다는 결과 메시


지가 화면에 표시된다.

6. WebAdmin 왼쪽 메뉴에서 [Clusters]를 선택하면 클러스터 조회 목록 화면으로 이동한다. 추가한 서버


들을 시작하려면 조회된 클러스터 목록에서 원하는 클러스터의 [start] 버튼을 클릭한다.

제2장 도메인 생성 17
2.2.2. 콘솔 툴 사용
JEUS의 콘솔 툴(jeusadmin)을 사용하여 도메인을 구성하는 방법은 WebAdmin을 사용할 경우와 동일하
지만 "설정변경 모드로 전환" 과정이 필요없다.

jeusadmin을 사용한 도메인 구성 방법은 다음과 같다.

1. add-ssh-node 명령어를 사용하여 'node1'이라는 이름의 서버가 위치할 노드를 추가한다. 동일한 방법
으로 'node2'도 추가한다. add-ssh-node 명령어에 대한 자세한 사용법은 “JEUS Reference Book”
의 “4.2.15.2. add-ssh-node”를 참고한다.

[DAS]domain1.adminServer>add-ssh-node node1 -host 192.168.34.1 -dir


/home/sshUser/jeus -user sshUser
The node [node1] was successfully added.

2. add-server 명령어를 사용하여 'server1'이라는 이름의 MS를 추가한다. 동일한 방법으로 'server2'도
추가한다. add-server 명령어에 대한 자세한 사용법은 “JEUS Reference Book”의 “4.2.4.7. add-server”
를 참고한다.

[DAS]domain1.adminServer>add-server server1 -node node1 -addr 192.168.34.1 -port 9836


Successfully performed the ADD operation for server (server1).
Check the results using "list-servers or add-server"

3. add-cluster 명령어를 사용하여 'cluster1'이라는 이름의 'server1'과 'server2'로 구성된 클러스터를 추


가한다. add-cluster 명령어에 대한 자세한 사용법은 “JEUS Reference Book”의 “4.2.4.1. add-cluster”
를 참고한다.

[DAS]domain1.adminServer> add-cluster cluster1 -servers server1,server2


Successfully performed the ADD operation for cluster (cluster1).
Check the results using "list-clusters or add-cluster"

4. 클러스터의 추가까지 완료되면 다음과 같이 serverinfo 명령어를 사용하여 도메인의 구성 결과를 확인


할 수 있다.

[DAS]domain1.adminServer>serverinfo

Information about Domain (domain1)


===============================================================================================
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
| Server | Status | Node| PID | Clus| Latest Start | Need to | Listen Ports| Running |
| | |Name | | ter |Time / Shutdown | Restart | | Engines |
| | | | | | Time | | | |
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
| adminSe| RUNNING | N/A | 5360 | N/A | 2016-08-23 | false | base-192.168| jms, |
|rver(*) |(00:01:11| | | |(화) 오후 | |.34.3:9736 | ejb, web |
| |) | | | |03:53:28 KST | | http-server-| |
| | | | | | | |0.0.0.0:8088 | |
| | | | | | | |jms-internal-| |
| | | | | | | |0.0.0.0:9741 | |
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
| server1| RUNNING |node1| 6424 | clus| 2016-08-23 | false | base-192.168| jms, |

18 JEUS Domain 안내서


| |(00:00:03| | |ter1 |(화) 오후 | |.34.1:9836 | ejb, web |
| |) | | | |03:54:37 KST | | | |
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
| server2| RUNNING |node2| 3012 | clus| 2016-08-23 | false | base-192.168| jms, |
| |(00:00:03| | |ter1 |(화) 오후 | |.34.2:9936 | ejb, web |
| |) | | | |03:54:36 KST | | | |
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
===============================================================================================

2.3. 디렉터리 구성
기본적으로 JEUS를 설치하면 JEUS_HOME 디렉터리와 JEUS_HOME 디렉터리 하위에 jeus_domain이
라는 도메인 디렉터리가 생성된다. 본 절에서는 user home의 path가 /home/user1이고 domain이 domain1
이라고 설치했다고 가정했을 때의 구성에 대해 설명한다.

2.3.1. JEUS_HOME 디렉터리


JEUS를 설치했을 때의 전체 디렉터리 구조는 다음과 같다. JEUS_HOME은 JEUS의 최상위 디렉터리로
실제 디렉터리 이름과 위치는 설치할 때 설정할 수 있다.

/home/jeus/JEUS_HOME

JEUS_HOME의 디렉터리 구조는 다음과 같다.

[그림 2.4] JEUS_HOME 디렉터리 구조

제2장 도메인 생성 19
bin

서버의 시작, 종료 스크립트인 startDomainAdminServer, startManagedServer, stopServer와 JEUS


콘솔 툴(jeusadmin)과 같은 실행 파일들이 위치한다.

derby

샘플 애플리케이션이나 테스트에서 쉽게 사용할 수 있도록 Apache Derby를 포함시킨다.

docs

JEUS에서 제공하는 API에 대한 Javadoc이 존재한다.

domains

하위에 도메인별로 DOMAIN_HOME이 존재하고, JEUS_HOME에서 사용하는 노드 정보가 있는


nodes.xml이 존재한다.

lib

JEUS를 기동하는 데 필요한 라이브러리가 존재한다. shared 디렉터리를 제외한 나머지 디렉터리들
은 사용자가 접근할 필요가 없다.

하위 디렉터리 설명

shared shared 디렉터리에는 애플리케이션에서 사용하는 라이브러리가 존재한다.

shared 디렉터리에 있는 라이브러리를 사용하기 위해서는 libraries.xml에 라이


브러리의 정보를 추가해야 한다. 그리고 해당 라이브러리를 사용할 애플리케이
션의 JEUS Deployment Descriptor(DD)에서 해당 라이브러리에 대한 레퍼런스
정보를 지정해야 한다.

shared 라이브러리에 대한 자세한 설명은 “JEUS Applications & Deployment 안


내서”의 “3.3.2. 공유 라이브러리”를 참고한다.

license

JEUS 라이선스 파일이 위치한다. 라이선스 파일은 JEUS가 실행되기 위해서 반드시 필요한 파일이
다.

nodemanager

Java 타입의 노드 매니저를 사용하기 위한 설정 파일이 위치한다. 노드 매니저에서 남기는 로그 파일


도 이 디렉터리에 저장된다.

setup

JEUS 설치 후 JEUS를 사용할 수 있도록 환경을 구축하기 위해 필요한 파일들이 위치한다.

templates

각종 설정 정보나 환경 정보 등의 template 파일이 위치한다.

20 JEUS Domain 안내서


2.3.2. 도메인 디렉터리
JEUS_HOME/domains/domain1이 domain1의 DOMAIN_HOME 디렉터리가 된다.

도메인 디렉터리의 구조는 다음과 같다.

[그림 2.5] 도메인 디렉터리 구조

.applications

해당 도메인에서 관리하는 애플리케이션 파일이 존재한다. JEUS가 사용하는 디렉터리로 사용자의


접근을 제한한다. install-application이나 uninstall-application 명령어를 통해서만 추가 및 삭제가 가능
하다. 각 명령어에 대한 설명은 “JEUS Reference Book”의 “4.2.6.8. install-application”, “JEUS Reference
Book”의 “4.2.6.20. uninstall-application”을 참고한다.

.deploymentplans

해당 도메인에서 관리하는 Deployment Plan이 존재한다. JEUS가 사용하는 디렉터리로 사용자의 접


근을 제한한다. install-deployment-plan과 uninstall-deployment-plan 명령어를 통해 Deployment Plan
의 추가와 삭제가 가능하다. 각 명령어에 대한 설명은 “JEUS Reference Book”의 “4.2.6.9. install-de
ployment-plan”과 “JEUS Reference Book”의 “4.2.6.21. uninstall-deployment-plan”을 참고한다.

.libraries

해당 도메인에 설치한 라이브러리 파일이 존재한다. JEUS가 사용하는 디렉터리로 사용자의 접근을
제한한다. install-library 와 uninstall-library 명령어를 통해 라이브러리의 추가와 삭제가 가능하다. 각
명령어에 대한 설명은 “JEUS Reference Book”의 “4.2.6.10. install-library”와 “JEUS Reference Book”
의 “4.2.6.22. uninstall-library”를 참고한다.

bin

해당 도메인에 속한 DAS와 MS의 시작 및 종료 스크립트가 위치한다.

JEUS_HOME/bin의 startDomainAdminServer, startManagedServer, stopServer와 동일한 기능을 수


행하나 도메인 이름을 설정할 필요가 없다.

config

도메인의 설정 파일인 domain.xml이 변경된 경우 이전 이력을 위해 존재하는 백업 파일들이 위치한


다. 도메인 설정에 대한 자세한 설명은 “제3장 도메인 설정변경”을 참고한다.

제2장 도메인 생성 21
– security

구분 설명

SYSTEM_DOMAIN 도메인 단위로 적용되는 보안 도메인 파일인 accounts.xml, policies.xml이 존재하


며, 각 XML 파일은 WebAdmin과 jeusadmin을 통해 동적 설정 변경이 가능하다.

보안 도메인 설정에 대한 자세한 설명은 “JEUS Security 안내서”의 “2.2. 보안 도


메인 설정”를 참고한다.

security.key 대칭 Key 암호화 알고리즘에 대한 Key를 저장하는 파일로 JEUS_HOME/bin/en


cryption을 수행하면 생성된다. security.key 파일에 대한 자세한 설명은 “JEUS
Security 안내서”의 “2.5.4. 패스워드 보안 설정”을 참고한다.

policy Java Permission 설정 파일이다. JEUS의 보안 시스템과는 별도로 JavaSE Secu


rity Manager에서 사용된다.

– servlet

구분 설명

webcommon.xml 도메인 내 서버 웹 엔진의 모든 웹 모듈에 적용되는 공통 설정 파일이다.

이 설정에 대한 자세한 설명은 “JEUS Web Engine 안내서”의 “1.5. 디렉터리 구조”
를 참고한다.

lib/application

도메인 전체에 적용할 애플리케이션 라이브러리를 위치시키는 디렉터리다.

SERVER_HOME에 존재하는 애플리케이션 라이브러리와 충돌이 발생할 경우 SERVER_HOME/lib/ap


plication이 우선되고 경고 메시지가 남는다. lib/application 디렉터리에 대한 자세한 설명은 “JEUS
Applications & Deployment 안내서”의 “3.3.1. lib/application 디렉터리”를 참고한다.

servers

디렉터리 하위에 SERVER_HOME 디렉터리가 서버 이름으로 생성된다. SERVER_HOME 디렉터리


구조에 대한 자세한 설명은 “JEUS Server 안내서”의 “1.4. 서버 디렉터리 구조”를 참고한다.

22 JEUS Domain 안내서


제3장 도메인 설정변경

본 장에서는 도메인 설정변경의 과정과 WebAdmin 및 콘솔 툴(jeusadmin)을 사용한 설정변경 방법에 대


해 설명한다.

3.1. 개요
도메인에 대한 설정은 각 도메인의 config 디렉터리(DOMAIN_HOME/config)에 존재한다. 설정 파일인
domain.xml에는 도메인에 속한 서버 및 클러스터에 대한 설정과 리소스 및 서비스에 대한 설정, deploy된
애플리케이션의 정보 등이 포함된다.

동적 설정 반영은 서버 운영 중에 설정을 변경하면 서버를 재부팅하지 않아도 실시간으로 반영이 되는 기


능을 의미한다. 변경된 설정은 DAS가 검증하여 MS로 분배하기 때문에 사용자가 직접 XML을 편집하여
변경한 경우는 동적 반영이 되지 않고, WebAdmin과 jeusadmin을 사용하여 변경한 설정에 대해서만 동적
반영된다. 설정 변경을 위해 Lock을 얻은 상태에서는 MS의 start/stop과 같은 제어 명령어를 수행할 수
없다.

DAS를 통한 동적 설정변경을 위해서는 리소스 이름 jeus.domain.<domain-name>, 리소스 액션 Dynamic


Configuration 권한이 필요하다. 특히, 보안 설정변경의 경우 사용자는 자신의 동적 설정변경 권한을 삭제
할 수 없다. 이는 사용자가 언제나 자신이 설정한 부분을 다시 원래대로 복구할 수 있도록 보장하기 위한
것이다.

참고

JEUS 시스템에서 특정 사용자에 특정 리소스 권한을 부여하는 방법은 “JEUS Security 안내서”의 “2.6.
보안 시스템 정책 설정”을 참고한다.

3.2. 설정변경
서버를 운영하는 데 필요한 설정은 서버가 속한 도메인에 하나의 파일로 관리된다.

하나의 설정 파일은 DAS에서 관리 및 유지되고, 성능을 위해 서버가 존재하는 여러 머신에 분배되어 read-
only 상태로 로컬 Cache에 존재한다. JEUS는 DAS를 통해 동적 설정 반영을 지원한다.

제3장 도메인 설정변경 23


동적 설정변경의 과정은 다음과 같다.

[그림 3.1] 동적 설정변경 과정

1. 여러 사용자가 동시에 설정을 변경할 수 없도록 lock을 수행한다. 사용자는 DAS로 Lock을 요청하고
DAS는 Lock을 요청한 사용자가 설정변경 권한을 가졌는지, 이미 다른 사용자가 설정을 변경 중인지를
판단하여 Lock을 넘겨준다.

2. DAS로부터 Lock을 얻은 사용자는 현재 운영 중인 설정을 변경할 수 있다.

3. 변경한 설정 정보를 DAS로 전달하기 위해 save한다. Saved 상태는 클라이언트의 메모리에만 있던 변


경 정보를 DAS의 메모리 정보로 옮겼다는 것과 일정 부분 변경 사항에 대한 검사가 통과되었다는 의미
이고, 파일로 저장한 상태는 아니다. 따라서 activate 전에 save까지만 수행한 상태에서 DAS가 종료되
면 save했던 변경 사항은 남지 않는다.

클라이언트, 즉 WebAdmin을 수행하는 브라우저를 종료해도 이미 save한 내용은 DAS에 저장되어 다


시 WebAdmin에 접속하여 진행 중이던 설정변경을 계속 할 수 있다. 또한 같은 이름의 사용자가 동시에
변경을 진행하는 경우에는 서로의 변경 사항을 확인할 수 있다. 따라서 동시에 여러 브라우저에서 변경
할 때에는 서로 변경 사항이 손실되지 않도록 적절한 타이밍에 save를 수행해야 한다.

4. 변경한 사항을 서버에 반영하기 위해서 activate를 수행한다. 마지막 save한 변경 사항을 검사하여 각
서버에 반영하고, 파일로 저장한다. 작업을 완료한 후 Lock을 돌려주어 다른 사용자가 Lock을 가져갈
수 있도록 한다.

5. 변경 사항은 반영하지 않으려면 cancel을 수행한다. 그러면 DAS에 저장되었던 변경 사항을 모두 삭제


하고 Lock을 돌려준다.

24 JEUS Domain 안내서


3.3. 설정변경 적용
설정 내용이 변경되면 서버에 적용해야 하는데 설정은 동적 반영이 가능한 설정과 서버의 재시작이 필요
한 설정으로 구분된다.

3.3.1. 동적 반영이 가능한 설정


동적 반영이 가능한 설정은 변경 후 서버의 재시작 없이 즉시 서버에 반영된다.

WebAdmin 사용

WebAdmin을 사용할 경우 동적 변경이 가능한 설정 항목에 아이콘이 표시되어 있다. 아이콘이 표시


되지 않은 설정 항목은 서버를 재시작해야 반영되는 설정이다.

[LOCK & EDIT] 버튼을 클릭(lock 수행)한 후 아이콘이 표시된 항목을 설정 및 수정한다. 수정 후 [확
인] 버튼을 클릭(save 수행)하고, 화면 왼쪽의 [Activate Changes] 버튼을 클릭(activate 수행)하면 변경
사항이 즉시 반영된다.

[그림 3.2] 동적 반영이 가능한 설정

제3장 도메인 설정변경 25


콘솔 툴 사용
콘솔 툴(jeusadmin)에서 동적 변경이 가능한 항목은 명령어 파라미터 설명에 [Dynamic]이 표시되어 있다.

jeusadmin의 각 명령어에서 lock, save, activate가 자동으로 수행되므로 [Dynamic] 항목에 설정값을 입
력하여 해당 명령어를 수행하면 변경 사항이 즉시 반영된다.

[DAS]domain1.adminServer>help modify-server
...
OPTIONS
[-removelogdir,--removeLogHomeDirectory]
remove the log directory which has all the log files created by this
server

[-node,--nodeName <node-name>]
name of the node this server is located

<server-name>
the name of server you want to modify configuration of

[-jvm,--jvmOptions <jvm-options>]
jvm configurations applied to this server jvm

[-logdir,--logHomeDirectory <server-log-home-directory>]

26 JEUS Domain 안내서


the log directory which has all the log files created by this server

[-a,--actionOnResourceLeak <action-on-resource-leak>]
strategy when resource leak is detected. it must be one of
AutoClose, NoAction, Warning

[-l,--logStdoutToRawFormat <print-stdout-to-raw-format>]
[Dynamic] whether stdout is printed in row format or in JEUS Logger
format.

[-m,--mejb <enable-MEJB>]
[Dynamic] whether using MEJB or not .true, false

[-c,--classFtp <enable-class-ftp-service>]
[Dynamic] whether using class ftp service or not .true, false

[-f,--forceLock]
Acquires the configuration lock forcibly.

[-detail]
show detail results

참고

전체 설정에 대한 동적 변경 요소의 자세한 내용은 “JEUS Reference Book”의 “4.2. jeusadmin”을 참


고한다.

3.3.2. 서버의 재시작이 필요한 설정


서버의 재시작이 필요한 설정과 실시간 동적 변경 반영이 가능한 설정이 함께 변경된 경우는 activate 명
령어를 수행하면 후자만 실시간으로 반영된다. 서버의 재시작이 필요한 설정들은 반드시 해당 서버가 재
시작되어야 반영된다. 본 절에서는 WebAdmin과 콘솔 툴에서 변경된 설정 중 반영되지 않은 설정 정보를
확인하는 방법에 대해서 설명한다.

WebAdmin 사용
WebAdmin 왼쪽 메뉴에서 [Servers]를 선택하면 Servers 화면에서 서버 목록 및 상태 정보가 조회된다.
컬럼 중에 'Need To Restart'가 'true'로 출력된 서버는 설정 내용의 반영을 위해 재시작이 필요하다.

콘솔 툴 사용
콘솔 툴(jeusadmin)에서 server-info 명령어를 수행하면 다음과 같이 서버 목록 및 상태 정보가 조회된다.
각 서버의 정보에서 'Need to Restart' 항목이 'true'로 출력되는 경우에는 해당 서버의 재시작이 필요하다.

제3장 도메인 설정변경 27


[DAS]domain1.adminServer>server-info

Information about Domain (domain1)


===============================================================================================
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
| Server | Status | Node| PID | Clus| Latest Start | Need to | Listen Ports| Running |
| | |Name | | ter |Time / Shutdown | Restart | | Engines |
| | | | | | Time | | | |
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
| adminSe| RUNNING | N/A | 5360 | N/A | 2016-08-23 | false | base-192.168| jms, |
|rver(*) |(00:25:52| | | |(화) 오후 | |.34.3:9736 | ejb, web |
| |) | | | |03:53:28 KST | | http-server-| |
| | | | | | | |0.0.0.0:8088 | |
| | | | | | | |jms-internal-| |
| | | | | | | |0.0.0.0:9741 | |
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
| server1| RUNNING |node1| 6424 | N/A | 2016-08-23 | true | base-192.168| jms, |
| |(00:16:15| | | |(화) 오후 | |.34.1:9836 | ejb, web |
| |) | | | |04:03:05 KST | | | |
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
| server2| RUNNING |node2| 3012 | N/A | 2016-08-23 | true | base-192.168| jms, |
| |(00:16:15| | | |(화) 오후 | |.34.2:9936 | ejb, web |
| |) | | | |04:03:05 KST | | | |
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
===============================================================================================

3.4. 설정 로테이션
설정을 변경하면 기존 설정이 백업되는데 이것을 설정 로테이션이라고 한다.

현재 운영 중인 설정은 항상 다음의 경로에 있는 파일들이다.

DOMAIN_HOME/config/domain.xml
DOMAIN_HOME/config/security/SECURITY_DOMAIN_NAME/policies.xml
DOMAIN_HOME/config/security/SECURITY_DOMAIN_NAME/accounts.xml

동적 변경이 됐을 경우 또는 서버의 재시작이 필요한 경우 모두 포함하여 domain.xml에 대한 변경 사항이


있으면 이전 domain.xml에 대한 백업 파일이 DOMAIN_HOME/config/.history 폴더 안에 domain_yyyym
mdd_hhmmss.xml의 형식으로 저장된다. jeus.server.configfile.backup.size 프로퍼티를 통해 백업 파일
개수를 지정할 수 있다. (기본값: 50)

WebAdmin 사용
다음은 WebAdmin에서 백업 domain.xml을 확인하는 방법이다.

1. WebAdmin 화면의 왼쪽 메뉴에서 [Domain]을 선택한다.

28 JEUS Domain 안내서


[그림 3.3] 도메인 설정 로테이션 - 메뉴 이동

2. 우측 상단의 버튼을 클릭하면 다음과 같은 백업 도메인 설정 리스트를 확인할 수 있다.

[그림 3.4] 백업 도메인 설정 리스트 확인

3. 추가적으로 원하는 'fileName' 항목의 XML을 클릭하면 내부 내용도 확인이 가능하다.

제3장 도메인 설정변경 29


[그림 3.5] 도메인 설정의 내용 확인

참고

WebAdmin 왼쪽의 [LOCK & EDIT] 버튼을 클릭하면 위 그림의 Command 아래에 [rollback] 버튼이
활성화된다. 원하는 백업 설정으로 rollback이 가능하며 동적 반영이 가능한 설정은 해당 백업 설정
으로 실제 시스템에 반영이 된다.

3.5. 도메인 설정변경


다음은 WebAdmin을 사용하여 도메인의 설정을 변경하는 과정에 대한 설명이다.

1. WebAdmin 화면의 왼쪽 메뉴에서 [Domain]을 선택한다.

2. [LOCK & EDIT] 버튼을 클릭해서 설정변경 모드로 전환한다. WebAdmin의 LOCK 설정변경 모드에 대
한 자세한 설명은 “JEUS WebAdmin 안내서”의 “2.3.2. 메뉴 영역”을 참고한다.

3. Domain 화면([그림 3.3])에서 각 항목 중 변경할 항목을 설정한 후 [확인] 버튼을 클릭한다.

다음은 설정 항목에 대한 설명이다.

항목 설명

Admin Server Name DAS의 ID에 해당하는 값으로 도메인 구성한 후에는 변경할 수 없다.

Id 도메인의 ID에 해당하는 값으로 도메인 구성한 후에는 변경할 수 없다.

Domain Log Home 도메인 내의 서버들이 공통으로 사용할 log의 폴더명으로 도메인 구성
한 후에는 변경할 수 없다.

Production Mode 실제 운영환경에 적합한 모드로, 웹 애플리케이션의 auto-reload나 hot-


swap과 같은 기능은 제공하지 않는다.

30 JEUS Domain 안내서


항목 설명

Enable Webadmin WebAdmin의 사용 여부를 선택하는 항목으로 기본적으로 체크되어 있


다. 선택적으로 비활성화할 수 있고 필요한 경우 다시 체크하여 활성화
할 수 있다.

Enable Json Command Json Command 사용 여부를 선택하는 항목으로 기본적으로 꺼져있다.
선택적으로 비활성화할 수 있고 필요한 경우 다시 체크하여 활성화할
수 있다.

Enable To Resynchronize Ap MS가 INDEPENDENT 모드에서 DEPENDENT 모드로 변경된 경우 MS


plications 에서 DAS와 애플리케이션을 동기화할 것인지에 대한 설정이다.

(기본값: false, 동기화하지 않음)

Application Repositories 서비스할 애플리케이션의 위치를 설정하는 항목으로 동적으로 추가 및


삭제할 수 있다. 이에 대한 자세한 설명은 “JEUS Applications & Deploy
ment 안내서”의 “1.5.1. 애플리케이션 저장소 추가/삭제/조회”를 참고한
다.

System Clustering Framework 서버들 간의 내부 통신 및 상태 확인에 사용되는 네트워크 설정으로써


도메인 전체에 걸쳐서 적용되므로 변경할 경우에는 도메인 전체를 다시
시작해야 한다.

JEUS에서는 서버 간에 서로의 상태를 공유하기 위해 기본적으로 Multi


cast를 사용한다. 자세한 내용은 “2.1. 도메인 생성”을 참고한다.
– 'heartbeat-address'와 'heartbeat-port' 설정은 Multicast에 사용할
주소 및 포트값을 설정하는 항목이다.
– 만일 도메인의 구성이 서브넷을 벗어나 있다면 'use-virtual-multicast'
항목을 'true'로 설정해야 한다.

아래의 항목들은 대부분의 경우에 특별히 설정할 필요는 없으나, 도메


인의 규모에 따라서 적절한 값으로 조절해야 한다.
– 'failure-detection-timeout' : 서버를 장애로 판단하는데 소요하는 시
간을 설정하는 항목이다. 짧게 설정하면 장애가 민감하게 감지되나
오감지의 위험성이 생긴다.
– 'failure-verification-timeout' : 서버의 장애를 감지한 이후 이를 확인
하는데 소요하는 시간을 설정하는 항목이다.
– 'leader-discovery-timeout' : 최초로 기동하는 서버가 이미 기동되어
있는 서버 그룹을 찾는데 소요하는 시간을 설정하는 항목이다.
– 'max-thread-pool-size' : SCF가 사용하는 Thread pool의 최대 크기
를 설정하는 항목이다.
– 'min-thread-pool-size' : SCF가 사용하는 Thread pool의 최소 크기
를 설정하는 항목이다.

Domain Backup DAS가 기동할 때 백업 파일을 만들지에 대한 설정이다.

제3장 도메인 설정변경 31


항목 설명

백업 파일의 생성 여부와 디렉터리를 설정할 수 있다. 기본적으로 도메


인 백업을 생성하지 않도록 설정은 꺼져있다. 해당 기능에 대한 자세한
설명은 “6.1.2. 도메인 백업을 이용한 장애 극복”을 참고한다.

참고

'Enable Webadmin', 'Enable Json Command', 'Enable To Resynchronize Application', 'Appli


cation Repositories', 'Domain Backup'을 제외한 도메인 설정 항목은 동적 변경이 불가능하기 때
문에 설정을 반영하기 위해서는 도메인 전체를 재시작해야 한다. 도메인 설정은 개별 서버의 설정과
는 달리 도메인 구성에 관한 설정이다. 따라서 도메인을 구성할 때 'Admin Server Name', 'Id', 'Domain
Log Home' , 'Production Mode', 'System Clustering Framework' 영역의 항목들은 신중하게 설
정해야 한다.

4. 변경 내용을 반영하기 위해 [Activate Changes] 버튼을 클릭한다. 변경 사항을 반영하지 않고 취소하


려면 [Undo ALL Changes] 버튼을 클릭한다.

5. 설정 반영이 성공적으로 완료되면 결과 메시지가 출력된다.

3.6. 설정변경 예제
본 절에서는 WebAdmin과 콘솔 툴(jeusadmin)을 사용하여 System Thread Pool의 개수와 서버의 JVM 설
정을 변경하는 방법에 대해 설명한다.

3.6.1. System Thread Pool 개수 변경


본 절에서는 WebAdmin과 콘솔 툴(jeusadmin)을 사용하여 System Thread Pool 개수를 변경하는 방법에
대해 설명한다.

WebAdmin 사용
WebAdmin을 사용하여 System Thread Pool의 개수를 변경하는 방법은 다음과 같다.

1. WebAdmin의 왼쪽 메뉴에서 [Servers]를 선택하면 서버 목록 조회 화면으로 이동한다. 조회된 서버 목


록에서 서버를 선택한다.

2. [LOCK & EDIT] 버튼을 클릭해서 설정변경 모드로 전환한다. WebAdmin의 LOCK 설정변경 모드에 대
한 자세한 설명은 “JEUS WebAdmin 안내서”의 “2.3.2. 메뉴 영역”을 참고한다.

3. [Basic] > [System Thread Pool] 메뉴로 이동한다. System Thread Pool 화면에서 'Max' 항목을 '120'으
로 수정한 후 [확인] 버튼을 클릭한다.

4. 변경 내용을 반영하기 위해 [Active Changes] 버튼을 클릭한다. 변경 사항을 반영하지 않고 취소하려


면 [Undo ALL Changes] 버튼을 클릭한다.

32 JEUS Domain 안내서


5. 설정 반영이 성공적으로 완료되면 결과 메시지가 출력되고 System Thread Pool의 'Max' 항목이 '120'으
로 변경된 것을 확인할 수 있다.

콘솔 툴 사용
콘솔 툴(jeusadmin)으로 대부분의 설정을 변경할 수 있다. WebAdmin과는 달리 명시적으로 Lock을 설정
할 필요가 없고 변경하려는 설정에 적절한 명령어를 찾아 실행하면 된다. 그러나 jeusadmin은 한 번에 변
경할 수 있는 설정이 하나의 명령어 범위를 벗어날 수 없고, WebAdmin은 도메인 전체의 설정을 한 번에
수정할 수 있다.

다음과 같이 jeusadmin의 modify-system-thread-pool 명령어를 실행하면 WebAdmin에서의 설정변경


과 동일한 결과가 나타난다. modify-system-thread-pool 명령어에 대한 자세한 내용은 “JEUS Reference
Book”의 “4.2.5.3. modify-system-thread-pool”을 참고한다.

[DAS]domain1.adminServer>modify-system-thread-pool server1 -max 120


Successfully performed the MODIFY operation for The system thread pool of the server
(server1)..
Check the results using "modify-system-thread-pool server1 or show-system-thread -pool
server1"

3.6.2. 서버의 JVM 설정변경


본 절에서는 WebAdmin과 콘솔 툴(jeusadmin)을 사용하여 서버의 JVM 설정을 변경하는 방법에 대해 설
명한다.

WebAdmin 사용
WebAdmin을 사용하여 서버의 JVM 설정을 변경하는 방법은 다음과 같다.

1. WebAdmin 왼쪽 메뉴에서 [Servers]를 선택하면 서버 목록 조회 화면으로 이동한다. 조회된 서버 목록


에서 서버를 선택하고 [Basic] > [Basic Info] 메뉴로 이동한다.

2. [LOCK & EDIT] 버튼을 클릭해서 설정변경 모드로 전환한다. WebAdmin의 설정변경 모드에 대한 자세
한 설명은 “JEUS WebAdmin 안내서”의 “2.3.2. 메뉴 영역”을 참고한다.

3. Jvm Config 영역의 'Jvm Option'을 변경하고 [확인] 버튼을 클릭한다.

4. 설정변경을 반영하기 위해 [Activate Changes] 버튼을 클릭한다.

5. 반영이 완료되면 결과 메시지가 출력되고 'Jvm Option'의 설정이 변경된 것을 확인할 수 있다.

콘솔 툴 사용
콘솔 툴(jeusadmin)을 사용하여 서버의 JVM 설정을 추가하려면 다음과 같이 add-jvm-option 명령어를
실행한다. add-jvm-option 명령어는 사용자가 입력한 옵션을 jvm-option list와 비교하여 같은 것이 없으면
추가한다.

제3장 도메인 설정변경 33


[DAS]domain1.adminServer>add-jvm-option -server server1 -opt "-Xmx256m
-XX:MaxPermSize=128m"
Successfully performed the ADD operation for JVM configuration for the
server(sever1)., but all changes were non-dynamic. They will be applied after
restarting.
Check the results using "list-jvm-options or add-jvm-option"

콘솔 툴(jeusadmin)을 사용하여 서버의 JVM 설정을 변경하려면 다음과 같이 modify-jvm-option 명령어


를 실행한다. modify-jvm-option 명령어는 사용자가 입력한 옵션을 jvm-option list와 비교하여 같은 것을
수정한다.

[DAS]domain1.adminServer>modify-jvm-option -server server1 -old "-Xmx256m


-XX:MaxPermSize=128m" -new "-Xmx512m -XX:MaxPermSize=128m"
Successfully performed the MODIFY operation for JVM configuration for the
server(server1)., but all changes were non-dynamic. They will be applied after
restarting.
Check the results using "list-jvm-options or modify-jvm-option"

콘솔 툴(jeusadmin)을 사용하여 서버의 JVM 설정을 삭제하려면 다음과 같이 remove-jvm-option 명령어


를 실행한다. remove-jvm-option 명령어는 사용자가 입력한 option을 jvm-option list와 비교하여 같은 것을
삭제한다.

[DAS]domain1.adminServer>remove-jvm-option -server server1 -opt "-Xmx256m


-XX:MaxPermSize=128m"
Successfully performed the REMOVE operation for JVM configuration for the
server(server1)., but all changes were non-dynamic. They will be applied after
restarting.
Check the results using "list-jvm-options or remove-jvm-option"

참고

JVM 설정을 추가하는 경우에는 한번에 하나의 옵션을 추가해서 jvm-option 항목 하나에 하나의 옵
션만 추가할 수 있도록 하고, 변경 및 삭제할 경우에는 list-jvm-option 명령을 통해 설정된 옵션을
주어 수정하는 것을 권장한다.

34 JEUS Domain 안내서


제4장 서버 Life Cycle

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

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

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

클라우드 환경에서는 도메인 관리와 같은 중앙 관리 기능이 필요하지 않을 수 있다. 이런 경우 JEUS 8


은 단독 서버로 기동 및 운영할 수 있다.

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

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

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

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

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

● JEUS가 설치되고, 도메인 및 서버가 생성되어 있어야 한다. 또한 서버를 시작 및 종료할 수 있는 사용


자명과 패스워드가 생성되어 있어야 한다. 이러한 사전 작업이 되어 있지 않다면 "JEUS 설치 및 시작하
기"를 참고하여 환경을 구축한다.

● WebAdmin이나 jeusadmin을 사용하여 DAS를 통해 서버를 시작하려면 노드 설정이 추가적으로 필요


하다. 노드 설정에 대한 자세한 내용은 "JEUS Node Manager 안내서"를 참고한다.

각 MS가 위치할 머신에서 사용자가 직접 스크립트로 시작할 때에는 별도의 노드 설정은 필요없다. 하
지만 이 경우 노드 매니저의 제어를 받지 못하니 설정해서 사용할 것을 권장한다.

● 서버에 적용하려는 JVM 설정이 XML에 설정되었는지 확인한다.

도메인을 생성할 때 설정하지 않았다면, JVM 설정 변경은 재시작이 필요한 설정이기 때문에 DAS를 시
작하여 설정을 변경한 후 DAS를 재시작하여 반영한다.

제4장 서버 Life Cycle 35


JVM 설정이 누락된 MS는 WebAdmin이나 콘솔 툴을 사용해서 JVM 설정을 추가한 후에 서버를 시작한
다. 변경 방법은 “3.6.2. 서버의 JVM 설정변경”을 참고한다.

● 서버에 적합한 라이선스를 가지고 있는지 확인한다.

온 프레미스 서버(On-Premise Server)와 클라우드 서버(Cloud Server)에 따라 라이선스가 다르고, 시작


하려는 서버에 적합하지 않은 라이선스로는 서버를 시작할 수 없다.

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

4.3.1. Domain Administration Server(DAS) 시작


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/JeusServ


er.log)가 남게 된다. 서버의 로그를 콘솔 툴 화면에서 모니터링하려면 추가적으로 -verbose 옵션을 설정
한다. 이 경우 서버 프로세스 외에도 Launcher 프로세스가 함께 운영된다. Luncher 프로세스는 서버 프로
세스를 운영하고 서버의 로그를 콘솔 툴에 출력한다.

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


할 수 있다.

jps -l
399092 jeus.server.LauncherBootstrapper
409880 sun.tools.jps.Jps

36 JEUS Domain 안내서


398868 jeus.server.NodemanagerBootstrapper
399352 jeus.server.admin.DomainAdminServerBootstrapper

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

참고

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

2. Launcher에 대한 자세한 설명은 “JEUS Server 안내서”의 “1.5. Launcher”를 참고한다.

4.3.2. Managed Server(MS) 시작


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

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

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

● WebAdmin 사용

WebAdmin 메뉴에서 [Servers]를 선택하면 서버 목록 조회 화면으로 이동한다. 조회된 서버 목록에서


시작하려는 서버의 [start] 버튼을 클릭한다. 화면 상단에 결과 메시지가 표시되고 서버가 정상적으로
시작된 것을 확인할 수 있다.

● 콘솔 툴 사용

콘솔 툴(jeusadmin)을 사용하여 다음과 같이 start-server 명령어를 통해 MS를 시작한다.

[DAS]domain1.adminServer>start-server server1
The server [server1] was successfully started.

참고

start-server에 대한 자세한 사용법은 “JEUS Reference Book”의 “4.2.3.44. start-server”를 참고한다.

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

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

제4장 서버 Life Cycle 37


참고

dasurl을 설정하지 않으면 INDEPENDENT 모드로 MS가 시작되고, 시작 후 DAS가 MS를 찾으면 다
시 DAS의 관리를 받게 된다. DAS가 시작하지 않은 경우 INDEPENDENT 모드로 MS를 시작하기 위
해 dasurl을 생략할 수 있으나, 그 외 경우는 명시하기를 권장한다. INDEPENDENT 모드에 대한 설
명은 “6.1.3. INDEPENDENT 모드의 Managed Server(MS)”를 참고한다.

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>

4.3.3. Cloud Server 시작


클라우드 서버(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>

38 JEUS Domain 안내서


기본적으로는 클라우드 서버가 RUNNING 상태가 된 이후에는 파일로만 서버의 로그(SERV
ER_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를 사용하지 않는다.

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

4.4.1. Domain Administration Server(DAS) 종료


DAS의 종료는 콘솔 툴(jeusadmin)이나 스크립트를 사용한다.

콘솔 툴로 DAS 종료
MS를 모두 종료한 후 DAS를 종료할 수 있다(“4.4.2. Managed Server(MS) 종료” 참고).

local-shutdown 명령어를 다음과 같이 실행한다.

[DAS]domain1.adminServer>local-shutdown

스크립트로 DAS 종료
DAS가 위치하는 머신에 설치된 스크립트를 이용하여 종료할 수 있다.

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

● JEUS_HOME/bin

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


<password>

● DOMAIN_HOME/bin

제4장 서버 Life Cycle 39


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>

4.4.2. Managed Server(MS) 종료


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

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

● WebAdmin 사용

WebAdmin 메뉴에서 [Servers]를 선택하면 서버 목록 조회 화면으로 이동한다. 조회된 서버 목록에서


종료할 서버의 [stop] 버튼을 클릭한다.

현재 수행 중인 요청에 대한 처리를 보장하는 Graceful 서버 종료 기능이 제공되기 때문에 완료되지 않


은 요청이 있는 경우에는 'Timeout' 항목에 요청의 완료까지 기다릴 시간을 입력한 다음 [확인] 버튼을
클릭한다.

[그림 4.1] DAS를 통한 MS 종료 - 설정

화면 상단에 결과 메시지가 표시되고 서버가 정상적으로 종료된 것을 확인할 수 있다.

참고

Graceful 서버 종료에 대한 자세한 설명은 “JEUS Server 안내서”의 “3.1.3. Managed Server 종료”를
참고한다.

40 JEUS Domain 안내서


● 콘솔 툴 사용

콘솔 툴(jeusadmin)을 사용하여 다음과 같이 stop-server 명령어를 통해 DAS가 운영 중인 경우에 MS


를 종료할 수 있다. stop-server 명령어에 대한 자세한 사용법은 “JEUS Reference Book”의 “4.2.3.47.
stop-server”를 참고한다.

[DAS]domain1.adminServer>stop-server <server_list>

스크립트로 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>

4.4.3. Cloud Server 종료


클라우드 서버(Cloud Server)의 종료는 콘솔 툴(jeusadmin)이나 스크립트를 사용한다.

콘솔 툴로 Cloud Server 종료
local-shutdown 명령어를 다음과 같이 실행한다.

[DAS]domain1.adminServer>local-shutdown

스크립트로 Cloud Server 종료


서버가 위치하는 머신에 설치된 스크립트를 이용하여 종료할 수 있다.

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

● JEUS_HOME/bin

제4장 서버 Life Cycle 41


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>

4.5. 서버 Life Cycle 상태 확인


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

[그림 4.2] DAS의 판단에 의한 서버의 Life Cycle

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

상태 설명

SHUTDOWN 시작되지 않은 상태 또는 정상 종료된 상태를 나타낸다.

STARTING 서버를 시작하는 중으로 아직 서비스는 할 수 없는 상태를 나타낸다.

STANDBY 시작 중에 등록된 애플리케이션을 Distribute하던 중 실패한 것이 있어


RUNNING 상태로 이동하지 못하고 머무르는 상태를 나타낸다. 이 상태에

42 JEUS Domain 안내서


상태 설명

서 문제의 모듈을 수정하여 다시 시작을 하거나, 그 모듈을 무시하고 서비


스를 하기 위해서는 force 옵션을 주고 start 명령어를 수행한다.

RUNNING 서버 시작이 완료되어 서비스를 할 수 있는 상태를 나타낸다.

SHUTTING_DOWN 서버가 종료 중인 상태를 나타낸다.

SUSPENDING RUNNING 상태에서 모든 deploy된 애플리케이션의 서비스를 중단하기 위


해 Suspend를 수행 중인 상태를 나타낸다.

RESUMING SUSPENDED 상태에서 다시 모든 정지된(Stopped) 애플리케이션의 서비


스를 재기하기 위해 Resume을 수행 중인 상태를 나타낸다.

SUSPENDED 관리자가 의도적으로 모든 애플리케이션을 정지하도록 Suspend를 수행한


상태를 나타낸다. 이 상태에서는 새롭게 애플리케이션을 추가하고 싶은 경
우에도 해당 애플리케이션을 Distriibute만 가능하고 시작할 수는 상태이다.

FAILURE_SUSPECTED DAS가 판단하기로 MS와 연결되지 않아 해당 MS의 비정상 종료를 의심하


는 상태를 나타낸다.

FAILED DAS가 판단하기로 MS와 일정 시간동안 계속 연결되지 않아 해당 MS의 비


정상 종료를 확신한 상태를 나타낸다.

참고

DAS가 MS의 상태에 대해서 판단할 때는 SCF(System Clustering Framework)의 기능을 이용한다.

SCF는 도메인을 구성하는 여러 서버들간에 서로의 상태를 모니터링하거나 서로간의 메시징을 담당


하는 모듈로써 네트워크를 통해서 원격에 존재하는 다른 서버의 상태를 파악하도록 디자인되어 있
다. 네트워크를 통하기 때문에 원격 서버의 부하등의 원인으로 통신이 지연되거나 할 경우 장애로 오
감지 될 수 있으며 이 경우 실제 장애가 아니기 때문에 원인이 해소되면 다시 정상 상태로 인식된다.

SCF는 기본적으로 Multicast를 사용하지만, 이를 지원하지 않는 환경이거나 다른 필요나 요구사항


이 있을 경우 Virtual Multicast 모드를 사용하도록 설정할 수도 있다. Virtual Multicast는 Multicast를
대신하여 도메인을 구성하는 각 서버들간에 Socket 연결을 맺어서 통신하는 방식이다.

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

● MBean 사용

J2EEDomain#getServerState(String serverName)로도 서버의 상태를 모니터링할 수 있다. MBean의


사용 방법에 대한 자세한 내용은 "JEUS JMX 안내서"를 참고한다.

● WebAdmin 사용

WebAdmin의 왼쪽 메뉴에서 [Monitoring] > [Servers]를 선택하면 다음과 같이 도메인 내의 서버 목록


과 정보가 조회되고, Life Cycle의 상태는 'Status' 컬럼을 통해 확인할 수 있다.

제4장 서버 Life Cycle 43


[그림 4.3] 서버 Life Cycle 상태 확인 - 서버 모니터링

● 콘솔 툴(jeusadmin) 사용

다음과 같이 콘솔 툴에서 serverinfo 명령어를 사용하여 서버의 Life Cycle 상태를 확인할 수 있다.

[DAS]domain1.adminServer>serverinfo
Information about Domain (domain1)
===============================================================================================
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
| Server | Status | Node| PID | Clus| Latest Start | Need to | Listen Ports| Running |
| | |Name | | ter |Time / Shutdown | Restart | | Engines |
| | | | | | Time | | | |
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
| adminSe| RUNNING |node1|399352 | N/A | 2016-08-23 | false | base-0.0. | jms, |
|rver(*) |(01:40:40| | | |(화) 오후 | |0.0:9736 | ejb, web |
| |) | | | |03:53:28 KST | | http-server-| |
| | | | | | | |0.0.0.0:8088 | |
| | | | | | | |jms-0.0.0 | |
| | | | | | | |.0:9741 | |
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
| server1| RUNNING |node1| N/A | clus| 2016-08-23 | N/A | base-192.168| jms, |
| |(01:31:03| | |ter1 |(화) 오후 | |.34.1:9836 | ejb, web |
| |) | | | |04:03:05 KST | | | |
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
| server2| SHUTDOWN|node1| N/A | clus| 2016-08-23 | N/A | N/A | N/A |
| |(01:31:03| | |ter1 |(화) 오후 | | | |
| |) | | | |04:03:05 KST | | | |
+--------+---------+-----+-------+-----+----------------+---------+-------------+-------------+
===============================================================================================

44 JEUS Domain 안내서


참고

serverinfo 명령어에 대한 자세한 내용은 “JEUS Reference Book”의 “4.2.3.39. server-info”를 참고한
다.

제4장 서버 Life Cycle 45


제5장 JEUS 클러스터링

본 장에서는 도메인 내의 클러스터에 대해 정의하고 클러스터의 구성과 도메인과의 관계에 대해 설명한


다. 또한 클러스터를 생성, 설정, 변경 및 삭제하는 방법에 대해 설명한다.

5.1. 개요
클러스터는 서비스의 확장성을 위한 부하 분산(Load Balancing)과 안정성을 위한 장애 극복(Failover) 기
능을 제공하기 위해 동일한 서비스를 수행하는 여러 개 서버들의 집합이다.

같은 서비스를 수행하는 여러 개의 서버가 부하를 나눠서 처리하여 빠른 서비스가 가능하며, 부하의 정도


에 따라 클러스터에 동적으로 서버를 추가 또는 삭제할 수 있어 부하 조절이 가능하다. 또한 몇 대의 서버
가 서비스를 수행하지 못하는 상황에서도 같은 서비스를 하는 나머지 서버들이 서비스를 처리해주므로
사용자에게 서비스 중단이 노출되지 않는다. 즉, 많은 부하를 무리 없이 소화하고 서비스 불가능 상태가
되지 않는 하나의 서버라고 할 수 있다.

5.2. 클러스터와 도메인 관계


도메인은 관련된 서비스를 수행하는 서버 또는 클러스터들의 집합이다. 클러스터는 같은 서비스를 수행
하는 여러 개 서버의 집합으로 하나의 도메인에 여러 개 존재할 수 있다. 클러스터를 구성하는 서버들은
한 머신에 모두 존재할 수도 있고, 각각 다른 머신에 존재할 수도 있다. 일반적으로 머신에 문제가 발생하
여 서비스가 안될 경우를 고려하여 다른 머신에 위치한 서버들로 클러스터를 구성한다.

하나의 DAS는 단 하나의 도메인을 관리하므로, 도메인 내에 여러 개의 클러스터가 있다면 각 클러스터도


동일한 DAS의 관리를 받는다.

[그림 5.1] 클러스터와 도메인과의 관계

제5장 JEUS 클러스터링 47


5.3. 클러스터 구성
클러스터는 도메인 내에서 같은 서비스를 수행하는 MS들로 구성된다. 보통 여러 머신에 분산되어 있다.
이렇게 구성된 클러스터는 다음과 같은 기능을 갖는다.

● 부하 분산(Load Balancing)

과부하로 인한 서비스 중단을 방지하고 응답 속도를 향상하기 위해 여러 서버 간에 수행해야 할 서비스


를 분배하는 기능이다.

동일한 서비스를 수행할 수 있는 환경을 구성해야 하고, 서로의 위치와 상태를 알고 있어야 한다.

● 장애 극복(Failover)

하나의 서버가 비정상 종료된 경우에 그 서버가 수행하고 있던 서비스를 다른 서버가 대신 수행하는 것
을 의미한다.

비정상 종료한 서버 대신 서비스를 수행하는 서버는 비정상 종료된 서버와 같은 서비스를 수행할 수 있
어야 하고, 비정상 종료된 서버를 감지할 수 있어야 한다. 또한, 비정상 종료된 서버의 서비스 진행 상태
를 알아야 한다.

JEUS에서는 이러한 기능을 위해 클러스터 내의 모든 서버에 같은 애플리케이션을 deploy하고, 같은 리소


스를 사용하고, 같은 서비스를 등록할 것을 권장한다. Multicast를 사용하여 클러스터 내의 서버들 간에 서
로의 위치와 상태를 공유하고, 클러스터 가능한 서비스들의 장애 극복을 위해 서비스의 진행 상태 정보를
서버들 간에 공유한다. 또한 리소스의 효율을 높일 수 있도록 부하에 따라 클러스터에 서버의 추가 및 삭
제가 가능하다.

모든 서비스에 대해 클러스터링이 가능한 것은 아니다. 클러스터링이 가능한 서비스는 다음과 같다.

서비스 설명

Servlets /Jsps 웹 엔진은 웹 서버에 의한 웹 애플리케이션 클러스터링과 HTTP 세션 클러스


터링을 지원한다.

웹 서버에 의한 웹 애플리케이션 클러스터링에 대한 자세한 내용은 “JEUS


Web Engine 안내서”의 “2.4. 부하 분산을 위한 웹 서버 설정”을 참고하고,
HTTP 세션 클러스터링에 대한 자세한 내용은 “JEUS 세션 관리 안내서”의 “제
2장 분산 세션 서버”를 참고한다.

EJB EJB 엔진에서는 세션, Message Driven, Entity Bean과 Timer Service에서 클
러스터링을 지원한다. EJB 엔진에서 제공하는 클러스터링에 대한 자세한 내
용은 “JEUS EJB 안내서”의 “제6장 EJB 클러스터링”을 참고한다.

JMS JMS에서는 Connection Factory와 Destination, Durable Subscriber의 클러스


터링을 지원한다. JMS에서 제공하는 클러스터링에 대한 자세한 내용은 “JEUS
MQ 안내서”의 “제4장 JEUS MQ 클러스터링”을 참고한다.

48 JEUS Domain 안내서


클러스터가 가능한 서비스들에 한해서 클러스터를 구성할 때에는 다음의 제약사항을 고려해야 한다.

● 클러스터로 구성된 모든 서버는 같은 버전의 JEUS를 사용해야 한다.

● 각 서버는 단 하나의 클러스터에만 포함되어야 한다.

● 도메인 사이에는 어떤 리소스도 공유가 불가능하기 때문에 클러스터로 구성된 모든 서버는 같은 도메


인에 포함되어야 한다.

5.4. 클러스터 생성
일반적으로 도메인을 구성할 때 서비스의 종류와 중요도 등을 고려하여 클러스터를 생성한다. 클러스터
생성 방법은 “2.2. 도메인 구성”의 "클러스터 추가" 부분을 참고한다.

5.5. 클러스터 설정
클러스터 설정은 크게 서버 공통 설정과 클러스터 설정 2가지로 구분된다.

5.5.1. 서버 공통 설정
서버 공통 설정은 클러스터 내의 모든 서버가 동일한 서비스를 수행하기 위한 설정으로 클러스터뿐만 아
니라 단독 서버를 생성할 경우에도 필요한 설정이다.

참고

서버 공통 설정에 대한 자세한 내용은 “JEUS Server 안내서”의 “제2장 JEUS 설정”을 참고한다.

5.5.2. 클러스터 설정
클러스터 설정은 클러스터의 기능인 부하 분산(Load Balance)과 장애 극복(Failover)을 위한 설정으로 클
러스터 통신, 세션 서버, Timer Service, JMS 리소스에 대해 설정하고, 데이터소스를 등록 및 제거할 수 있
다.

참고

클러스터 설정 중 서버의 재시작이 필요한 항목을 변경한 경우에는 클러스터 전체를 재시작하는 것
을 권장한다.

● 클러스터 세션 서버 설정

클러스터링 환경을 전제로 운영되는 분산식 세션 서버는 부하 분산과 장애 극복의 2가지 기능을 모두
가지고 있다.

제5장 JEUS 클러스터링 49


내부적으로 분산식 세션 서버를 사용할지에 대한 설정은 별도로 존재하지 않으며 클러스터링에 참여하
면, 클러스터링에 참여하는 서버들 간에 자동적으로 분산식 세션 서버가 운영된다.

분산식 세션 서버에 대한 자세한 설명은 “JEUS 세션 관리 안내서”의 “제2장 분산 세션 서버”을 참고하


고, 세부 설정 및 각 항목들에 대한 설명은 “JEUS 세션 관리 안내서”의 “2.7. 세션 클러스터 설정”을 참
고한다.

● 클러스터 Timer Service 설정

클러스터 환경에서 Timer Service를 설정하고 싶은 경우에 사용한다. Timer Service 설정에 대한 자세
한 내용은 “JEUS EJB 안내서”의 “제10장 EJB Timer Service”를 참고한다.

● 클러스터 JMS 리소스 설정

클러스터 내의 Destination과 Durable Subscriber를 설정하는 경우에 사용한다. JMS 리소스 설정에 대
한 자세한 내용은 “JEUS MQ 안내서”의 “4.3.1. 서버 설정”을 참고한다.

● 데이터소스 등록 및 제거

클러스터에 등록된 데이터소스는 클러스터에 속한 모든 서버에서 사용될 수 있으며, 데이터소스 등록


은 동적으로 처리가 가능하다. 또한, 클러스터에 등록된 데이터소스의 제거 역시 동적으로 처리가 가능
하다. 클러스터로부터 제거된 데이터소스는 클러스터에 속한 서버들에서 더 이상 사용이 불가능하다.

클러스터에 등록된 데이터소스의 사용과 클러스터에 데이터소스를 등록하고 제거하는 방법 등에 대한


자세한 내용은 “JEUS Server 안내서”의 “6.6. 데이터소스 관련 설정 동적 변경”을 참고한다.

5.5.3. Dynamic Servers를 이용한 클러스터 설정


미리 설정된 설정들을 가지고 자동으로 서버를 생성하여 클러스터를 구성할 수도 있다. 이것을 위해서는
서버 템플릿을 미리 작성을하고, 클러스터 생성 화면에서 'Dynamic Servers' 항목을 선택하여 클러스터
를 생성해야 한다. Dynamic Servers로 설정한 클러스터의 설정을 변경하려면 클러스터 설정 또는 서버
템플릿을 수정해야 한다. 서버 템플릿에 대한 자세한 설명은 “JEUS Server 안내서”의 “2.3.7. Server
Template 설정”을 참고한다.

서버 템플릿을 생성하는 방법은 WebAdmin과 콘솔에서 생성하는 방법 두 가지가 있다.

● WebAdmin 사용

1. WebAdmin의 [Servers] 메뉴를 서버와 템플릿 목록 화면으로 이동한다.

2. 'Server Templates' 항목 오른쪽에 있는 [add] 버튼을 클릭해서 템플릿 추가 화면으로 이동한다.

3. 'Name' 항목에 템플릿 이름과 각 항목을 설정하고 오른쪽 상단의 [확인] 버튼을 클릭해서 설정을 저
장한다.

4. [Servers] 메뉴에서 새로 추가된 템플릿을 확인할 수 있다.

● 콘솔 툴 사용

50 JEUS Domain 안내서


서버 템플릿의 자세한 추가는 add-server-template을 통하여 가능하다. 템플릿의 이름을 주고, 각종 설
정을 옵션으로 주어 생성한다. 자세한 설명은 “JEUS Reference Book”의 “4.2.4.9. add-server-template”
항목을 참고한다.

Dynamic Servers로 생성된 클러스터의 설정은 클러스터 설정이나 템플릿 설정을 변경하는 것으로만 변
경 가능하다. 개별 서버의 설정은 불가능하며 그 경우에는 개별 서버 추가 방식을 사용하여 만든 클러스터
를 사용해야 한다. 각 서버들의 이름은 'Server Name Prefix'로 지정된 이름 뒤에 번호가 붙어서 설정된
다.

또한 각 서버들의 listen address는 nodes.xml 문서에 기록된 각각의 node 정보를 기반으로 설정된다.
'Node Names'에 Dynamic Servers를 위치시킬 노드를 지정할 때에는 nodes.xml의 설정 정보를 잘 확인
하고 지정하여야 한다. 노드 배정은 기본적으로 Round Robin으로 이루어진다.

서버의 추가, 제거를 위해서는 클러스터 설정에서 'Server Count'의 숫자를 변경하여 추가, 제거가 가능
하며 서버 개별 추가, 삭제는 불가능하다. 또한 이렇게 생성된 서버들의 세부 설정은 개별적으로 수정이
불가능하며 항상 서버 템플릿의 설정 정보와 동일하도록 유지된다.

5.6. 클러스터 변경
부하의 변화에 따라 클러스터에 존재하는 서버를 추가, 삭제해서 개수를 조정할 수 있다.

5.6.1. 클러스터에 서버 추가
해당 서비스의 부하가 증가하여 클러스터 사이즈를 늘리기 위해 클러스터에 서버를 추가할 수 있다. 추가
할 서버는 기존의 서버와 동일한 서비스를 수행할 것이므로 기존 서버들의 설정과 동일하게 설정하는 것
을 권장한다.

본 절에서는 WebAdmin과 콘솔 툴(jeusadmin)을 사용하여 클러스터에 서버를 추가하는 방법에 대해 설명


한다.

WebAdmin 사용
WebAdmin을 사용하여 클러스터에 서버를 추가하는 방법은 다음과 같다.

1. WebAdmin의 왼쪽 메뉴에서 [Servers]를 선택하면 서버 목록 조회 화면으로 이동한다.

2. [LOCK & EDIT] 버튼을 클릭해서 설정변경 모드로 전환한다. WebAdmin의 설정변경 모드에 대한 자세
한 설명은 “JEUS WebAdmin 안내서”의 “2.3.2. 메뉴 영역”을 참고한다.

3. 클러스터에 서버를 추가하는 방법은 서버를 직접 생성, 선택하여 클러스터를 생성했을 경우와 Dynamic
Servers를 이용하여 클러스터를 생성했을 경우가 다르다.

– 서버를 직접 생성, 선택하여 클러스터를 생성한 경우

다음은 클러스터에 추가할 서버를 생성하고 클러스터에 추가하는 방법이다. 서버에 원하는 설정을
적용하여 생성한 이후에 만들어진 서버를 목록에서 선택하여 클러스터에 추가한다.

제5장 JEUS 클러스터링 51


a. Servers 화면에서 [ADD] 버튼을 클릭하면 [Basic] > [Basic Info] 메뉴로 이동한다. Server 화면
에서 추가할 서버의 정보를 입력한 후 [확인] 버튼을 클릭힌다.

b. 서버 추가가 완료되면 해당 서버를 클러스터에 추가해야 한다. WebAdmin의 [Clusters] 메뉴를


선택하면 클러스터 조회 목록 화면으로 이동한다. 조회된 클러스터 목록에서 생성한 서버를 추가
할 클러스터를 선택한다.

c. Cluster 화면의 'Servers' 항목에서 생성한 서버를 체크하고 [확인] 버튼을 클릭한다.

– Dynamic Servers 설정을 이용하여 클러스터를 생성한 경우

다음은 클러스터를 Dynamic Servers를 이용하여 생성한 경우이다. 이 경우에는 클러스터 설정 항목


에서 서버의 추가가 가능하다. 클러스터 설정을 바꾸는 것만으로 자동으로 생성된 서버가 추가된다.

a. 클러스터 설정 변경을 위해 WebAdmin의 [Clusters] 메뉴를 선택하면 클러스터 조회 목록 화면으


로 이동한다.

b. Cluster 화면의 'Dynamic Servers' 항목에서 'Server Count'에 현재 설정되어 있는 서버보다 더


큰 숫자를 입력하고 [확인] 버튼을 클릭한다. 늘어난 숫자만큼의 서버가 더 생성된다.

4. 클러스터의 설정이 변경되었다는 메시지를 확인한 후 [Activate Chages] 버튼을 클릭하여 변경된 설
정을 반영한다.

5. 서버가 생성되고 클러스터에 서버가 추가가 반영되었다는 결과 메시지를 확인할 수 있다.

6. 추가한 서버를 시작하기 위해 WebAdmin 화면 왼쪽의 [Clusters] 메뉴를 선택하고, 조회된 클러스터
목록에서 클러스터의 [start] 버튼을 클릭한다.

7. WebAdmin의 [Monitoring] > [Servers] 메뉴를 선택해서 이동한 화면에서 서버가 클러스터로 묶여 잘
운영되고 있음을 확인할 수 있다.

콘솔 툴 사용
콘솔 툴(jeusadmin)을 사용하여 클러스터에 서버를 추가할 수 있다. 서버 직접 선택으로 클러스터를 만든
경우와 Dynamic Servers 항목을 이용하여 자동 생성한 서버들로 클러스터를 만든 경우가 있다.

● 서버를 직접 생성, 선택하여 클러스터를 생성한 경우

다음은 서버를 직접 생성, 선택하여 클러스터를 생성한 경우의 서버 추가 방법이다.

1. add-server 명령어를 사용하여 클러스터에 추가할 서버(server2)를 생성한다. add-server 명령어에


대한 자세한 사용법은 “JEUS Reference Book”의 “4.2.4.7. add-server”를 참고한다.

[DAS]domain1.adminServer>add-server server2 -node node2 -addr 192.168.34.2 -port 9936


Successfully performed the ADD operatioin for server (server2).
Check the results using "list-servers or add-server"

2. add-servers-to-cluster 명령어를 사용하여 클러스터(cluster1)에 생성한 서버(server2)를 추가한다.

add-servers-to-cluster 명령어에 대한 자세한 사용법은 “JEUS Reference Book”의 “4.2.4.8. add-


servers-to-cluster”를 참고한다.

52 JEUS Domain 안내서


[DAS]domain1.adminServer>add-servers-to-cluster cluster1 -servers server2
Successfully performed the ADD operation for The server list for cluster(cluster1)..
Check the results using "list-clusters cluster1 or add-servers-to-cluster cluster1"

3. start-cluster 명령어를 사용하여 추가한 서버를 시작한다. start-cluster 명령어에 대한 자세한 사용법
은 “JEUS Reference Book”의 “4.2.3.42. start-cluster”를 참고한다.

[DAS]domain1.adminServer>start-cluster cluster1
The cluster [cluster1] has been successfully started.

4. serverinfo 명령어를 사용하여 서버(server1, server2)가 클러스터(cluster1)에 묶여 잘 운영되고 있


음을 확인할 수 있다.

[DAS]domain1.adminServer>serverinfo

Information about Domain (domain1)


==============================================================================================
+--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
| Server | Status | Node| PID | Clus| Latest Start | Need to| Listen Ports| Running |
| | |Name | | ter |Time / Shutdown |Restart | | Engines |
| | | | | | Time | | | |
+--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
| adminSe| RUNNING | N/A | 5360 | N/A | 2016-08-23 | false | base-192.168| jms, |
|rver(*) |(00:01:11| | | |(화) 오후 | |.34.3:9736 | ejb, web |
| |) | | | |03:53:28 KST | | http-server-| |
| | | | | | | |0.0.0.0:8088 | |
| | | | | | | |jms-internal-| |
| | | | | | | |0.0.0.0:9741 | |
+--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
| server1| RUNNING |node1| 6424 | clus| 2016-08-23 | false | base-192.168| jms, |
| |(00:00:03| | |ter1 |(화) 오후 | |.34.1:9836 | ejb, web |
| |) | | | |03:54:37 KST | | | |
--------+---------+-----+-------+-----+-----------------+--------+-------------+-------------+
| server2| RUNNING |node2| 3012 | clus| 2016-08-23 | false | base-192.168| jms, |
| |(00:00:03| | |ter1 |(화) 오후 | |.34.2:9936 | ejb, web |
| |) | | | |03:54:36 KST | | | |
+--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
==============================================================================================

● Dynamic Servers 설정을 이용하여 클러스터를 생성한 경우

다음은 Dynamic Servers 설정을 이용하여 클러스터를 생성한 경우의 서버 추가 방법이다.

1. modify-dynamic-servers 명령어를 사용하여 dynamic servers를 클러스터에 추가한다. modify-dy


namic-servers 명령어에 대한 자세한 사용법은 “JEUS Reference Book”의 “4.2.4.29. modify-dynamic-
servers”를 참고한다.

[DAS]domain1.adminServer>modify-dynamic-servers cluster1 -count 3 -nodes node1


-template temp1
Successfully performed the MODIFY operation for Dynamic servers configuration in
the cluster (cluster1),
but some changes were non-dynamic. They will be applied after restarting.
Check the results using "modify-dynamic-servers or show-dynamic-servers".

제5장 JEUS 클러스터링 53


2. show-dynamic-servers 명령어를 사용하여 클러스터에 dynamic servers가 제대로 추가되었는지를
알 수 있다.

[DAS]domain1.adminServer>show-dynamic-servers cluster1
Shows the current configuration.
Dynamic servers configuration in the cluster (cluster1)
====================================================================
+----------------------------------------------------------+-------+
| Server Count | 3 |
| Nodes | node1 |
| Base Listen Port | 9736 |
| HTTP Listen Port | 8088 |
| JMS Listen Port | 9741 |
| Server Template Name | temp1 |
| Listen Port Step | 100 |
+----------------------------------------------------------+-------+
====================================================================

5.6.2. 클러스터에서 서버 삭제
클러스터의 크기를 줄이기 위해 클러스터에 포함된 서버를 삭제할 수 있다. 이때에는 삭제할 서버를 종료
하여, 진행 중이던 서비스가 모두 완료된 것을 확인한 후 클러스터에서 삭제한다. 본 절에서는 WebAdmin
과 콘솔 툴(jeusadmin)을 사용하여 클러스터에서 서버를 삭제하는 방법에 대해 설명한다.

WebAdmin 사용
WebAdmin을 사용하여 클러스터에서 서버를 삭제하는 방법은 다음과 같다.

1. WebAdmin 화면 왼쪽의 [Servers] 메뉴를 선택하면 서버 목록 조회 화면으로 이동한다. 조회된 서버


목록에서 삭제할 서버의 [stop] 버튼을 클릭하여 서버를 종료한다.

2. 클러스터 변경을 위해서는 [LOCK & EDIT] 버튼을 클릭하여 설정변경 모드로 전환한다. WebAdmin의
설정변경 모드에 대한 자세한 설명은 “JEUS WebAdmin 안내서”의 “2.3.2. 메뉴 영역”을 참고한다.

3. WebAdmin의 [Clusters] 메뉴를 선택하면 클러스터 목록 조회 화면으로 이동한다. 조회된 클러스터 목


록에서 삭제하려는 서버가 포함된 클러스터를 선택한다.

4. 클러스터에 서버를 제거하는 방법은 서버를 직접 선택하여 클러스터를 생성했을 경우와 Dynamic
Servers를 이용하여 클러스터를 생성했을 경우가 다르다.

– 서버를 선택하여 클러스터를 생성한 경우

다음은 서버를 직접 생성하여 클러스터를 생성했을 경우의 서버 제거 방법이다. 서버 목록에서 서버


를 선택 해제하여 클러스터에서 제거한다.

a. 클러스터 설정 변경을 위해 WebAdmin의 [Clusters] 메뉴를 선택하면 클러스터 조회 목록 화면으


로 이동한다.

54 JEUS Domain 안내서


b. Cluster 화면의 'Servers' 항목에서 서버의 체크를 해제한 후 [확인] 버튼을 클릭한다.

c. 클러스터에서 삭제한 서버를 단독 서버로 사용할 계획이 없다면 삭제한다. WebAdmin 화면 왼쪽


의 [Servers] 메뉴를 선택하고, 조회된 서버 목록에서 [DEL] 버튼을 클릭한다.

– Dynamic Servers 설정을 이용하여 클러스터를 생성한 경우

다음은 클러스터를 Dynamic Servers를 이용하여 생성한 경우이다. 이 경우에는 클러스터 설정 항목


에서 서버의 제거가 가능하다. 클러스터 설정을 바꾸는 것만으로 자동으로 생성된 서버가 제거된다.

a. 클러스터 설정 변경을 위해 WebAdmin의 [Clusters] 메뉴를 선택하면 클러스터 조회 목록 화면으


로 이동한다.

b. Cluster 화면의 'Dynamic Servers' 항목에서 'Server Count'에 현재 설정되어 있는 서버보다 더


작은 숫자를 입력하고 [확인] 버튼을 클릭한다. 줄어든 숫자만큼 서버가 제거된다.

5. 클러스터 설정 변경 완료 메시지 후에 [Activate Changes] 버튼을 클릭하여 변경 내용을 반영한다.

6. 서버를 클러스터에서 삭제한 것과 단독 서버로서 삭제한 것이 반영되었다는 결과 메시지를 확인할 수


있다.

콘솔 툴 사용
콘솔 툴(jeusadmin)을 사용하여 클러스터에 서버를 삭제할 수 있다. 위와 마찬가지로 서버 직접 선택으로
클러스터를 만든 경우와 Dynamic Servers 항목을 이용하여 자동 생성한 서버들로 클러스터를 만든 경우
가 다르다.

● 서버를 선택하여 클러스터를 생성한 경우

다음은 서버를 선택하여 클러스터를 생성한 경우의 서버 제거 방법이다.

1. stop-server 명령어를 사용하여 삭제할 서버(server2)를 종료한다. stop-server 명령어에 대한 자세


한 사용법은 “JEUS Reference Book”의 “4.2.3.47. stop-server”를 참고한다.

[DAS]domain1.adminServer>stop-server server2
Server [server2] was successfully stopped.

2. remove-servers-from-cluster 명령어를 사용하여 삭제할 서버(server2)가 포함된 클러스터(cluster1)


에서 서버를 삭제한다. remove-servers-from-cluster 명령어에 대한 자세한 사용법은 “JEUS Reference
Book”의 “4.2.4.38. remove-servers-from-cluster”를 참고한다.

[DAS]domain1.adminServer>remove-servers-from-cluster cluster1 -servers server2


Successfully performed the REMOVE operation for The server list for
cluster(cluster1)..
Check the results using "list-clusters cluster1 or remove-servers-from-cluster
cluster1"

3. 클러스터에서 삭제한 서버(server2)를 단독 서버로 사용할 계획이 없다면 remove-server 명령어를


사용하여 완전히 삭제한다. remove-server 명령어에 대한 자세한 사용법은 “JEUS Reference Book”
의 “4.2.4.37. remove-server”를 참고한다.

제5장 JEUS 클러스터링 55


[DAS]domain1.adminServer>remove-server server2
Successfully performed the REMOVE operation for server (server2).
Check the results using "list-servers or remove-server"

● Dynamic Servers 설정을 이용하여 클러스터를 생성한 경우

다음은 Dynamic Servers 설정을 이용하여 클러스터를 생성한 경우의 서버 제거 방법이다.

1. modify-dynamic-servers 명령어를 사용하여 dynamic servers를 클러스터에 제거한다. 서버의 숫자


를 줄임으로써 숫자만큼 서버가 제거된다. modify-dynamic-servers 명령어에 대한 자세한 사용법은
“JEUS Reference Book”의 “4.2.4.29. modify-dynamic-servers”를 참고한다.

[DAS]domain1.adminServer>modify-dynamic-servers cluster1 -count 1 -nodes node1


-template temp1
Successfully performed the MODIFY operation for Dynamic servers configuration in
the cluster (cluster1),
but some changes were non-dynamic. They will be applied after restarting.
Check the results using "modify-dynamic-servers or show-dynamic-servers".

2. show-dynamic-servers 명령어를 사용하여 클러스터에 dynamic servers가 제대로 제거되었는지를


알 수 있다.

[DAS]domain1.adminServer>show-dynamic-servers cluster1

Shows the current configuration.


Dynamic servers configuration in the cluster (cluster1)
====================================================================
+----------------------------------------------------------+-------+
| Server Count | 1 |
| Nodes | node1 |
| Base Listen Port | 9736 |
| HTTP Listen Port | 8088 |
| JMS Listen Port | 9741 |
| Server Template Name | temp1 |
| Listen Port Step | 100 |
+----------------------------------------------------------+-------+
====================================================================

5.7. 클러스터 삭제
해당 서비스를 더 이상 사용할 필요가 없을 경우에는 클러스터를 삭제할 수 있다. 클러스터를 삭제할 때에
는 삭제할 클러스터를 종료하여 진행 중이던 서비스의 완료를 확인한 후 삭제해야 한다. 본 절에서는 We
bAdmin과 jeusadmin을 사용하여 클러스터를 삭제하는 방법에 대해 설명한다.

56 JEUS Domain 안내서


WebAdmin 사용
WebAdmin을 사용하여 클러스터를 삭제하는 방법은 다음과 같다.

1. 클러스터 삭제를 위해서는 우선 [LOCK & EDIT] 버튼을 클릭하여 설정변경 모드로 전환해야 한다.
WebAdmin의 설정변경 모드에 대한 자세한 설명은 “JEUS WebAdmin 안내서”의 “2.3.2. 메뉴 영역”을
참고한다.

2. WebAdmin 화면 왼쪽의 [Clusters] 메뉴를 선택하면 클러스터 목록 조회 화면으로 이동한다. 조회된


클러스터 목록에서 삭제할 클러스터의 [stop] 버튼을 클릭하여 클러스터를 종료한다.

3. 삭제할 클러스터가 종료되면 [DEL] 버튼을 클릭하여 삭제한다.

– 삭제한 클러스터에 포함되었던 서버들을 단독 서버로 사용하지 않는 경우 삭제하려면 WebAdmin 화


면의 왼쪽 메뉴에서 [Servers]를 선택해서 서버 목록 조회 화면으로 이동한다. 조회된 서버 목록에서
삭제한 클러스터에 포함되어 있던 서버들의 [DEL] 버튼을 클릭한다.

– Dynamic Servers 설정으로 만든 클러스터의 경우 클러스터를 삭제하면 서버들도 자동으로 삭제된


다.

4. 클러스터에 포함되었던 서버들이 성공적으로 삭제되었다는 메시지를 확인한 후 [Activate Changes]


버튼을 클릭하여 변경된 내용을 반영한다.

5. 클러스터(cluster1)을 삭제한 것과 클러스터에 포함되었던 서버를 삭제한 것이 반영되었다는 결과 메시


지를 확인할 수 있다.

콘솔 툴 사용
콘솔 툴(jeusadmin)을 사용하여 클러스터를 삭제하는 방법은 다음과 같다.

1. stop-cluster 명령어를 사용하여 삭제할 클러스터를 종료한다. 본 예제에서는 server1과 server2로 구


성된 cluster1이라는 클러스터를 삭제한다. stop-cluster 명령어에 대한 자세한 사용법은 “JEUS Reference
Book”의 “4.2.3.45. stop-cluster”를 참고한다.

[DAS]domain1.adminServer>stop-cluster cluster1
The cluster [cluster1] was successfully stopped.

serverinfo 명령어를 사용하여 종료한 클러스터(cluster1)에 포함된 서버(server1, server2)의 상태가


SHUTDOWN 상태임을 확인할 수 있다.

[DAS]domain1.adminServer>serverinfo

Information about Domain (domain1)


==============================================================================================
+--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
| Server | Status | Node| PID | Clus| Latest Start | Need to| Listen Ports| Running |
| | |Name | | ter |Time / Shutdown |Restart | | Engines |
| | | | | | Time | | | |
+--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+

제5장 JEUS 클러스터링 57


| adminSe| RUNNING | N/A | 5360 | N/A | 2016-08-23 | false | base-192.168| jms, |
|rver(*) |(00:09:48| | | |(화) 오후 | |.34.3:9736 | ejb, web |
| |) | | | |03:53:28 KST | | http-server-| |
| | | | | | | |0.0.0.0:8088 | |
| | | | | | | |jms-internal-| |
| | | | | | | |0.0.0.0:9741 | |
+--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
| server1| SHUTDOWN|node1| N/A | clus| 2016-08-23 | N/A | N/A | N/A |
| |(00:00:11| | |ter1 |(화) 오후 | | | |
| |) | | | |04:03:05 KST | | | |
+--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
| server2| SHUTDOWN|node2| N/A | clus| 2016-08-23 | N/A | N/A | N/A |
| |(00:00:11| | |ter1 |(화) 오후 | | | |
| |) | | | |04:03:05 KST | | | |
+--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
==============================================================================================

2. 종료한 클러스터를 다음과 같이 remove-cluster 명령어를 사용해서 삭제한다. remove-cluster 명령어


에 대한 자세한 사용법은 “JEUS Reference Book”의 “4.2.4.31. remove-cluster”를 참고한다.

[DAS]domain1.adminServer>remove-cluster cluster1
Successfully performed the REMOVE operation for cluster (cluster1).
Check the results using "list-clusters or remove-cluster"

3. 클러스터를 해제한 이후 사용하지 않는 서버는 각 상황에 따라 다른 처리가 필요하다.

– Dynamic Servers로 생성한 클러스터의 경우에는 자동으로 생성되었던 서버들이 동시에 삭제된다.

– 삭제한 클러스터에 포함되어 있던 서버들을 단독 서버로 사용할 계획이 없다면 삭제한다. remove-
server 명령어를 사용하여 포함되어 있던 서버(server1, server2)를 삭제한다. remove-server 명령어
에 대한 자세한 사용법은 “JEUS Reference Book”의 “4.2.4.37. remove-server”를 참고한다.

[DAS]domain1.adminServer>remove-server server1
Successfully performed the REMOVE operation for server (server1).
Check the results using "list-servers or remove-server"

[DAS]domain1.adminServer>remove-server server2
Successfully performed the REMOVE operation for server (server2).
Check the results using "list-servers or remove-server"

58 JEUS Domain 안내서


제6장 서버 장애

다양한 이유로 서버가 비정상 종료될 수 있지만 클러스터를 구성하여 서버가 비정상 종료되는 경우에 서
비스의 문제를 최소화 할 수 있다. 본 장에서는 서버가 비정상 종료될 경우의 문제점과 극복 방안에 대해
서 설명한다.

6.1. Domain Administration Server(DAS) 비정상 종료


DAS가 비정상 종료되어도, Managed Server(MS)의 서비스는 영향을 받지 않고 동작한다. DAS가 위치한
머신에 장애가 발생하여 DAS가 비정상 종료된 상태라면, 그 머신에 함께 존재하는 MS들도 영향을 받아
비정상 종료될 가능성이 높다. 그러나 DAS 자체의 비정상 종료가 도메인 내에 존재하는 MS의 서비스에
영향을 주지는 않는다.

6.1.1. 비정상 종료될 때 기능 제한


DAS가 비정상 종료된 경우에는 DAS의 역할이었던 설정의 변경이나, 애플리케이션의 추가 및 변경 등은
DAS가 다시 시작될 때까지 기능을 할 수 없다. DAS가 다시 시작되어 MS로 이벤트를 주면 MS는 다시
DAS의 관리를 받을 수 있다.

DAS와 연결이 안되는 상태에서 MS를 시작하려고 한다면 DAS의 설정으로 시작될 수 없고, MS가 가지고
있는 로컬 Cache를 사용하게 된다. 즉, 기존에 한 번 이상 DAS와 연결을 맺은 적이 있어, DAS로부터 받
은 파일을 로컬에 가지고 있는 경우에만 해당된다. 로컬 Cache를 이용하여 MS를 시작한 뒤에 DAS가 다
시 시작되었을 때 DAS의 파일과 동기화하게 된다. 물론 MS가 DAS와 같은 머신에 존재하여 도메인 디렉
터리를 공유한다면 DAS가 종료되어 있을 때에도 DAS와 같은 설정으로 MS를 시작할 수 있다.

6.1.2. 도메인 백업을 이용한 장애 극복


DAS가 비정상 종료되어도 서비스에는 지장이 없지만 몇 가지 기능이 제한된다. 따라서 DAS를 빨리 복구
시켜야 하는데, DAS가 현 상태 그대로 다시 시작할 수 없는 경우가 있다. 예를 들면 머신 자체가 비정상
종료된 경우에는 머신이 복구되기 전까지는 DAS를 재시작할 수가 없다.

이런 경우를 대비하여 DAS가 가지고 있는 파일들 즉, DAS에서 유지해야 하는 설정과 애플리케이션을 평


소에 백업해둘 수 있다. 미리 백업해 둔 DAS의 파일들을 다른 머신에 복사하여 새로운 머신에서 DAS를
시작할 수 있다. 단, 백업한 애플리케이션을 다른 머신에서 사용하기 위해서는 JEUS_HOME 경로가 기존
머신의 JEUS_HOME과 같아야 한다.

DAS의 설정 및 애플리케이션을 백업하는 방법은 크게 두 가지를 제공한다.

● DAS 부팅 시 도메인 백업 설정을 통한 자동 백업

제6장 서버 장애 59
● pack-domain 명령어를 통한 명시적 백업

백업 설정을 통한 자동 백업은 DAS가 기동할 때에 자동으로 로컬, 혹은 리모트 노드에 백업 파일을 복사


한다. 그리고 pack-domain 명령어는 원하는 때에 백업 파일을 만들 수 있는 기능이다. 이 경우에 만들어진
파일은 사용자가 관리해야 한다.

도메인 백업 설정을 통한 자동 백업
DAS가 시작할 때마다 자동으로 DAS의 설정 및 애플리케이션을 백업한다. 도메인 백업 설정은 WebAdmin
을 통해서 혹은 콘솔 툴(jeusadmin)을 통하여 설정할 수 있다.

● WebAdmin 사용

WebAdmin의 Domain 화면에서 도메인 백업에 대한 설정을 할 수 있다. 사용자는 도메인 백업을 사용
할지 여부와 백업될 디렉터리, 저장될 노드를 설정할 수 있다. 노드가 설정된 경우에는 백업될 디렉터리
는 해당 노드의 디렉터리를 의미하고, 설정되지 않은 경우에는 로컬 디렉터리를 의미한다. 만약 설정된
노드에 옮길 수 없는 경우에는 domains home에 위치시키게 된다.

[backup domain] 버튼은 도메인 자동 백업 설정 버튼이 아니라 명시적 백업을 수행한다.

60 JEUS Domain 안내서


[그림 6.1] 도메인 백업 설정을 통한 자동 백업

● 콘솔 툴 사용

제6장 서버 장애 61
다음과 같이 set-domain-backup 명령어를 사용하여 DAS 시작 시점에 DAS 백업 파일을 만들 수 있도
록 설정할 수 있다.

[DAS]domain1.adminServer>set-domain-backup -backupOnBoot true


Successfully performed the MODIFY operation for Domain Backup Policy.
Check the results using "set-domain-backup"

이렇게 백업된 파일은 기본적으로 pack-domain을 통하여 만든 파일과 동일하고, 설정된 node에서 혹
은 로컬에 저장된 파일을 이용하여 원하는 node에서 unpack-domain을 통하여 사용할 수 있다.

pack-domain 명령을 통한 명시적 백업


● DAS의 설정 및 애플리케이션의 백업

다음과 같이 pack-domain 명령어를 사용하여 DAS의 설정 및 애플리케이션을 백업한다.

offline>pack-domain domain1
Packing the domain [domain1] configuration completed successfully at the path
[JEUS_HOME/domains/domain1_packed.zip].

같은 명령을 WebAdmin의 Domain 화면에서 backup domain 버튼을 통해서도 수행할 수 있다.

● 새로운 머신에 백업한 DAS의 설정 및 애플리케이션 적용

다음과 같이 unpack-domain 명령어를 사용하여 백업한 파일의 압축을 푼다. unpack-domain 명령어
를 사용할 때 DAS의 IP, Port, Node 정보를 변경할 수 있다.

offline>unpack-domain domain1
The Domain Administration Server listener address is already set to [192.168.34.55].
Do you want to change it? (y/n): y
Enter the Domain Administration Server base listener address: 192.168.34.56
The Domain Administration Server listener port is already set to [9736]. Do you
want to change it? (y/n): n
The Domain Administration Server nodename is already set to [node1]. Do you want
to change it? (y/n): y
Enter the Domain Administration Server nodename: node2
The nodemanager of DAS machine listener address is already set to [192.168.34.56].
Do you want to change it? (y/n): n
The nodemanager of DAS machine listener port is already set to [7730]. Do you want
to change it? (y/n): n
Unpacking the domain [domain1] configuration completed successfully.

새로운 머신에서 기존과 같은 설정으로 DAS가 시작되면, INDEPENDENT 모드로 있던 MS들이 DAS로
부터 설정과 애플리케이션을 동기화하고, DAS의 관리를 받게 되어 INDEPENDENT 모드에서 해제된
다.

62 JEUS Domain 안내서


참고

pack-domain, unpack-domain, set-domain-backup 명령어에 대한 자세한 사용 방법은 각각 “JEUS


Reference Book”의 “4.2.4.30. pack-domain”과 “JEUS Reference Book”의 “4.2.4.42. unpack-domain”
과 “JEUS Reference Book”의 “4.2.4.39. set-domain-backup”을 참고한다.

6.1.3. INDEPENDENT 모드의 Managed Server(MS)


MS의 서비스가 DAS의 비정상 종료로 인한 영향을 받지 않기 위해 MS는 DAS의 존재 여부에 의존하지
않고 서비스를 수행한다.

MS의 설정과 애플리케이션의 로컬 Cache는 서버가 시작할 때 DAS로부터 동기화해서 가지고 있고, 변경
될 때마다 DAS와 동기화한다. 그러나 MS가 시작될 때 DAS와 연결되지 않은 경우에는 로컬 Cache를 이
용하여 시작되는데, 이것을 INDEPENDENT 모드라고 한다. 이 상태에서 MS는 DAS의 제어를 받을 수 없
고, DAS 또한 해당 MS를 모니터링할 수 없다. 이는 DAS가 실제로 비정상 종료된 경우와 DAS의 주소를
잘못 설정했거나 네트워크 관련 오류로 연결에 문제가 발생한 경우가 해당된다.

DAS가 재시작되어 MS가 이벤트를 받게 되면 다시 DAS의 관리를 받게 되는 모드로 변경된다.

6.2. Managed Server(MS)의 비정상 종료


도메인 내에 MS들은 Multicast로 서로의 상태 정보를 주고받기 때문에 비정상 종료된 서버를 감지할 수
있다. 비정상 종료된 서버가 노드 설정이 되어 있다면 DAS가 해당 서버를 자동으로 재시작한다.

참고

SSH 노드 매니저를 사용할 때 jeus.server.autorestart 옵션에 따라 재시작의 여부를 결정할 수 있고,


JAVA 노드 매니저를 사용할 때에는 "JEUS Node Manager 안내서"를 참고한다.

제6장 서버 장애 63
제7장 Security 관리

본 장에서는 기본적으로 JEUS 서버를 사용하는 데 있어서 필요한 암호화된 패스워드 및 계정 관리 등 몇


가지 보안 방식에 대해서 간단하게 설명한다. Security 정보는 도메인에 속한 모든 서버가 공유하며, DAS
를 통해 설정해야 한다.

참고

JEUS Security에 대한 자세한 내용은 "JEUS Security 안내서"를 참고한다.

7.1. 계정 관리
JEUS에서 계정은 개인 단위인 User(사용자)와 User들의 집합인 Group(그룹)으로 관리된다.

JEUS의 권한 부여 모델은 Resource(리소스)들에 대한 권한을 Role(역할)이 갖고 Role에 User를 지정하


여, Role이 가진 Resource 권한을 User가 갖는 구조이다.

다음은 Role에 User를 지정하는 3가지 방법이다.

● Role에 User의 Name을 직접 지정한다.

● Role에 User가 속한 Group의 Name을 지정한다.

● Role에 User가 속한 Group의 상위 Group의 Name을 지정한다.

계정의 구조가 User, Group, Subgroup 등의 계층을 갖기 때문에 JEUS에서 비슷한 역할을 하는 User에게
한 번에 비슷한 권한을 부여할 수 있다. 보안 정책에 대한 자세한 설정 방법은 “JEUS Security 안내서”
의 “2.6. 보안 시스템 정책 설정”을 참고한다.

7.2. 패스워드 암호화 저장


시스템 관리를 위한 사용자의 패스워드를 간편하게 암호화하여 저장할 수 있다.

암호화 정보는 다음의 형식으로 저장된다.

{알고리즘}암호문

가능한 암호화 알고리즘은 다음과 같다.

● AES

● DES

● DESede

제7장 Security 관리 65
● blowfish

● SEED

패스워드 암호화 저장은 WebAdmin 또는 콘솔 툴(jeusadmin)을 사용하거나, 암호화 툴을 통해 직접 설정


하는 방법이 있다. 본 절에서는 각 방법에 대해 설명한다.

7.2.1. WebAdmin 사용
다음은 WebAdmin을 통해 사용자 계정 패스워드를 설정하는 방법에 대한 예제이다.

1. WebAdmin 화면 왼쪽의 [Security] 메뉴를 선택한다. Security Manager 화면의 Security Domains
영역의 목록에서 보안 도메인을 선택한다.

[그림 7.1] 패스워드 설정 - 메뉴 이동

2. [LOCK & EDIT] 버튼을 클릭하여 설정변경 모드로 전환한다. WebAdmin의 설정변경 모드에 대한 자세
한 설명은 “JEUS WebAdmin 안내서”의 “2.3.2. 메뉴 영역”을 참고한다.

66 JEUS Domain 안내서


3. [Accounts & Policies Management] > [accounts] 메뉴로 이동한 후 Users 영역에서 패스워드를 변
경할 사용자명을 선택한다.

[그림 7.2] 패스워드 설정 - 사용자명 선택

4. 다음과 같이 User 화면이 나타나면 'Password' 항목 오른쪽의 [입력] 버튼을 클릭한다.

[그림 7.3] 패스워드 설정 - 패스워드 입력

5. 패스워드 암호화에 적용할 알고리즘을 선택하고, 패스워드를 입력한 뒤 [확인] 버튼을 클릭한다.

제7장 Security 관리 67
[그림 7.4] 패스워드 설정 - 패스워드 입력 팝업

6. 사용자의 정보 입력이 완료되면 [확인] 버튼을 클릭한 뒤, 변경 내용의 동적 반영을 위해 [Activate


Changes] 버튼을 클릭한다.

[그림 7.5] 패스워드 설정 - 변경 완료

7. 자신의 패스워드를 변경한 경우에는 WebAdmin 로그인 화면으로 되돌아가며, 변경한 패스워드로 다시
로그인해야 한다. 다른 계정의 패스워드를 변경한 경우에는 변경 완료 메시지를 확인할 수 있다.

7.2.2. 콘솔 툴 사용
다음은 콘솔 툴(jeusadmin)을 통해 'administrator'라는 계정의 'password'라는 암호를 암호화 알고리즘
'AES'를 사용하여 암호화하고 저장하는 예제이다.

[DAS]domain1.adminServer>set-password administrator password -algorithm AES


The password is set for [administrator].

[DAS]domain1.adminServer>exit

68 JEUS Domain 안내서


JEUS_HOME/bin$ jeusadmin -u administrator -p password

Attempting to connect to 127.0.0.1:9736.


The connection has been established to Domain Administration Server adminServer
in the domain domain1.
JEUS8 Administration Tool
To view help, use the 'help' command.

7.2.3. 암호화 툴을 통한 직접 설정
암호화 툴을 통해 직접 암호화를 수행하여 저장할 수도 있다. 예를 들어 DB 패스워드, accounts.xml 계정
들의 패스워드의 경우 일반 문자열 대신 암호화된 문자열로 입력할 수 있다.

암호화된 문자열은 다음의 형식으로 패스워드가 필요한 위치에 설정한다.

{알고리즘}암호문

이러한 암호화된 문자열을 사용하기 위해서는 JEUS가 제공하는 암호화 툴(Encryption Tool)을 사용해야
한다. 암호화 툴은 암호화될 대상이 되는 문자열과 알고리즘을 입력받아 결과물인 암호문을 출력하는데,
그 암호문을 위에서 언급한 형식에 맞춰서 기록한다.

참고

암호화 툴의 사용법에 관한 자세한 사항은 “JEUS Reference Book”의 “4.5. encryption”을 참고한다.

base64 또는 Hash 알고리즘(sha 등)은 평문이 정해지면 결과값도 항상 동일하게 출력되지만, 그 외의 알


고리즘들은 수행하기 위한 비밀 Key(secret key)가 필요하다. 이러한 비밀 Key 관리 방법에 관한 자세한
사항은 “7.3. 비밀 Key 파일 관리”를 참고한다.

다음은 accounts.xml 편집을 통해 암호화된 문자열을 패스워드로 설정하는 예제이다.

[예 7.1] 암호화된 문자열 패스워드 설정 : <<accounts.xml>>

<accounts xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
<users>
<user>
<name>administrator</name>
<password>{base64}amV1czEyMw==</password>
</user>
<user>
<name>user1</name>
<password>{AES}i06wYRz3Gqun2sKtXHIq+Tw3vUcc=</password>
</user>
. . .
</users>

제7장 Security 관리 69
. . .
</accounts>

참고

최초 도메인을 구성했을 때에는 xml을 직접 수정할 수 있으나, 도메인 구성 후에는 WebAdmin이나


콘솔 툴(jeusadmin)을 통해 설정하는 것을 권장한다.

7.3. 비밀 Key 파일 관리
본 절에서는 비밀 Key 파일을 생성하고 관리하는 방법과 비밀 Key 파일의 보호 옵션 및 서버 기동 방법에
대해 설명한다.

7.3.1. 비밀 Key 파일의 생성과 관리


JEUS_HOME/bin에 위치한 암호화 툴(Encryption Tool)이 제공하는 AES, DES, DESede, SEED, BlowFish
등의 알고리즘은 암호화, 복호화를 수행하기 위해 비밀 Key가 필요하다. 이를 위해서 JEUS는 비밀 Key
파일을 사용한다. 비밀 Key 파일은 암호화 툴을 처음으로 사용할 때 자동으로 생성되며, 그 이후로는 그
파일을 계속 사용한다.

비밀 Key 파일은 기본적으로 다음 경로의 security.key 파일이다.

JEUS_HOME/domains/<domain-name>/config/security

또는 jeus.security.keypath 시스템 프로퍼티로 지정할 수 있다. 이 경로는 절대 경로, 상대 경로 모두 가능


하며, 상대 경로의 기준 경로는 JVM을 실행한 경로이다. 경로를 디렉터리로 지정할 경우에는 해당 디렉터
리의 security.key 파일을 이용하며, 파일로 지정할 경우에는 지정된 파일을 사용한다.

7.3.2. 비밀 Key 파일 보호 옵션과 서버 기동 방법


JEUS에서는 위에서 언급한 비밀 Key 파일 자체를 보호하는 옵션도 제공한다. 이를 위해서는 비밀 Key 파
일을 암호화하기 위한 패스워드가 필요하다. 이를 마스터 패스워드(Master Password)라고 한다. 암호화
툴을 실행할 때 -protectkey 옵션을 입력하면 이 마스터 패스워드를 이용해서 비밀 Key 파일을 보호할 수
있다.

암호화 툴을 통해 마스터 패스워드가 설정되었다면 서버를 기동할 때 반드시 마스터 패스워드가 필요하
게 된다.

마스터 패스워드를 입력하는 방법은 다음과 같이 크게 2가지가 있다.

● 서버를 백그라운드 프로세스로 시작할 경우 시스템 프로퍼티 jeus.security.master로 지정하는 방법

● JEUS에서 제공하는 스크립트를 이용하여 시작할 때 콘솔 툴로 입력받는 방법

70 JEUS Domain 안내서


jeus.security.master로 지정하는 방법은 셸 스크립트에 마스터 패스워드를 입력해야 하므로 보안상 안전
하지 않다. 만약 마스터 패스워드를 사용해야 하는 상황이라면 되도록 후자의 방법을 추천한다.

참고

1. 서버 기동에 대한 자세한 내용은 “JEUS Reference Book”의 “제3장 JEUS 서버 기동 및 종료”을 참


고한다.

2. 비밀 Key에 대한 자세한 내용은 “JEUS Reference Book”의 “4.5. encryption”을 참고한다.

7.4. Keystore와 Truststore 관리


본 절에서는 SSL 통신에 사용되는 Keystore와 Truststore의 관리에 대해 간단히 설명한다.

Keystore와 Truststore는 모두 Java Key Store(JKS) 형식으로 본질적으로 동일하며, JDK에서 제공하는
Key 툴을 사용하여 생성 및 관리할 수 있다.

참고

Keystore, Truststore 및 SSL에 대한 자세한 정보를 원한다면 Java SE 문서나 http://www.ora


cle.com/technetwork/java/index.html에서 JSSE, JKS, Key 툴(keytool) 관련 정보를 찾아볼 수 있다.

JEUS는 기본적으로 다음 경로의 파일들을 각각 Keystore, Truststore로 지정해서 사용하며, Keystore,


Truststore가 다른 경로에 혹은 다른 이름으로 존재한다면 이를 직접 설정해야 한다.

● Keystore

Keystore는 개인 Key(Private Key)들만 별도로 모아서 저장해 놓은 저장소이다.

JEUS_HOME/domains/<domain-name>/config/security/keystore 파일

● Truststore

Truststore는 공개 Key(Public Key)들만 별도로 모아서 저장해 놓은 저장소이다.

JEUS_HOME/domains/<domain-name>/config/security/truststore 파일

설정 방법은 시스템 전체적으로 시스템 프로퍼티로 설정할 수도 있고, Keystore와 Truststore가 필요한 부
분에서 각각 설정할 수도 있다. 각각 설정하는 방법은 안내서의 각 파트에 별도로 설명이 되어 있다.

사용하는 시스템 프로퍼티는 다음과 같다.

시스템 프로퍼티 설명

jeus.ssl.keystore SSL에서 사용하는 Keystore 파일 경로를 설정한다.

(기본값: JEUS_HOME/domains/<domain-name>/config/security/keystore)

jeus.ssl.truststore SSL에서 사용하는 Truststore 파일 경로를 설정한다.

제7장 Security 관리 71
시스템 프로퍼티 설명

(기본값: JEUS_HOME/domains/<domain-name>/config/security/truststore)

jeus.ssl.keypass SSL에서 사용하는 Keystore 패스워드를 설정한다.

(기본값: jeuskeypass)

jeus.ssl.trustpass SSL에서 사용하는 Truststore 패스워드를 설정한다.

(기본값: jeustrustpass)

Keystore와 Truststore를 사용하기 위해서는 패스워드가 필요하며 위에서 설명한 것처럼 JEUS는 Keystore
와 Truststore의 패스워드를 설정할 수 있다. 경로를 설정하는 것과 마찬가지로 시스템 프로퍼티로 전체적
으로 설정하거나 필요한 부분에서 각각 설정할 수도 있다.

특히 Keystore는 저장소 자체의 패스워드 외에 Keystore 내에 존재하는 Key별로 각각 패스워드가 요구된


다. 하지만 대부분의 경우에 이 패스워드들이 Keystore의 패스워드와 동일하기 때문에 JEUS 내부적으로
Keystore 패스워드와 동일하게 사용된다.

Keystore의 Key 패스워드를 저장소 패스워드와 구분해야 하는 경우에는 각 설정에 <keystore-keypassword>


지정하는 태그가 있으므로 이를 지정하여 사용한다. 또한, Keystore 내의 Key들의 패스워드가 서로 다를
경우 해당 Keystore를 이용할 수 없으며 동일 Keystore 내부의 Key들은 모두 동일한 패스워드로 설정되어
있어야 한다.

참고

JEUS를 설치할 때 기본적으로 Keystore와 Truststore가 포함되어 있지만 직접 Keystore와 Truststore


를 새로 생성하여 설정하는 것을 권장한다.

7.5. SSL이 설정된 도메인에서의 실행 스크립트 관리


본 절에서는 도메인에서 각 서버의 Base Listener를 SSL로 동작하도록 설정하였을 때 각종 실행 스크립
트에 추가해야할 설정에 대해서 설명한다.

도메인에 속하는 각 서버들을 SSL로 설정할 경우 서버들 간의 통신은 서버에 설정된 SSL 설정들이 이용
되지만, Console Admin 혹은 실행 스크립트 등 클라이언트 입장에서 동작하는 프로세스들에는 SSL 설정
이 따로 필요하게 된다.

다음의 경우 SSL 설정이 필요하다.

구분 설명

jeusadmin 콘솔 툴을 실행하기 위한 스크립트

startManagedServer MS를 직접 구동하기 위한 스크립트

startNodeManager NodeManager를 구동하기 위한 스크립트

stopServer 서버의 동작을 정지시키기 위한 스크립트

72 JEUS Domain 안내서


구분 설명

기타 Standalone Client 스크립트는 아니지만 SSL을 이용하여 서버와 통신해야 하는 Standalone


Client

다음 예제에서 볼드체로 강조된 부분은 스크립트에 추가해야 할 내용이다.

[예 7.2] SSL과 관련된 클라이언트 설정을 직접 명시한 jeusadmin 스크립트

. . .
# execute jeusadmin
"${JAVA_HOME}/bin/java" -classpath "${BOOTSTRAP_CLASSPATH}" ${TOOL_OPTION}
-Djmx.remote.x.request.timeout=600000
-Djava.library.path="${JEUS_LIBPATH}"
-Djeus.home="${JEUS_HOME}"
-Djeus.baseport=${JEUS_BASEPORT}
-Djeus.tool.console.useJLine="false"
-Djava.endorsed.dirs="${JEUS_HOME}/lib/endorsed"
-Djava.naming.factory.initial=jeus.jndi.JEUSContextFactory
-Djava.naming.factory.url.pkgs=jeus.jndi.jns.url
-Djava.util.logging.config.file="${JEUS_HOME}/bin/logging.properties"
-Djeus.net.client.use-ssl=true
-Djavax.net.ssl.trustStore=${JEUS_HOME}/domains/domain1/config/truststore
-Djavax.net.ssl.trustStorePassword=changeit
-Djavax.net.ssl.trustStoreType=JKS
-Dssl.TrustManagerFactory.algorithm=SunX509
-Djavax.net.ssl.keyStore=${JEUS_HOME}/domains/domain1/config/keystore
-Djavax.net.ssl.keyStorePassword=changeit
-Djavax.net.ssl.keyStoreType=JKS
-Dssl.KeyManagerFactory.algorithm=SunX509
-Djeus.security.keypath=${JEUS_HOME}/domains/domain1/config/security/security.key
${JAVA_ARGS}
jeus.tool.console.ConsoleBootstrapper ${BOOT_PARAMETER}

또는 다음과 같이 대부분의 설정을 별도의 파일에 명시한 후 해당 파일을 지칭할 수 있다.

[예 7.3] SSL 설정을 별도 파일에 명시하도록 한 jeusadmin 스크립트

. . .
# execute jeusadmin
"${JAVA_HOME}/bin/java" -classpath "${BOOTSTRAP_CLASSPATH}" ${TOOL_OPTION}
-Djmx.remote.x.request.timeout=600000
-Djava.library.path="${JEUS_LIBPATH}"
-Djeus.home="${JEUS_HOME}"
-Djeus.baseport=${JEUS_BASEPORT}
-Djeus.tool.console.useJLine="false"
-Djava.endorsed.dirs="${JEUS_HOME}/lib/endorsed"

제7장 Security 관리 73
-Djava.naming.factory.initial=jeus.jndi.JEUSContextFactory
-Djava.naming.factory.url.pkgs=jeus.jndi.jns.url
-Djava.util.logging.config.file="${JEUS_HOME}/bin/logging.properties"
-Djeus.net.client.ssl-properties-file=ssl.properties
${JAVA_ARGS}
jeus.tool.console.ConsoleBootstrapper ${BOOT_PARAMETER}

다음은 SSL과 관련된 클라이언트 설정을 별도 파일에 명시한 예제이다. 파일에 설정을 할 경우에는
${JEUS_HOME}으로 시작하는 상대 경로는 사용할 수 없으므로 주의한다.

[예 7.4] SSL과 관련된 클라이언트 설정 : <<ssl.properties>>

javax.net.ssl.keyStore=/Users/ccs/workspace/JEUS8/target/jeus/domains/domain1/config/keystore
javax.net.ssl.trustStore=/Users/ccs/workspace/JEUS8/target/jeus/domains/domain1/config/truststore
javax.net.ssl.keyStorePassword=jeus
javax.net.ssl.trustStorePassword={AES}i06wYRz3Gqun2sKtXHIq+Tw3vUcc=
jeus.ssl.keystorekeypass={base64}amV1czEyMw==
jeus.security.keypath=/Users/ccs/workspace/JEUS8/target/jeus/domains/domain1/config/security/security.key

password가 들어가는 property 항목에는 accounts.xml에 사용되는 것과 동일한 방식으로 인코딩 혹은 암


호화된 문자열을 사용할 수 있다. 이때는 JEUS에서 제공하는 암호화 툴을 사용하도록 한다.

참고

1. 암호화 툴 사용법에 대한 자세한 사항은 “JEUS Reference Book”의 “4.5. encryption”을 참고한다.

2. 도메인을 SSL 환경 하에서 사용하기 위해서는 Node Manager에도 동일한 SSL 설정을 해야한다.
자세한 사항은 “JEUS Node Manager 안내서”의 “2.3.1. 설정 파일”을 참고한다.

74 JEUS Domain 안내서


Keystore와 Truststore 관리, 71
색인
L
local-shutdown 명령어, 39, 41

M
A Managed Server(MS), 2, 5
add-cluster 명령어, 18 modify-dynamic-servers 명령어, 53, 56
add-jvm-option 명령어, 33 modify-jvm-option 명령어, 34
add-server 명령어, 18, 52 modify-system-thread-pool 명령어, 33
add-servers-to-cluster 명령어, 52
add-ssh-node 명령어, 18 N
Need to Restart, 27
C
Cloud Server, 3, 6 P
Cluster, 3 pack-domain 명령어, 62

D R
Domain Administration Server(DAS), 2, 4 remove-cluster 명령어, 58
remove-jvm-option 명령어, 34
I remove-server 명령어, 55, 58
INDEPENDENT 모드, 63 remove-servers-from-cluster 명령어, 55

J S
JEUS_HOME 디렉터리, 19 SCF(System Clustering Framework) 기능, 43
jeus.ssl.keypass, 72 server-info 명령어, 27
jeus.ssl.keystore, 71 serverinfo 명령어, 18, 44, 53
jeus.ssl.trustpass, 72 set-domain-backup 명령어, 62
jeus.ssl.truststore, 71 set-password 명령어, 68
jeusadmin 스크립트, 72 show-dynamic-servers 명령어, 54, 56
JEUS와 도메인 관계, 1 SSH 노드, 14
JEUS의 권한 부여 모델, 65 SSL 설정 스크립트
jps 명령어, 36, 39 jeusadmin, 72
Standalone Client, 73
K startNodeManager, 72
Keystore, 71 stopServer, 72
Keystore/Truststore 시스템 프로퍼티, 71 Standalone Client, 73
jeus.ssl.keypass, 72 start-cluster 명령어, 53
jeus.ssl.keystore, 71 start-server 명령어, 37
jeus.ssl.trustpass, 72 startCloudServer 스크립트, 38
jeus.ssl.truststore, 71 startDomainAdminServer 스크립트, 36

색인 75
startManagedServer 스크립트, 37, 72 동적 설정변경 과정, 24
startNodeManager 스크립트, 72
stop-cluster 명령어, 57 ㅁ
stop-server 명령어, 41, 55 마스터 패스워드(Master Password), 70
stopServer 스크립트, 39, 41, 72
System Thread Pool 개수 변경, 32 ㅂ
부하 분산(Load Balancing), 47, 48
T 비밀 Key 파일 관리, 70
Truststore, 71

U 서버 Life Cycle, 35
unpack-domain 명령어, 62 서버 Life Cycle 상태, 42
FAILED, 43
V FAILURE_SUSPECTED, 43
Virtual Multicast, 9 RESUMING, 43
RUNNING, 43
W SHUTDOWN, 42
webcommon.xml, 22 SHUTTING_DOWN, 43
STANDBY, 42
ㄱ STARTING, 42
SUSPENDED, 43
계정 관리, 65
SUSPENDING, 43
서버 시작, 36

Domain Administration Server(DAS), 36
노드, 14
Managed Server(MS), 37
서버 시작 준비, 35
ㄷ 서버 장애, 59
데이터소스 등록 및 제거, 50 서버 종료, 39
도메인, 47 Domain Administration Server(DAS), 39
도메인 구성, 13 Managed Server(MS), 40
도메인 구성 고려사항, 1 서버의 JVM 설정변경, 33
도메인 구성요소, 2 설정 로테이션, 28
Cloud Server, 3
Cluster, 3 ㅈ
Domain Administration Server(DAS), 2
장애 극복(Failover), 47, 48
Managed Server(MS), 2
도메인 디렉터리, 21

도메인 생성, 9
클러스터, 47
도메인 설정변경, 30
클러스터 JMS 리소스 설정, 50
도메인 운영 방법, 6
클러스터 Timer Service 설정, 50
도메인(Domain), 1
클러스터 세션 서버 설정, 49
동적 설정 반영, 23

76 JEUS Domain 안내서



패스워드 암호화 저장, 65

색인 77

You might also like