LNA Web Application Server

Guides -LENA 운영자 가이드

Server Cluster

Server Cluster는 동일한 서비스 제공을 위해 동일한 구성으로 이루어진Application Server와 Web Server, Session Server의 묶음이다. Application Server는 1개 이상을 필수로 등록해야 하며 Web Server는 필수는 아니므로 0개 이상 등록할 수 있다. Session Server는 Server Cluster 생성 후 상세 화면에서 등록한다. Server Cluster내 Application Server들은 Master Server를 기준으로 Server 설정/Application 구성/Resource 정보를 동기화 한다. Server Cluster 내 Web Server 들은 Master Server를 기준으로 Server 설정을 동기화한다. 또한 각 Web Server가 Server Cluster 내 모든 Application Server와 연동하도록 연동 정보를 동기화한다. Server Cluster 내 Session Server들은 모든 Application Server와의 연계 정보를 동기화한다.

Server Cluster목록

Server Cluster은 속성은 아래와 같다.

항목설명비고
Select삭제를 위한 콤보박스
Server Cluster NameCluster 명
ServersServer Cluster를 구성하는 각 Server별 개수
- Application Server
- Web Servers
- Session Servers
Description상세설명

Server Cluster 생성

Server Cluster 생성에서는 Server Cluster를 구성할 Application Server 목록과 Web Server 목록을 선택한다. Application Server는 반드시 1개 이상 선택해야 하며 Web Server 선택은 필수는 아니다.

  1. Server Cluster Group을 선택하고 Cluster 목록 하단의 버튼을 클릭하면 아래와 같은 신규 등록 화면이 출력된다.

  1. Server Cluster Name을 입력하고 Application Server Type을 선택한다. 선택한 Application Server Type에 해당하는 목록이 아래 선택 가능한 Application Server 목록에 조회된다.

  2. 왼쪽 영역의 선택 가능한 Server에서 버튼을 클릭하여 동기화 할 Application Server와 Web Server를 각각 선택한다. 선택된 Server는 오른쪽 영역에 지정된다. Application Server는 반드시 1개 이상 선택해야 하며, Web Server는 필수가 아니므로 선택적으로 지정하면 된다. 하나의 Server는 하나의 Server Cluster에만 지정할 수 있으므로, 다른 Server Cluster에 매핑되지 않은 Application Server와 Web Server만 선택 가능한 Server 목록에 조회된다.

  3. 버튼을 클릭하여 저장한다.

     저장 시, 선택된 Application Server, Web Server 목록에서 첫 행에 있는 서버가 각각 Master Server로 지정된다. (Master Server는 추후 변경 가능)
    

Server Cluster 삭제

  1. Server Cluster Group을 선택한 후, Server Cluster목록에서 삭제할 Server Cluster의 콤보박스를 체크한다.

  2. 버튼을 클릭하여 삭제한다.

Server Cluster Overview

좌측 메뉴 또는 Server Cluster Group 상세에서 Server Cluster를 선택하면 Server Cluster에 대한 Overview 화면이 출력된다.

Server Cluster 상세 영역 하위의 각 버튼이 제공하는 기능은 아래와 같다.

버튼명기능
CompareServer Cluster 내 Application Server와 Web Server, Session Server의 동기화 상태를 비교한다.
Server 유형별 비교 항목은 아래와 같으며, 이는 아래 Server 목록 영역의 각각의 컬럼에 출력된다.
Server Config, Application 및 Resource 비교는 각 Server 유형별 Master Server를 기준으로 한다.
1) Application Server
- Server Config : Application Server 설정 정보 동일 여부
- Application : 각 Application Server에 deploy된 Application이 동일한지 여부
- Resource : Resource 설정 동일 여부
- Session : 정의된 Session Server를 기준으로 Session Clustering을 위한 Session Server 설정이 유효한지 여부
2) Web Server
- Server Config : Web Server 설정 정보 동일 여부
- Connect to WAS : Server Cluster 내 모든 Application Server와 연계되어 있는지 여부
3) Session Server
- Connected by WAS : 정의된 Session Server를 기준으로 Session Clustering을 위한 각 Application Server의 Session Server 설정이 유효한지 여부. Session Server 탭을 통해 Session Server를 정의한 경우에만 비교한다.
SyncServer Cluster 내 Application Server의 Server Config, Application, Resource 를 동기화한다.
Server Cluster 내 Web Server의 Server Config,와 WAS 연계 정보를 동기화한다.
Server Cluster 내 모든 Application Server가 지정된 Session Server를 통해 Session Clustering을 수행하도록 동기화한다.
Snapshot동기화된 Server Cluster에 대해 현재 상태를 Snapshot으로 저장한다. 생성된 Snapshot은 Snapshot 탭에서 확인할 수 있다.
Snapshot을 만들 때 소스코드는 Snapshot에 복사 되지 않으며 복사되는 설정파일은 기본설정 파일들과 application설정파일, enterprise.xml 까지만 Snapshot에 포함된다. 과도하게 Snapshot을 생성하면 시스템 디스크 용량을 많이 차지할 수 있으므로 꼭 필요한 경우에만 생성하고 불필요한 Snapshot은 Snapshot 탭을 통해 삭제해야 한다.
Graceful RestartServer Cluster 내 Web Server와 Application Server를 순차적으로 재기동한다. Graceful Stop을 수행하므로 처리 중인 service가 모두 종료된 후 Server가 stop 된다.
처리 순서는 아래와 같다. ()로 표현된 절차는 생략 가능하다.
Web Server Stop Application Stop (Application Source 업로드) Application Server Start (별도 port로 테스트를 위해 Web Server를 staging port로 Start) Web Server Start
SaveServer Cluster 상세 설정의 변경 내용을 저장한다.
상세 설정 중 Server Config Synchronization Policy의 option은 아래와 같다. (기본값 : Stop)
- Stop : 설정 동기화 중 오류 발생 시 즉시 중지
- Rollback : 설정 동기화 중 오류 발생 시 전체 rollback
- Force : 설정 동기화 중 오류 발생 시 해당 Server를 건너뛰고 다음 Server에 대한 동기화 수행

동기화 상태 조회

Server Cluster의 동기화 상태는 각 Server 목록의 아래 컬럼을 통해 확인할 수 있다. 동일 또는 유효한 상태인 경우 상태가 아이콘으로 출력된다.

  • Application Server의 Server Config, Application, Resource

  • Web Server의 Server Config, Connect to WAS

  • Session Server의 Connected by WAS

Server의 상태가 동일하지 않을 경우 아이콘으로 나타나며, 해당 아이콘을 클릭하면 아래와 같이 별도의 창이 출력되어 Server별 상세 정보를 확인할 수 있다. 또한 각 Server 목록에서 Server Name을 클릭하면 해당 Server 상세 화면으로 이동할 수 있다.

<Application Server의 Server Config 상세>

설정 파일의 내용 또는 최종 수정일자가 다른 경우 으로 표시된다.

아이콘을 클릭하면 Master Server와의 설정 파일 비교 결과가 출력된다.

<Application Server의 Application 상세>

Application의 Deploy 상태 비교 결과가 출력된다.

<Application Server의 Resource 상세>

Application Server의 Resource 비교 결과가 출력된다.

<Web Server의 Server Config>

설정 파일의 내용 또는 최종 수정일자가 다른 경우 으로 표시된다.

아이콘을 클릭하면 Master Server와의 설정 파일 비교 결과가 출력된다.

<Web Server의 Connect to WAS>

해당 Web Server가 Server Cluster에 속한 모든 Application Server에만 연계되어 있을 때 상태로 출력되며 그 외의 경우에는 으로 표시된다. 아이콘을 클릭하면 아래와 같이 상세 정보를 확인할 수 있다. Web Server에 연계되어 있는 Application Server가 모두 Server Cluster에 등록된 Server인지에 대한 상세 정보를 출력한다((Web Server Status). 또한 Server Cluster에 등록된 모든 Application Server가 해당 Web Server에 연계되어 있는지에 대한 상세 정보를 출력한다(Application Server Status).

<Session Server의 Connected by WAS>

모든 Application Server의 Session Clustering 설정이 지정된 Session Server로 적용되어 있는지 비교한 결과가 출력된다.

  동기화 정책 설정은 1.0.3버전부터 제공한다. (이전버전은 Stop 정책으로 동기화 수행)

  설정파일의 1차 비교 기준은 파일의 수정일자 또는 파일 사이즈가 다른 경우이다.

Graceful Restart

Graceful Restart 수행시 아래와 같은 절차를 통해 수행된다. (Server Cluster 내 모든 서버에 적용됨) 이를 통해 처리중인 업무의 처리 종료를 보장하면서 Server Cluster 내 모든 서버에 대한 재기동을 수행할 수 있다.

  • Web Server Stop

  • Application Server Stop

  • 소스 배포 (생략 가능)

  • Application Server Start

  • Web Server를 Staging mode로 Start (생략 가능)

  • Web Server Start

<Graceful Restart 시작 전>

Start Process 버튼을 클릭하면 Graceful Restart 작업이 시작된다.

<Web Server Stop 단계>

Web Server에 대한 Stop을 수행한다. 수행 중인 Thread가 모두 종료된 후 Web Server가 Stop된다.

<Application Server Stop 단계>

Application Server에 대한 Stop을 수행한다. 본 단계는 모든 Web Server가 종료된 후 활성화된다.

<소스 배포>

Application Server에 대한 소스 배포를 수행한다. 별도의 배포 시스템이 있는 경우 이 단계는 생략 가능하다.

<Application Server Start 단계>

Application Server에 대한 Start를 수행한다. 기동 로그를 함께 조회할 수 있다.

<Web Server Staging Start 단계>

Web Server를 Staging mode로 Start 한다. (본 단계는 생략 가능하다.) 이를 통해 일반 사용자에게 open 하기 전, 운영과 동일한 환경에서 staging port로 업무에 대한 테스트를 수행할 수 있다.

<Web Server Start 단계>

Web Server를 Start 한다. (만약 이전에 Staging mode로 Web Server가 Start 되어 있는 경우 Stop/Start를 수행한다.)

<Graceful Restart 완료>

Application Server 및 동기화 대상 파일 관리

Application Server 탭 하위 Clustering 탭을 통해 Application Server 목록과 동기화 대상 설정 파일을 수정할 수 있다. 또한 설정 파일에 대한 동기화 상태를 비교하고 동기화를 수행할 수 있다. Overview 탭에서의 Compare와 Sync 버튼 Server Cluster 전체에 대한 수행이며, Application Server Tab에서의 Compare와 Sync 버튼은 Application Server의 Server Config 에 대한 수행인 것이 다르다.

Application Server 목록의 Server Config 컬럼을 통해 각 Server 설정의 동기화 상태를 조회할 수 있다. 상세 보기는 Overview와 동일하다.

Application Server 목록 관리

Edit Clustering 버튼을 클릭하면 아래와 같이 Application Server 목록을 수정할 수 있는 화면이 출력된다. 이를 통해 Server Cluster를 구성하는 Application Server 목록을 수정할 수 있다.

기 설치되어 있는 Application Server를 목록에 등록하거나 목록에서 제외할 수 있으며, Clone 기능을 통해 Master Server와 동일한 신규 Application Server를 Install 한 후 목록에 등록할 수 있다.

버튼명기능
CloneMaster Server를 복제한 새로운 Application Server를 설치하고 Server Cluster에 추가한다.
Save오른쪽 목록의 Selected Servers에 선택된 Application Server를 Server Cluster에 저장한다.Application Server의 Master Server를 변경한 경우 이를 저장한다.

Clone 버튼을 클릭하면 아래와 같이 Server ID와 Port를 입력할 수 있는 창이 출력된다. Clone 기능은 Application Server Clone에서 설명한 내용과 동일하므로 상세한 설명은 생략한다. 단, Server Cluster 내에서의 Clone은 Master Server가 Clone을 위한 Source로 지정되어 있으므로 "Server List to clone(source)" 항목을 출력하지 않는다는 점이 다르다.

동기화 대상 설정 파일 관리

Clustering 탭의 하단 영역을 이용해 동기화 대상 설정 파일 목록을 편집할 수 있다.

  • Server Configs for Synchronization : Server Cluster 내의 Application Server에서 동일한 내용으로 유지할 파일 목록을 의미한다. Server Cluster 생성시 기본적인 파일 목록이 등록되어 있으며 프로젝트 사정에 맞게 파일을 추가/삭제할 수 있다. 파일의 경로는 Application Server의 Home 하위의 상대 경로이다.

  • Server Configs Excluded in Synchronization : Application Server 별로 동기화 대상에서 제외할 특정 파일을 지정한다. (optional)

버튼을 클릭하면 행이 추가되며, 특정 행의 check box를 해제하고 Save 버튼을 누르면 해당 행이 삭제된다.

Application 관리

Application Server 탭 하위 Application 탭을 통해 Server Cluster 내 Application Server에 대한 Application 배포 작업을 수행하고 Application 상태를 확인할 수 있다.

제공되는 화면과 기능은Status 항목을 제외하고는 5.2.1장 Single Server에 배포(standard 서버), 5.3.1장 Single Server에 배포(enterprise 서버), 5.4.1. Single Server에 Upload, 5.5 Application Start/Stop/Reload 관리에서 기술한 내용과 동일하다. 따라서 기능에 대한 상세 설명은 본 장에서는 생략한다.

다만 5.2.1, 5.3.1, 5.4.1, 5.5장에서의 Application 배포/Upload/Start/Stop/Reload는 단일 Server를 대상으로 한 것이며, Server Cluster Application 탭에서의 동작은 Server Cluster를 구성하는 모든 Server에 일괄 적용된다는 점이 다르다.

Application 목록의 Status 컬럼은 Server Cluster 내의 Application 상태를 나타낸다. Status의 첫 번째 컬럼은 Application 배포(Deploy) 상태를, 두 번째 컬럼은 Application Start 상태를 의미한다.

상태를 나타내는 아이콘은 아래와 같다.

구분상태설명
배포 상태Same해당 Application이 Server Cluster 내 모든 Application Server에 동일하게 Deploy 되어 있음
Different아래 상태 중 하나를 의미함.
- 일부 Application Server에 해당 Application이 Deploy 되어 있지 않음
- 일부 Application Server에 해당 Application이 Deploy 되어 있으나, DocBase가 다름.
Error일부 Application Server의 Application 상태를 조회할 수 없음 (Node Agent가 Stop 상태인 경우 등)
Start 상태StartServer Cluster 내 Application Server에 Deploy 되어 있는 해당 Application이 모두 Start 상태임.
(회색의 Start 아이콘인 경우: master 서버의 어플리케이션은 Start 상태이고 slave 서버 중 일부에서 어플리케이션이 중지상태임)
StopServer Cluster 내 Application Server에 Deploy 되어 있는 해당 Application이 모두 Stop 상태임.
(회색의 Stop 아이콘인 경우: master 서버의 어플리케이션은 Stop 상태이고 slave 서버 중 일부에서 어플리케이션이 시작상태임)
Server StopServer Cluster 내 Application Server가 비기동 상태임
(회색의 Server Stop 아이콘인 경우: master 서버는 비기동 상태이고 slave 서버는 어플리케이션이 시작상태임)
Start 상태는 Deploy 되어 있는 Application만을 기준으로 비교한다. 즉, 해당 Application이 Deploy 되어 있지 않는 Server는 비교 대상이 되지 않는다.

Application 목록의 마지막 컬럼에는 "application synchronization" 버튼이 위치한다.

이 버튼은 Master Server의 Application을 Slave Server로 동일하게 Deploy 할 때 사용하며, 따라서 해당 Application이 Master Server와 Slave Server에 다르게 Deploy 되어 있는 경우에만 활성화된다.

"application synchronization" 버튼을 클릭하면, 아래와 같은 절차로 Application에 대한 동기화를 수행한다.

  1. Master Server의 DocBase가 Slave Server에 존재하는지 확인하고 존재하지 않으면 Master Server의 DocBase를 Slave Server에 복사

  2. 해당 Application이 Master Server와 다르게 Deploy 되어 있는 경우(Application Name은 같으나 DocBase가 다른 경우 등)에는 Undeploy 수행

해당 Application이 Deploy 되어 있지 않은 Slave Server에 대해 Deploy 수행

Resource 관리

Application Server 탭 하위 DataSource, JMS, JTA 탭을 통해 Server Cluster 내 Application Server에 대한 Resource(DataSource, JMS, JTA) 관리 기능을 제공한다. 제공되는 화면과 기능은 4.3.7장 하위의 JMS, JTA 관리 및 7장 DataSource 관리에서 기술한 내용과 동일하다. 따라서 기능에 대한 상세 설명은 본 장에서는 생략한다. 다만 앞에서 기술된 내용은 단일 Server에서의 Resource 관리를 대상으로 한 것이며, Server Cluster 내 DataSource, JMS, JTA 탭에서의 동작은 Server Cluster를 구성하는 모든 Application Server에 일괄 적용된다는 점이 다르다. 또한 각 Resource 목록의 Status 컬럼은 Application Server 별 Resource 상태를 비교한 결과를 나타낸다.

  DataSource, JMS, JTA 탭에서의 Resource 목록은 Master Server를 기준으로 출력되며, 각 Server의 Resource가 동일하게 설정되어 있다는 가정하에 등록/수정/삭제 작업을 수행한다. 따라서 Master Server와 Slave Server의 Resource 목록이 다른 경우에는 등록/수정/삭제 작업이 Slave Server에 동일하게 적용되지 않을 수 있다. (예를 들어 특정 Resource가 Master Server에만 존재하는 상태에서 Delete를 수행할 경우 Slave Server에서는 삭제 작업이 수행되지 않는다.)

Web Server 및 동기화 대상 파일 관리

Web Server 탭을 통해 Web Server 목록과 동기화 대상 설정 파일을 수정할 수 있다. 또한 설정 파일에 대한 동기화 상태를 비교하고 동기화를 수행할 수 있다. Overview 탭에서의 Compare와 Sync 버튼 Server Cluster 전체에 대한 수행이며, Web Server Tab에서의 Compare와 Sync 버튼은 Web Server의 Server Config 에 대한 수행인 것이 다르다.

Web Server 목록의 Server Config 컬럼을 통해 각 Server 설정의 동기화 상태를 조회할 수 있다. 상세 보기는 Overview와 동일하다.

Web Server 목록 관리

Edit Clustering 버튼을 클릭하면 아래와 같이 Web Server 목록을 수정할 수 있는 화면이 출력된다. 이를 통해 Server Cluster를 구성하는 Web Server 목록을 수정할 수 있다. 기 설치되어 있는 Web Server를 목록에 등록하거나 목록에서 제외할 수 있으며, Clone 기능을 통해 Master Server와 동일한 신규 Web Server를 Install 한 후 목록에 등록할 수 있다.

버튼명기능
CloneMaster Server를 복제한 새로운 Web Server를 설치하고 Server Cluster에 추가한다.
Save오른쪽 목록의 Selected Servers에 선택된 Web Server를 Server Cluster에 저장한다.
Web Server의 Master Server를 변경한 경우 이를 저장한다.

Clone 버튼을 클릭하면 아래와 같이 Server ID와 Port를 입력할 수 있는 창이 출력된다. Clone 기능은 Web Server Clone에서 설명한 내용과 동일하므로 상세한 설명은 생략한다. 단, Server Cluster 내에서의 Clone은 Master Server가 Clone을 위한 Source로 지정되어 있으므로 "Server List to clone(source)" 항목을 출력하지 않는다는 점이 다르다.

동기화 대상 설정 파일 관리

Web Server 탭의 하단 영역을 이용해 동기화 대상 설정 파일 목록을 편집할 수 있다.

  • Server Configs for Synchronization : Server Cluster 내의Web Server에서 동일한 내용으로 유지할 파일 목록을 의미한다. Server Cluster 생성시 기본적인 파일 목록이 등록되어 있으며 프로젝트 사정에 맞게 파일을 추가/삭제할 수 있다. 파일의 경로는 Web Server의 Home 하위의 상대 경로이다.

  • Server Configs Excluded in Synchronization : Application Server 별로 동기화 대상에서 제외할 특정 파일을 지정한다. (optional)

버튼을 클릭하면 행이 추가되며, 특정 행의 check box를 해제하고 Save 버튼을 누르면 해당 행이 삭제된다.

Session Server 연계

Session 탭을 통해 Server Cluster 내 Application Server에 일괄 적용할 Session Server를 정의하고 적용할 수 있다.

연계할 Session Server는 Server Cluster에 적용할 Session Server를 의미한다. 등록된 정보가 없는 경우 "Edit Clustering" 버튼을 통해 Cluster에서 사용할 Session Server를 등록할 수 있다. 만약 등록된 정보가 있다면 "Edit Clustering" 버튼을 통해 등록한 서버정보를 수정할 수 있다. 두 버튼을 클릭하면 팝업 창이 보이고 이 창에서 Server Type과 Server Select 값에 따라 입력할 수 있는 정보가 변경된다.

다음은 Server Type과 Server Select 값에 따라 등록 가능한 서버의 종류를 설명한다.

Server TypeServer Select등록 가능한 서버
EmbeddedSelect existing servers클러스터링 된 서버들 중에 embedded session server 모드로 세션클러스터 설정이 되어 있는 서버들
Convert existing servers into session servers클러스터링 된 서버들 중에 embedded session server 모드로 세션 클러스터 설정이 되어 있지 않은 서버들
StandaloneSelect existing serversManager에 등록된 세션서버들(서버 타입이 Standalone으로 되어 있음)
Install new session servers신규로 설치하는 세션서버들(팝업창에서 설치 정보를 입력함)

Session Server가 등록되면 아래와 같이 각 Application Server별 Session Server 적용 상태를 확인할 수 있으며, Sync 버튼을 클릭하면 정의된 Session Server가 모든 Application Server에 일괄 적용된다.

만약 연계할 Session Server 의 설정이 올바르지 않으면 Server Type 컬럼에 아이콘이 보여진다. 이 상태에서는 Sync를 수행할 수 없게 되어있다. (아이콘에 마우스를 올리면 tooltip을 통해 상세 사유를 알 수 있다.)

Session 연계를 삭제할 경우 Delete버튼을 클릭한다. 이때 연계할 Session Server 정보와 클러스터에 등록된 서버들에 설정된 세션설정정보가 모두 삭제된다.

Snapshot

Overview Tab의 Snapshot 버튼을 클릭하면 아래와 같이 Snapshot 생성을 위한 창이 출력되며 OK 버튼을 클릭하면 Server Cluster의 Snapshot이 생성된다. Include htdocs를 "Y"로 선택할 경우 Web Server의 Application Source도 Snapshot 대상에 포함된다. Source의 용량이 클 경우 디스크 용량을 많이 차지할 수 있으므로 주의하여 사용하도록 한다.

Snapshot은 Server Cluster가 동기화 상태인 경우에만 생성할 수 있다.

Snapshot 탭을 통해 Snapshot 목록을 관리하는 화면을 제공한다. 일자를 입력 받아 Snapshot 이력을 조회한다. Snapshot이력에 대한 자세한 사항을 조회 할 수 있으며, 원하는 시점으로 복원하는 기능도 제공한다.

Snapshot 상세 아이콘을 클릭하면 해당 snapshot에 대한 상세정보를 조회할 수 있다. Session의 영역에 대해서 복원 컬럼이 N인 경우는 해당 snapshot을 복원시 Session정보만 제외하고 복원하게 된다.

Snapshot 정보는 각 server별로 관리하므로 특정 Snapshot 생성 이후 Cluster에 추가된 server는 해당 Snapshot으로의 복원 대상에서 제외된다. (이 경우 Snapshot 복원 후 다시 Sync를 수행해야 모든 server가 동일한 구성을 가질 수 있다.)

또한 Snapshot 이후 Cluster에서 특정 server가 삭제되면 해당 server의 Snapshot 정보는 모두 삭제된다.

Snapshot을 만들 때 소스코드는 Snapshot에 복사 되지 않으며 복사되는 설정파일은 기본설정 파일들과 application설정파일, enterprise.xml 까지만 Snapshot에 포함된다. 과도하게 Snapshot을 생성하면 시스템 디스크 용량을 많이 차지할 수 있으므로 꼭 필요한 경우에만 생성하고 불필요한 Snapshot은 Snapshot 탭을 통해 삭제해야 한다.

Session 정보가 N인 경우는 다음과 같다.
1.	Snapshot을 생성한 시점의 primary server와 secondary server가 현재 존재하지 않는 경우
2.	standalone의 설정인 경우 복원하려는 primary/secondary port가 현재 서버의 포트와 다른 경우
3.	embedded의 설정인 경우 primary server와 secondary server가 현재 클러스터링 안되어 있는 경우,
4.	embedded의 설정인 경우 primary server와 secondary server중 한 서버라도 복원정보가 없는 경우
5.	embedded의 설정인 경우 snapshot의 port가 현재 zodiac port가 아닌 다른 포트로 사용중인 경우