소개
이 문서에서는 엔터프라이즈 IM and Presence 환경에서 IM&P(Instant Message and Presence) 고가용성(리던던던시라고도 함)이 작동하는 방법과 문제를 해결하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco Unified IM&P
- Cisco Jabber 클라이언트
사용되는 구성 요소
- Cisco Unified IM&P 10.0 이상
- Cisco Jabber 클라이언트 9.6 이상
이 문서의 정보는 특정 랩 환경의 구성 요소에서 작성되었습니다. 이 문서에 사용된 모든 구성 요소가 지워진(기본) 구성으로 시작되었습니다. 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
IM and Presence 고가용성(HA)
IM and Presence Service Server는 CUCM 컨피그레이션의 논리적 서버 그룹 형태로 고가용성 또는 이중화를 제공합니다. 이 컨피그레이션은 IM and Presence에 전달된 다음 IM and Presence Service 또는 서버 장애 시 이중화를 허용하는 데 사용됩니다. HA 이벤트가 발생하면 최종 사용자의 세션이 실패한 서버에서 백업으로 이동합니다. 서버가 정상 상태로 복원되면 관리자가 사용자 세션을 자동으로 또는 수동으로 다시 이동합니다.
이중화 그룹 컨피그레이션
이중화 그룹은 IM and Presence 하위 클러스터와 HA의 컨피그레이션에 서버를 할당할 수 있는 논리적 서버 쌍입니다. 컨피그레이션의 이 부분에 액세스하려면 CUCM 서버 웹 페이지에서 찾을 수 있습니다.
System(시스템) > Presence Redundancy Groups(Presence 이중화 그룹)

관리자가 IM&P 게시자를 CUCM의 System(시스템) > Server(서버) 구성에 추가하고 IM&P 서버가 저장되면 DefaultCUPSubCluster 이중화 그룹이 Publisher가 할당된 상태로 생성됩니다.
생성된 이중화 그룹은 다음과 같습니다.

이 이중화 그룹은 IM and Presence 하위 클러스터로 변환됩니다. CUCM의 이중화 그룹 컨피그레이션의 현재 상태에서는 IM and Presence Cluster Topology(IM and Presence 클러스터 토폴로지) 웹 페이지에서 다음과 같이 표시됩니다.

IM&P 게시자가 DefaultCUPSubcluster에 할당되고 가입자 서버가 지정되지 않은 것을 확인할 수 있습니다. 이는 IM&P 가입자 서버가 CUCM 컨피그레이션의 이중화 그룹에 할당되지 않았기 때문입니다.
이중화 그룹에 가입자를 할당합니다.
Subscriber 서버를 Redundancy Group에 할당하려면 드롭다운에서 가입자 서버를 선택한 다음 Save the configuration change를 선택하면 됩니다.

IM&P 가입자가 이중화 그룹에 추가된 후:

보조 노드(가입자)를 추가한 후 고가용성 옵션을 선택할 수 있음을 확인할 수 있습니다. 고가용성을 활성화하려면 Enable High Availability(고가용성 활성화) 확인란을 선택하고 컨피그레이션 변경 사항을 저장하면 됩니다.
고가용성이 활성화된 후:

그런 다음 이 페이지는 서버 상태 및 사유를 자동으로 새로 고칩니다. 서버가 초기화 상태인 경우 두 서버가 통신할 수 있음을 의미합니다. 그런 다음 서버는 상태가 정상 상태로 전환되기 전에 서비스 상태를 확인합니다. 두 서버가 서로 연결할 수 있고 모니터링되는 모든 서비스가 두 서버에 모두 켜져 있으면 정상 상태가 됩니다. 즉, 모니터링되는 모든 서비스가 IM&P 서버에서 활성화되어 있습니다.
일반-일반 이중화 그룹 상태:

IM&P 토폴로지 페이지의 일반-일반 고가용성 상태:

모니터링되는 IM and Presence 서비스
다양한 구축 모델을 사용할 수 있으므로 IM Only(IM 전용), SIP/XMPP Federation을 사용하는 IM, IM with Compliance(컴플라이언스), IM with persistent chat, Remote Call Control Only(IM with IM with IM with Persistent chat), Remote Call Control Only(원격 통화 제어 전용) 등 모니터링할 프로세스의 실제 목록은 동적입니다. 기본적으로 이러한 항목은 HA가 활성화된 경우 항상 모니터링됩니다.
IDS 데이터베이스
Presence Engine(활성화된 경우)
XCP 라우터
Server Recovery Manager는 규정 준수(Message Archiver), Persistent Chat(Text Conference Manager), SIP Federation(SIP Federation Connection Manager), XMPP 페더레이션(XMPP Federation Connection Manager)가 구성(및 활성화되었는지 여부를 확인합니다.
구성 및 활성화된 경우 SRM(Server Recovery Manager)은 해당 서비스도 모니터링합니다.
주의: 모니터링되는 서비스 중 하나 이상을 다시 시작하기 전에 CUCM 서버의 Presence Redundancy Groups(상태 이중화 그룹)에서 High Availability(고가용성)를 비활성화해야 합니다. 하나 이상의 IM&P 노드를 재부팅할 때도 마찬가지입니다.
사용자 장애 조치 프로세스
장애 조치가 발생할 경우(자동 또는 수동), 중요한 요점은 사용자 계정이 한 서버에서 다른 서버로 이동되지 않고 Presence Engine의 사용자 세션만 이동된다는 것입니다. IM and Presence의 10 이전 버전에서는 사용자 할당이 한 서버에서 다른 서버로 이동했습니다. 이 사용자 이동은 서버 리소스에 많은 비용이 들고 서버에 있던 로드에 추가되었습니다. 10.X 이상에서는 사용자가 할당된 서버에 계속 있고 Presence Engine의 백엔드 사용자 세션은 장애가 발생한 노드에서 기능 노드로 이동합니다. SRM(Server Recovery Manager)을 변경하면 Jabber를 종료하고 다시 로그인할 필요가 없습니다.
Jabber 클라이언트 재로그인 타이머
장애 조치 이벤트 후 보조 IM&P 노드에서 사용자 세션이 완전히 활성 상태가 되려면 사용자가 SOAP(Client Profile Agent)를 통해 해당 서버에 로그인을 시도해야 합니다. 이는 IMDB 데이터베이스에서 전달되는 일회용 비밀번호로 자동으로 발생합니다. 로그인은 IM and Presence 서버의 리소스에 비해 매우 비싸기 때문에 장애 조치 이벤트가 발생할 때 로그인을 제한하는 방법이 있어야 합니다. 이 스로틀 또는 버퍼를 사용하면 모든 사용자가 보조 노드의 사용자에 대해 서비스 중단 없이 보조 노드에 로그인할 수 있습니다. 사용자 로그인을 제한하는 데 사용되는 메커니즘은 클라이언트 재로그인 하한 및 클라이언트 재로그인 SRM(서버 복구 관리자) 서비스 매개변수입니다.
Client Re-Login Lower Limit - 클라이언트가 HA 이벤트 시 보조 서버에 로그인을 시도하기 전에 Jabber 클라이언트가 대기하는 최소 시간(초)을 정의하는 매개 변수입니다.
Client Re-Login Upper Limit - 클라이언트가 HA 이벤트 시 보조 서버에 로그인을 시도하기 전에 Jabber 클라이언트가 대기하는 최대 시간(초)을 정의하는 매개 변수입니다.
Jabber 클라이언트는 서버에 로그인할 때 이러한 매개변수를 수신하고 나중에 사용할 수 있도록 값을 캐시합니다. IM&P 서버에서 HA 이벤트를 수신하면 클라이언트는 상한값과 하한값 사이에서 임의 시간(초)을 선택하고 Jabber 클라이언트가 보조 서버에 로그인을 시도하기까지 해당 시간을 기다립니다. 타이머가 만료되면 클라이언트는 보조 노드에 SOAP 로그인을 시도합니다.
IM and Presence 대체 유형
사용자 장애 조치가 있는 경우 문제가 있는 서버에서 서비스를 복원할 때 사용자 폴백이 있어야 합니다. 다음과 같은 두 가지 유형의 서버 폴백이 있습니다.
수동 대체
서비스가 복원되고 이중화 그룹에서 대체(Fallback) 버튼을 사용할 경우 수동 대체(Server Recovery Manager에 대한 기본 컨피그레이션)가 발생합니다. 이 단추를 선택하면 보조 노드로 이동된 사용자 세션이 홈 노드로 다시 이동됩니다. 그런 다음 Jabber 클라이언트는 폴백에 대한 상위 및 하위 제한에 재로그인을 적용합니다.

자동 대체
서버가 서비스를 모니터링하고 SRM(Server Recovery Manager) 서비스가 자동으로 사용자를 홈 노드로 폴백할 때 자동 폴백이 발생합니다. 이 컨피그레이션의 핵심은 SRM(Server Recovery Manager) 서비스가 자동 폴백이 시작되기 전에 장애가 발생한 서비스/서버가 활성 상태를 유지할 때까지 30분을 기다리는 것입니다. 이 30분 가동 시간이 설정되면 사용자 세션이 홈 노드로 다시 이동됩니다. 그런 다음 Jabber 클라이언트는 폴백에 대한 상위 및 하위 제한에 재로그인을 적용합니다.
자동 폴백이 기본 컨피그레이션이 아니지만 활성화할 수 있습니다. 자동 폴백을 활성화하려면 Server Recovery Manager Service Parameters(서버 복구 관리자 서비스 매개변수)에서 Enable Automatic Fallback(자동 폴백 활성화) 매개변수를 True(참) 값으로 변경합니다.
문제 해결
이 섹션에서는 컨피그레이션 문제를 해결하는 데 사용할 수 있는 정보를 제공합니다.
IM&P Service Server에서 고가용성을 트러블슈팅할 때 고려해야 하는 두 가지 중요한 타이머가 있습니다.
- 60초 후 응답이 없는 경우 Servers exchange 4는 60초마다 keepalive를 제공합니다. Cisco SRM(Service Recovery Manager)은 응답하지 않는 노드가 오프라인으로 전환되어 장애 조치 명령을 트리거한다고 간주합니다. 다음 조각이 보여주듯이 마지막 하트비트는 62초 전에 발생했습니다.
2021-05-13 02:48:48,244 INFO[HS]rsrm.RsrmHeartBeatHandler - RsrmHeartBeatHandler: peer down, time since last heartbeat[s]= 62
2021-05-13 02:48:48,244 INFO [HS] rsrm.RsrmAutomaticFallback - RsrmAutomaticFallback: peer states vector changed to [Normal,Running in Backup Mode]
팁: 이 시나리오에서는 네트워크에서 대기 시간이 발견되면 하트비트 시간 초과 타이머를 60초에서 90초로 늘리는 것이 좋습니다.
CUCM Administration(CUCM 관리) 웹 페이지 > System(시스템) > Service parameters configuration(서비스 매개변수 컨피그레이션) > Select the IM&P Server(IM&P 서버 선택) > Select Cisco Recovery Manager Settings(Cisco 복구 관리자 설정 선택) > On the Keep Alive (Heartbeat) timeout에서이 수를 90초로 늘립니다.
- IM&P 가입자 서버는 모니터링되는 서비스 중 하나 이상이 다운된 것을 탐지하면 가입자 서버가 90초 동안 대기합니다.
문제 해결을 위해 수집할 로그
- Server Recover Manager(SRM)는 장애 조치 이벤트 이전 및 이후 로그(가능한 경우 디버그 레벨)
- IM&P 명령줄 인터페이스를 통한 명령 출력은 enterprisesubcluster에서 sql select * 를 실행합니다.
- IM&P의 enterprisesubcluster 테이블에는 이중화 그룹 컨피그레이션이 포함됩니다.
- IM&P 명령줄 인터페이스를 통한 명령 출력 enterenenode에서 sql select * 실행
- enterprisencode 테이블에는 노드의 노드 정보 및 하위 클러스터 할당이 표시됩니다.
- 장애 조치가 중지되는 서비스에 의해 생성된 경우 다음 정보를 수집합니다.
- 이벤트 뷰어 시스템 로그
- 이벤트 뷰어 애플리케이션 로그
- 중지된 서비스의 로그입니다.