Sun Java System Application Server Enterprise Edition 8.2 관리 설명서

Application Server 명령 및 개념

Sun Java System Application Server는 하나 이상의 도메인으로 구성됩니다. 도메인은 관리 경계 또는 컨텍스트로서, 각각 이와 연관된 관리 서버(Domain Administration Server 또는 DAS라고도 함)를 가지며 0개 이상의 독립 실행형 인스턴스 및/또는 클러스터로 구성됩니다. 각 클러스터에는 같은 종류의 서버 인스턴스가 하나 이상 있습니다. 서버 인스턴스는 단일 물리적 시스템에서 Application Server를 실행하는 단일 JVM(Java Virtual Machine)입니다. 도메인의 서버 인스턴스(독립 실행형 인스턴스 또는 클러스터링된 인스턴스)는 서로 다른 물리적 호스트에서 실행될 수 있습니다.

이 절은 다음 내용으로 구성되어 있습니다.

도메인

도메인은 함께 관리되는 인스턴스의 그룹입니다. 그러나 하나의 Application Server 인스턴스는 한 도메인에만 속할 수 있습니다. 도메인은 관리 경계뿐 아니라 서로 다른 관리자가 특정 Application Server 인스턴스 그룹(도메인)을 관리할 수 있는 기본적인 보안 구조도 제공합니다. 서버 인스턴스를 별도의 도메인으로 그룹화하면 서로 다른 조직이나 관리자가 단일 Application Server 설치를 공유할 수 있습니다. 도메인마다 다른 도메인과 독립된 고유한 구성 로그 파일 및 응용 프로그램 배포 영역이 있습니다. 하나의 도메인에 대한 구성을 변경해도 다른 도메인의 구성은 영향을 받지 않습니다.

Sun Java System Application Server 설치 프로그램은 기본 관리 도메인(domain1로 명명)과 이와 연관된 도메인 관리 서버(server로 명명)를 만듭니다. 이때 관리 서버 포트 번호를 입력해야 하며 기본 관리 서버 포트는 4849입니다. 또한 설치 프로그램은 관리 사용자 이름과 비밀번호를 쿼리합니다. 설치 후 추가 관리 도메인을 작성할 수 있습니다.

DAS(Domain Administration Server)

도메인마다 고유한 포트 번호를 갖는 자체 DAS(Domain Administration Server)가 있습니다. 관리 콘솔은 특정 DAS와 통신하여 연관된 도메인을 관리합니다. 각 관리 콘솔 세션 중 특정 도메인을 구성하고 관리할 수 있습니다.

DAS(Domain Administration Server)는 관리 응용 프로그램을 호스트하기 위해 특별히 지정된 Application Server 인스턴스입니다. DAS는 관리자를 인증하고 관리 도구의 요청을 승인하며 도메인의 서버 인스턴스와 통신하여 요청을 수행합니다. DAS가 관리 서버 또는 기본 서버로 참조되는 경우도 있습니다. Sun Java System Application Server 설치 시에 만들어지는 유일한 서버 인스턴스이며 배포 시 사용할 수 있기 때문에 기본 서버로 참조되기도 합니다. DAS는 추가 관리 기능이 있는 단순 서버 인스턴스입니다.

각 관리 콘솔 세션 중 단일 도메인을 구성하고 관리할 수 있습니다. 여러 도메인을 만든 경우 다른 도메인을 관리하려면 추가 관리 콘솔 세션을 시작해야 합니다. 관리 콘솔에 대한 URL을 지정할 때 반드시 관리할 도메인과 연관된 DAS의 포트 번호를 사용하십시오.

클러스터

클러스터는 동일한 집합의 응용 프로그램, 자원 및 구성 정보를 공유하는 명명된 서버 인스턴스 모음입니다. 서버 인스턴스는 하나의 클러스터에만 속할 수 있습니다. 클러스터는 여러 시스템에 걸쳐 로드를 분산함으로써 서버 인스턴스의 로드 균형 조정을 용이하게 합니다. 또한 클러스터는 인스턴스 수준의 페일오버를 통해 고가용성을 가능하게 합니다. 관리 관점에서 클러스터는 클러스터 작업(예: 응용 프로그램 배포)이 클러스터를 구성하는 모든 인스턴스상에서 수행되는 가상화된 엔티티를 의미합니다.

노드 에이전트

인스턴스 라이프사이클을 원격으로 용이하게 관리하려면 도메인의 각 노드에 경량 에이전트(예: JMX 런타임만을 호스팅)가 필요합니다. 이 에이전트는 기본적으로 DAS의 지시대로 서버 인스턴스를 시작, 중지 및 생성합니다. 또한 노드 에이전트는 워치독의 역할을 수행하며 실패한 프로세스를 다시 시작합니다. 노드 에이전트는 DAS와 같이 특정 관리 작업에만 사용되어야 하며 고가용성을 예상해서는 안 됩니다. 그러나 노드 에이전트는 "항상 실행"되는 구성 요소로서, 원시 O/S 노드 부트스트랩(예: Solaris/Linux inetd 또는 Windows 서비스)에 의해 시작되도록 구성되어야 합니다. 노드 에이전트는 DAS에 사용되지 않습니다.

서버 인스턴스

서버 인스턴스는 단일 노드에서 J2EE 1.4 Application Server를 호스팅하는 J2EE 호환의 단일 JVM(Java Virtual Machine)입니다. 도메인의 각 서버 인스턴스에는 고유 이름이 있습니다. 클러스터링된 서버 인스턴스는 클러스터의 구성원이며 해당 부모 클러스터에서 모든 응용 프로그램, 자원 및 구성을 상속 받습니다. 따라서 클러스터 내의 모든 인스턴스는 동일한 종류가 됩니다. 클러스터링되지 않은 서버 인스턴스는 클러스터에 속하지 않으며 이에 따라 독립적인 응용 프로그램, 자원 및 구성 집합을 갖습니다.

Application Server 인스턴스는 응용 프로그램 배포의 기본을 구성합니다. 각 인스턴스는 하나의 도메인에 속합니다. DAS를 제외한 모든 서버 인스턴스에는 인스턴스가 상주하는 시스템을 정의하는 노드 에이전트 이름에 대한 참조가 포함되어야 합니다.

토폴로지에 원격 서버 인스턴스(DAS를 제외한 서버 인스턴스)가 포함되어 있으면 노드 에이전트를 만들어 원격 서버 인스턴스를 용이하게 관리합니다. 노드 에이전트의 역할은 서버 인스턴스를 작성, 시작, 중지 및 삭제하는 것입니다. 명령줄 인터페이스 명령을 사용하여 노드 에이전트를 설정합니다. 그림 1–2는 Application Server 인스턴스를 자세히 보여줍니다.

그림 1–2 Application Server 인스턴스

서버 인스턴스 기능과 이들이 다양한 클라이언트, 데이터베이스, 다른 서버 및 시스템과 서로 통신하는 방법을 보여주는 그림입니다.

Sun Java System Application Server는 설치 시 server라고 하는 한 개의 Application Server 인스턴스를 만듭니다. 대부분의 경우 Application Server 인스턴스는 하나만 있으면 됩니다. 하지만 환경에 따라 하나 이상의 추가 Application Server 인스턴스를 만들어야 할 수도 있습니다. 예를 들어, 개발 환경에서 다른 Application Server 인스턴스를 사용하여 다른 Application Server 구성을 테스트하거나 다른 응용 프로그램 배포를 비교 및 테스트할 수 있습니다. Application Server 인스턴스는 손쉽게 추가 또는 삭제할 수 있기 때문에 이러한 Application Server 인스턴스를 사용하면 실험에 사용할 임시 샌드 박스 영역을 만들 수 있습니다.

또한 각 Application Server 인스턴스에 대해 가상 서버를 만들 수도 있습니다. 단일 설치 Application Server 인스턴스 내에서 회사나 개인 도메인 이름, IP 주소 및 일부 관리 기능을 제공할 수 있습니다. 사용자의 경우 하드웨어와 기본 서버 유지 관리를 제외하면 고유 웹 서버를 가진 것과 거의 같습니다. 이러한 가상 서버는 여러 Application Server 인스턴스에 걸쳐 있지 않습니다. 가상 서버에 대한 자세한 내용은 12 장, 서비스 구성을 참조하십시오.

운영상 배포할 때 많은 용도로 여러 Application Server 인스턴스 대신 가상 서버를 사용할 수 있습니다. 그러나 가상 서버가 사용자 요구 사항을 충족시키지 못할 경우 여러 Application Server 인스턴스를 사용할 수도 있습니다. Application Server 인스턴스를 중지하면 Application Server 인스턴스는 더 이상 새 연결을 수락하지 않으며 해결되지 않은 모든 연결이 완료될 때까지 대기합니다. 시스템이 충돌하거나 오프라인이 되면 서버가 종료되므로 서버에서 처리 중이던 요청이 손실될 수 있습니다.

Application Server 명령

Application Server 관리에는 도메인, 클러스터, 노드 에이전트 및 서버 인스턴스의 만들기, 구성, 제어 및 관리와 같은 작업이 포함됩니다. 이 절은 다음 내용으로 구성되어 있습니다.

도메인 만들기

도메인은 create-domain 명령을 사용하여 만듭니다. 다음 예의 명령은 mydomain이라고 하는 도메인을 만듭니다. 관리 서버는 포트 1234에서 수신하고 관리자 이름은 hanan입니다. 관리 비밀번호와 마스터 비밀번호를 묻는 명령 프롬프트가 나타납니다.


$ asadmin create-domain --adminport 80 --adminuser hanan mydomain

mydomain 도메인의 관리 콘솔을 시작하려면 브라우저에서 다음 URL을 입력합니다.


http://hostname:80

앞에서 설명한 create-domain 예의 경우, 도메인의 로그 파일, 구성 파일 및 배포된 응용 프로그램은 현재 다음의 디렉토리에 있습니다.

domain-root-dir/mydomain

도메인의 디렉토리를 다른 위치에 만들려면 --domaindir 옵션을 지정합니다. 명령의 전체 구문을 보려면 asadmin help create-domain을 입력합니다.

도메인 삭제

도메인은 asadmin delete-domain 명령을 사용하여 삭제합니다. 도메인을 관리할 수 있는 운영 체제 사용자(또는 루트)만 이 명령을 제대로 실행할 수 있습니다. 예를 들어, mydomain이라는 도메인을 삭제하려면 다음 명령을 입력합니다.


$ asadmin delete-domain mydomain

도메인 나열

시스템에 만든 도메인은 asadmin list-domains 명령을 사용하여 확인할 수 있습니다. 기본 domain-root-dir 디렉토리에 있는 도메인을 나열하려면 다음 명령을 입력합니다.


$ asadmin list-domains

다른 디렉토리에 만든 도메인을 나열하려면 --domaindir 옵션을 지정합니다.

도메인 시작

도메인을 시작하면 관리 서버와 Application Server 인스턴스가 시작됩니다. Application Server 인스턴스가 시작되면 계속 실행되어 요청을 청취하고 수용합니다. 각 도메인을 별도로 시작해야 합니다.

도메인을 시작하려면 asadmin start-domain 명령을 입력하고 도메인 이름을 지정합니다. 예를 들어, 기본 도메인(domain1)을 시작하려면 다음을 입력합니다.


$ asadmin start-domain --user admin domain1

도메인이 하나만 있는 경우, 도메인 이름을 생략합니다. 전체 명령 구문을 보려면 asadmin help start-domain을 입력합니다. 비밀번호 데이터를 생략한 경우 비밀번호를 제공하라는 메시지가 표시됩니다.

Windows에서 기본 도메인 시작

Windows 시작 메뉴에서 프로그램 -> Sun Microsystems -> Application Server -> 관리 서버 시작을 선택합니다.

도메인 중지

도메인을 중지하면 관리 서버와 Application Server 인스턴스가 중지됩니다. 도메인을 중지하면 서버 인스턴스가 새로운 연결 승인을 중지하고 모든 진행 중인 연결이 완료될 때까지 기다립니다. 서버 인스턴스가 종료 과정을 완료해야 하기 때문에 이 과정은 시간이 걸립니다. 도메인을 중지하는 동안 관리 콘솔이나 asadmin 명령 대부분을 사용할 수 없습니다.

도메인을 중지하려면 asadmin stop-domain 명령을 입력하고 도메인 이름을 지정합니다. 예를 들어, 기본 도메인(domain1)을 중지하려면 다음을 입력합니다.


$ asadmin stop-domain domain1

도메인이 하나만 있을 경우 도메인 이름은 선택 사항입니다. 전체 구문을 보려면 asadmin help stop-domain을 입력합니다.

Windows에서 기본 도메인 중지

시작 메뉴에서 프로그램 -> Sun Microsystems -> Application Server-> 관리 서버 중지를 선택합니다.

도메인 다시 시작

서버를 다시 시작하는 것은 도메인을 다시 시작하는 것과 같습니다. 도메인이나 서버를 다시 시작하려면 도메인을 중지하고 시작합니다.

클러스터 만들기

create-cluster 명령을 사용하여 클러스터를 만듭니다. 다음 예에서는 mycluster라는 클러스터를 만듭니다. 관리 서버 호스트는 myhost, 서버 포트는 1234, 관리 사용자 이름은 admin입니다. 명령을 실행하면 관리 비밀번호를 묻는 메시지가 표시됩니다.


$ asadmin create-cluster --host myhost --port 1234 --user admin mycluster

전체 구문을 보려면 asadmin help create-cluster를 입력합니다.

클러스터 시작

start-cluster 명령을 사용하여 클러스터를 시작합니다. 다음 예에서는 mycluster라는 클러스터를 시작합니다. 명령을 실행하면 관리 비밀번호를 묻는 메시지가 표시됩니다.


$ asadmin start-cluster --host myhost --port 1234 --user admin mycluster

myhost는 관리 서버 호스트, 1234는 관리 포트, admin은 관리 사용자 이름입니다.

전체 구문을 보려면 asadmin help start-cluster를 입력합니다. 클러스터가 시작되면 클러스터 내의 모든 서버 인스턴스가 시작됩니다. 인스턴스가 없는 클러스터는 시작할 수 없습니다.

클러스터 중지

stop-cluster 명령을 사용하여 클러스터를 중지합니다. 다음 예에서는 mycluster라는 클러스터를 중지합니다. 명령을 실행하면 관리 비밀번호를 묻는 메시지가 표시됩니다.


$ asadmin stop-cluster --host myhost --port 1234 --user admin mycluster

myhost는 관리 서버 호스트, 1234는 관리 포트, admin은 관리 사용자 이름입니다.

전체 구문을 보려면 asadmin help stop-cluster를 입력합니다. 클러스터가 중지되면 클러스터 내의 모든 서버 인스턴스가 중지됩니다. 인스턴스가 없는 클러스터는 중지할 수 없습니다.

노드 에이전트 만들기

create-node-agent 명령을 사용하여 노드 에이전트를 만듭니다. 다음 예에서는 mynodeagent라는 노드 에이전트를 만듭니다. 관리 서버 호스트는 myhost, 관리 서버 포트는 1234, 관리 사용자 이름은 admin입니다. 명령을 실행하면 관리 비밀번호를 묻는 메시지가 표시됩니다.


$ asadmin create-node-agent --host myhost --port 1234 --user admin mynodeagent

전체 구문을 보려면 asadmin help create-node-agent를 입력합니다.

노드 에이전트 시작

노드 에이전트 이름을 지정하여 start-node-agent 명령을 사용함으로써 노드 에이전트를 시작합니다. 예를 들어, mynodeagent 노드 에이전트를 시작하려면 다음을 입력합니다.


$ asadmin start-node-agent --user admin mynodeagent

전체 구문을 보려면 asadmin help start-node-agent를 입력합니다.

노드 에이전트 중지

stop-node-agent 명령에서 노드 에이전트 이름을 지정하여 노드 에이전트를 중지합니다. 예를 들어, mynodeagent 노드 에이전트를 중지하려면 다음을 입력합니다.


$ asadmin stop-node-agent mynodeagent

전체 구문을 보려면 asadmin help stop-node-agent를 입력합니다.

인스턴스 만들기

create-instance 명령을 사용하여 서버 인스턴스를 만듭니다. 다음 예에서는 myinstance라는 인스턴스를 만듭니다. 관리 서버 호스트는 myhost, 관리 서버 포트는 1234, 관리 사용자 이름은 admin입니다. 명령을 실행하면 관리 비밀번호를 묻는 메시지가 표시됩니다.

다음 예에서는 myinstance라는 클러스터링된 서버 인스턴스를 만듭니다. 명령을 실행하면 관리 비밀번호를 묻는 메시지가 표시됩니다.


$ asadmin create-instance --host myhost --port 1234 
--user admin --cluster mycluster --nodeagent mynodeagent myinstance

myhost는 관리 서버 호스트, 1234는 관리 포트, admin은 관리 사용자 이름입니다. 또한 mycluster는 이 서버 인스턴스가 속한 클러스터, mynodeagent는 이 서버 인스턴스를 관리하는 노드 에이전트입니다.

전체 구문을 보려면 asadmin help create-instance를 입력합니다.

독립 실행형 서버 인스턴스를 만들려면 --cluster 옵션을 지정하지 마십시오.

다음 예에서는 mynodeagent라는 노드 에이전트에서 관리되는 myinstance라는 독립 실행형 서버 인스턴스를 만듭니다.


$ asadmin create-instance --host myhost --port 1234 
--user admin --nodeagent mynodeagent myinstance

인스턴스 시작

start-instance 명령을 사용하여 서버 인스턴스를 시작합니다. 다음 예에서는 myinstance라는 서버 인스턴스를 시작합니다. 명령을 실행하면 관리 비밀번호를 묻는 메시지가 표시됩니다.


$ asadmin start-instance --host myhost --port 1234 --user admin  myinstance

myhost는 관리 서버 호스트, 1234는 관리 포트, admin은 관리 사용자 이름입니다. myinstance 서버 인스턴스는 클러스터링된 인스턴스 또는 독립 실행형 인스턴스일 수 있습니다.

전체 구문을 보려면 asadmin help start-instance를 입력합니다.

인스턴스 중지

stop-instance 명령을 사용하여 서버 인스턴스를 중지합니다. 다음 예에서는 myinstance라는 인스턴스를 중지합니다. 명령을 실행하면 관리 비밀번호를 묻는 메시지가 표시됩니다.


$ asadmin stop-instance --host myhost --port 1234 --user admin  myinstance

myhost는 관리 서버 호스트, 1234는 관리 포트, admin은 관리 사용자 이름입니다. myinstance 서버 인스턴스는 클러스터링된 인스턴스 또는 독립 실행형 인스턴스일 수 있습니다.

전체 구문을 보려면 asadmin help stop-instance를 입력합니다.

인스턴스 다시 시작

서버 인스턴스를 다시 시작하려면 인스턴스를 중지한 다음 시작합니다.

Domain Administration Server 다시 만들기

미러링을 목적으로 DAS(Domain Administration Server)의 작업 복사본을 제공하려면 다음 사항이 필요합니다.


주 –

첫 번째 시스템에서 DAS의 백업을 보존해야 합니다. asadmin backup-domain을 사용하여 현재 도메인을 백업합니다.


ProcedureDAS를 마이그레이션하는 방법

첫 번째 시스템(machine1)에서 세 번째 시스템(machine3)으로 DAS(Domain Administration Server)를 마이그레이션하려면 다음 단계가 필요합니다.

  1. 첫 번째 시스템에 설치한 대로 세 번째 시스템에 Application Server를 설치합니다.

    DAS를 세 번째 시스템에 제대로 복원하고 경로 충돌을 방지하려면 이 단계가 필요합니다.

    1. 명령줄(대화식) 모드를 사용하여 Application Server 관리 패키지를 설치합니다. 대화형 명령줄 모드를 활성화하려면 console 옵션을 사용하여 설치 프로그램을 호출하십시오.


      ./bundle-filename -console

      명령줄 인터페이스를 사용하여 설치하려면 루트 권한이 있어야 합니다.

    2. 기본 도메인을 설치하려면 옵션을 선택 해제합니다.

      백업한 도메인을 복원하는 것은 동일한 구조뿐만 아니라 정확하게 동일한 설치 경로를 가진 두 시스템(즉, 두 시스템에서 동일한 install-dirdomain-root-dir 사용)에서만 지원됩니다.

  2. 첫 번째 시스템에서 백업 ZIP 파일을 세 번째 시스템의 domain-root-dir에 복사합니다. 파일을 FTP에 올릴 수도 있습니다.

  3. asadmin restore-domain 명령을 실행하여 ZIP 파일을 세 번째 시스템에 복원합니다.


    asadmin restore-domain --filename domain-root-dir/sjsas_backup_v00001.zip domain1

    모든 도메인을 백업할 수 있습니다. 그러나 도메인을 다시 만들 때 도메인 이름이 원본과 동일해야 합니다.

  4. 첫 번째 시스템의 동일한 디렉토리의 권한과 일치하도록 세 번째 시스템의 domain-root-dir/domain1/generated/tmp 디렉토리의 권한을 변경합니다.

    이 디렉토리의 기본 권한은 ?drwx------?(또는 700)입니다.

    예를 들면 다음과 같습니다.

    chmod 700 domain-root-dir/domain1/generated/tmp

    위 예는 domain1을 백업하는 것을 가정합니다. 다른 이름으로 도메인을 백업할 경우 위 domain1을 백업할 도메인 이름으로 대체해야 합니다.

  5. 세 번째 시스템의 경우 domain.xml 파일의 등록 정보에 대한 호스트 값을 변경합니다.

  6. 세 번째 시스템의 domain-root-dir/domain1/config/domain.xml을 업데이트합니다.

    예를 들어, machine1을 검색하여 이를 machine3으로 대체합니다. 그러면 다음을 변경할 수 있습니다.

    <jmx-connector><property name=client-hostname value=machine1/>...

    변경 후:

    <jmx-connector><property name=client-hostname value=machine3/>...
  7. 다음을 변경합니다.

    <jms-service... host=machine1.../>

    변경 후:

    <jms-service... host=machine3.../>
  8. machine3에서 복구된 도메인을 시작합니다.


    asadmin start-domain --user admin-user --password admin-password domain1
  9. machine2의 노드 에이전트에서 등록 정보에 대한 DAS 호스트 값을 변경합니다.

  10. machine2의 install-dir/nodeagents/nodeagent/agent/config/das.properties에서 agent.das.host 등록 정보 값을 변경합니다.

  11. machine2에서 노드 에이전트를 다시 시작합니다.


    주 –

    asadmin start-instance 명령을 사용하여 클러스터 인스턴스를 시작하면 클러스터 인스턴스를 복원된 도메인과 동기화할 수 있습니다.


관리자 비밀번호 변경

관리자 비밀번호를 재설정하려면 도메인의 모든 노드 에이전트를 중지해야 합니다. 노드 에이전트를 중지하면 연관된 모든 서버 인스턴스가 중지됩니다. 모든 서버 인스턴스 및 노드 에이전트가 중지되고 DAS(Domain Administration Server)만 실행 중이라면

다음과 같이 관리 사용자의 비밀번호를 변경할 수 있습니다.

  1. 명령줄 인터페이스를 사용하여 관리자 비밀번호를 변경합니다.

    asadmin update-file-user --authrealmname admin-realm ... --userpassword newpassword <admin-user-name>

  2. 관리 콘솔을 사용하여 관리자 비밀번호를 변경합니다.

    관리 서버의 구성 노드 > 보안 > 영역 > 관리 영역 > 파일 영역 사용자 편집을 선택합니다.

    관리자 비밀번호가 성공적으로 변경되었음을 나타내는 메시지가 표시됩니다.

  3. 다음과 같이 새 비밀번호로 DAS(Domain Administration Server)를 다시 시작합니다.

    명령줄 인터페이스에 asadmin start-domain --user admin --password newpassword domain1을 입력합니다.

    도메인에 두 개의 노드 에이전트(i1na, c1-na)와 세 개의 인스턴스(c1i1c1i2c1이라는 동일한 클러스터에 속해 있고 i1은 독립 실행형 서버 인스턴스임)가 있다고 가정합니다.

  4. 새 비밀번호로 인스턴스를 시작하지 않고 노드 에이전트를 다시 시작합니다.

    예를 들면 다음과 같습니다.

    asadmin start-node-agent --user admin --password newpassword --startinstances=false i1-na asadmin

    asadmin start-node-agent --user admin --password newpassword --startinstances=false c1-na

  5. 서버 및 클러스터를 다시 시작합니다.

    asadmin start-node-agent --user admin --password newpassword ... c1

    asadmin start-node-agent --user admin --password newpassword i1