2013-02-04 4 views
0

클러스터 된 환경에서 MSMQ에 문제가 있습니다. 다음 설치가 있습니다 :클러스터 된 MSMQ 문제

2 Windows Failover에서 노드를 설정하면 "노드 A"및 "노드 B"라고 부를 수 있습니다.

그런 다음 MSMQ의 클러스터 된 인스턴스를 설정하여 "MSMQ 인스턴스"라고 설정할 수 있습니다.

또한 DTC의 클러스터 된 인스턴스를 설정하고 "DTC 인스턴스"라고 설정할 수 있습니다.

DTC 인스턴스 내에서 로컬 및 클러스터 된 인스턴스를 통해 액세스 할 수 있도록 기본적으로 모든 인증을 테스트하지 않았습니다.

또한 인 하우스 응용 프로그램의 클러스터 된 인스턴스를 만들어 "응용 프로그램 인스턴스"라고 부를 수 있습니다. 이 응용 프로그램 인스턴스 내에 다른 응용 프로그램이 사용하는 다른 서비스 인 Net.MSMQ 어댑터가 추가되었습니다.

문제는 ....... 나는 응용 프로그램 인스턴스를 클러스터하는 것

, 항상 내가 클러스터를 만드는 오전, 그래서 만약 내가 사용하고 반대 노드로 소유자를 설정하는 것 노드 A의 인스턴스는 현재 소유자를 노드 B로 설정하지만 문제는 아닙니다.

문제는 응용 프로그램 인스턴스가 노드 B에서 실행되는 한 MSMQ가 작동하는 것입니다.

아웃 바운드 큐는 로컬로 만들어지고 메시지를 받고 MSMQ 클러스터를 통해 처리됩니다.

노드 A로 장애 조치를하면 MSMQ가 작동을 거부합니다. 아웃 바운드 대기열이 만들어지지 않으므로 메시지가 처리되지 않습니다.

나는 이벤트 뷰어에서 오류가 발생합니다 :

는 "버전 확인 오류로 실패했습니다 : '알 수없는 오류 -1072824309 (0xc00e000b)'MSMQ의 버전은 대기중인 채널에있는 모든 작업을 감지 할 수 없습니다. "

노드 B로 다시 장애 조치하면 작동합니다.

응용 프로그램이 MSMQ 인스턴스를 사용하도록 설정되었으며 모든 사용 권한이 올바른 것입니다.

DTC의 클러스터 된 인스턴스가 있어야합니까? 아니면 MSMQ 인스턴스 내의 리소스로 구성 할 수 있습니까?

아무도 내가 이것과 함께 벽돌 벽에있는 것처럼 어떤 빛을 비출 수 있습니까?

답변

1

예, 클러스터 된 DTC 설정이 있어야합니다. 클러스터 된 MSMQ의 예를 들어

당신이 다음이 모든 경우에 필수 인 경우 나도 몰라 MSMQ -> Properties -> Dependencies

에 "dependendy"오른쪽 클릭으로 클러스터 된 DTC를 구성해야합니다,하지만 우리의 클러스터에 우리는 또한이 MSMQ에 대한 종속성으로 구성된 파일 공유 내 이해를 위해 MSMQ에 필요한 임시 파일을 노드 전환 후에도 사용할 수 있어야합니다.

또한 클러스터 노드 설정에 도움이되는 두 개의 기사가 있습니다. 구성이 올바른지 단계별로 확인하는 데 도움이됩니다.