[Windows]

Windows 에서 다중 인스턴스 큐 관리자 확인

샘플 프로그램 amqsghac, amqsphacamqsmhac를 사용하여 다중 인스턴스 큐 관리자 구성을 확인합니다. 이 토픽은 Windows Server 2003의 멀티 인스턴스 큐 관리자 구성을 확인하기 위한 예제 구성을 제공합니다.

고가용성 샘플 프로그램은 자동 클라이언트 다시 연결을 사용합니다. 연결된 큐 관리자가 실패하면 클라이언트가 같은 큐 관리자 그룹에 있는 큐 관리자에 다시 연결하려고 시도합니다. 샘플의 설명인 고가용성 샘플 프로그램은 단순하게 하기 위해 단일 인스턴스 큐 관리자를 사용하는 클라이언트 재연결을 보여줍니다. 동일한 샘플을 다중 인스턴스 큐 관리자와 사용하여 다중 인스턴스 큐 관리자 구성을 확인할 수 있습니다.

이 예에서는 Windows 도메인 컨트롤러에서 다중 인스턴스 큐 관리자 만들기에 설명된 다중 인스턴스 구성을 사용합니다. 이 구성을 사용하여 다중 인스턴스 큐 관리자가 대기 인스턴스로 전환하는지 확인하십시오. endmqm 명령을 사용하여 큐 관리자를 중지하고 전환 옵션인 -s를 사용하십시오. 클라이언트 프로그램이 새 큐 관리자 인스턴스에 다시 연결하여 잠깐의 지연 후 새 인스턴스에 대한 작업을 계속합니다.

클라이언트는 Windows 7 서비스 팩 1을 실행 중인 400MB VMware 이미지에 설치됩니다. 보안상의 이유로 멀티 인스턴스 큐 관리자를 실행 중인 도메인 서버와 동일한 VMware 호스트 전용 네트워크에 연결됩니다. 구성을 단순화하기 위해 클라이언트 연결 테이블을 포함하는 /MQHA 폴더를 공유합니다.

IBM MQ Explorer 를 사용하여 장애 복구 확인

샘플 애플리케이션을 사용하여 장애 복구를 확인하기 전에 각 서버에서 IBM® MQ Explorer 를 실행하십시오. 리모트 큐 관리자 추가 > 멀티 인스턴스 큐 관리자에 직접 연결 마법사를 사용하여 각 탐색기에 큐 관리자 인스턴스 모두를 추가하십시오. 대기를 허용하여 두 인스턴스 모두 실행되고 있는지 확인하십시오. 활성 인스턴스로 VMware 이미지를 실행하는 창을 닫아서 가상으로 서버의 전원을 끄거나 활성 인스턴스를 중지하여 대기 인스턴스로의 전환을 허용하고 다시 연결 가능한 클라이언트가 다시 연결할 수 있게 하십시오.
주의: 서버의 전원을 끄는 경우 MQHA 폴더를 호스트하는 서버가 아닌지 확인하십시오.
참고: 대기 인스턴스로 전환 허용 옵션은 큐 관리자 중지 대화 상자에서 사용할 수 없습니다. 이 옵션은 큐 관리자가 단일 인스턴스 큐 관리자로 실행되고 있기 때문에 누락되었습니다. 대기 인스턴스 허용 옵션 없이 큐 관리자를 시작했습니다. 큐 관리자 중지 요청이 거부된 경우 자세한 내용 창을 확인하십시오. 실행 중인 대기 인스턴스가 없을 수 있습니다.

샘플 프로그램을 사용하여 장애 복구 확인

활성 인스턴스를 실행할 서버 선택
MQHA 디렉토리 또는 파일 시스템을 호스트할 서버 중 하나를 선택했을 수 있습니다. 활성 서버를 실행 중인 VMware 창을 닫아 장애 복구를 테스트하려면 MQHA을(를) 호스트하는 서버가 아닌지 확인하십시오.
활성 큐 관리자 인스턴스를 실행하는 서버에서
  1. ipaddr1ipaddr2을(를) 수정하고 N:\hasample.tst.에 다음 명령을 저장하십시오.
    DEFINE QLOCAL(SOURCE) REPLACE
    DEFINE QLOCAL(TARGET) REPLACE
    DEFINE CHANNEL(CHANNEL1) CHLTYPE(SVRCONN)  TRPTYPE(TCP) +
    MCAUSER(' ') REPLACE
    DEFINE CHANNEL(CHANNEL1) CHLTYPE(CLNTCONN) TRPTYPE(TCP) +
    CONNAME(' ipaddr1 (1414), ipaddr2 (1414)') QMNAME(QM1) REPLACE
    START CHANNEL(CHANNEL1)
    DEFINE LISTENER(LISTENER.TCP) TRPTYPE(TCP) CONTROL(QMGR)
    DISPLAY LISTENER(LISTENER.TCP) CONTROL
    DISPLAY LSSTATUS(LISTENER.TCP) STATUS
    
    참고: MCAUSER 매개변수를 공백으로 두면 클라이언트 사용자 ID가 서버로 전송됩니다. 이 클라이언트 사용자 ID에는 서버에 대한 올바른 권한이 있어야 합니다. 대안은 SVRCONN 채널의 MCAUSER 매개변수를 서버에서 구성한 사용자 ID로 설정하는 것입니다.
  2. N:\ 경로로 명령 프롬프트를 열고 다음 명령을 실행하십시오.
    runmqsc -m QM1 < hasample.tst
    
  3. runmqsc 명령의 출력을 검사하여 리스너가 실행 중이고 큐 관리자 제어를 가지는지 확인하십시오.
    LISTENER(LISTENER.TCP)CONTROL(QMGR)
    LISTENER(LISTENER.TCP)STATUS(RUNNING)
    
    또는 TCPIP 리스너가 실행 중이고 Control = Queue Manager가 있는 IBM MQ Explorer 를 사용합니다.
클라이언트에서
  1. 서버의 공유 디렉토리 C:\MQHA을(를) 클라이언트의 N:\에 맵핑하십시오.
  2. N:\ 경로를 사용하여 명령 프롬프트를 여십시오. 서버의 클라이언트 채널 정의 테이블(CCDT)을 가리키도록 환경 변수 MQCHLLIB를 다음과 같이 설정하십시오.
    SET MQCHLLIB=N:\data\QM1\@ipcc
    
  3. 명령 프롬프트에 다음 명령을 입력하십시오.
    start amqsghac TARGET QM1
    start amqsmhac -s SOURCE -t TARGET -m QM1
    start amqsphac SOURCE QM1
    
    주: 문제점이 있는 경우 이유 코드가 콘솔에 인쇄되도록 명령 프롬프트에서 애플리케이션을 시작하거나 AMQERR01.LOG 파일을 N:\data\QM1\errors 폴더에 저장하십시오.
활성 큐 관리자 인스턴스를 실행하는 서버에서
  1. 다음 중 하나입니다.
    • 활성 서버 인스턴스로 VMware 이미지를 실행하는 창을 닫으십시오.
    • IBM MQ Explorer를 사용하여 활성 큐 관리자 인스턴스를 중지하고 대기 인스턴스로 전환할 수 있도록 허용하고 다시 연결 가능한 클라이언트에 다시 연결하도록 지시하십시오.
  2. 세 클라이언트는 결국 연결이 끊어진 것을 감지한 후 다시 연결합니다. 이 구성에서 서버 창을 닫으면 세 연결 모두 재설정되는 데 약 7분 정도 소요됩니다. 일부 연결은 다른 연결 전에 정상적으로 재설정됩니다.

결과


N:\>amqsphac SOURCE QM1
Sample AMQSPHAC start
target queue is SOURCE
message Message 1
message Message 2
message Message 3
message Message 4
message Message 5
17:05:25 : EVENT : Connection Reconnecting (Delay: 0ms)
17:05:47 : EVENT : Connection Reconnecting (Delay: 0ms)
17:05:52 : EVENT : Connection Reconnected
message Message 6
message Message 7
message Message 8
message Message 9
N:\>amqsmhac -s SOURCE -t TARGET -m QM1
Sample AMQSMHA0 start

17:05:25 : EVENT : Connection Reconnecting (Delay: 97ms)
17:05:48 : EVENT : Connection Reconnecting (Delay: 0ms)
17:05:53 : EVENT : Connection Reconnected

N:\>amqsghac TARGET QM1
Sample AMQSGHAC start
message Message 1
message Message 2
message Message 3
message Message 4
message Message 5
17:05:25 : EVENT : Connection Reconnecting (Delay: 156ms)
17:05:47 : EVENT : Connection Reconnecting (Delay: 0ms)
17:05:52 : EVENT : Connection Reconnected
message Message 6
message Message 7
message Message 8
message Message 9