Solaris OS용 Sun Java System Application Server에 대한 Sun Cluster 데이터 서비스 안내서

검사 알고리즘 및 기능

Sun Java System Application Server용 Sun Cluster HA 검사는 서버에 요청을 보내 Sun Java System Application Server 서버의 상태를 쿼리합니다. 검사는 다음 단계로 수행됩니다.

  1. Probe_timeout 자원 등록 정보에 설정된 시간 초과 값에 따라 Sun Java System Application Server 인스턴스를 검사합니다.

  2. 네트워크 자원 구성 및 자원 그룹의 Port_list 설정에서 정의한 IP 주소와 포트 조합에 연결합니다. Port_list가 비어 있지 않은 채로 자원이 구성되면 이 단계는 건너뜁니다. 연결이 성공하면 검사는 연결 해제됩니다. 연결이 실패하면 실패가 기록됩니다.

    과도한 네트워크 트래픽이나 시스템 로드, 구성 오류가 발생하면 쿼리가 실패할 수 있습니다. Sun Java System Application Server 서버가 검사 대상인 모든 IP 주소/포트 조합에서 수신하도록 구성하지 않으면 구성 오류가 발생할 수 있습니다. Sun Java System Application Server 서버는 이 자원에 대해 지정된 모든 IP 주소의 모든 포트를 처리해야 합니다.

  3. Sun Java System Application Server의 서버로 연결한 다음 Monitor_Uri_List의 각 URI로 HTTP 요청을 보내고 응답을 받는 방식으로 HTTP 1.1 GET 검사를 수행합니다.

    HTTP 요청 결과는 실패하거나 성공합니다. 모든 요청이 Sun Java System Application Server의 서버로부터 응답을 받는 데 성공했다면 다음 검사 및 일시 정지 주기가 수행됩니다.

    과도한 네트워크 트래픽이나 시스템 로드, 구성 오류가 발생하면 HTTP GET 검사가 실패할 수 있습니다. Monitor_Uri_List 등록 정보를 잘못 구성하여 Monitor_Uri_List 에 잘못된 포트나 호스트 이름이 포함되면 실패할 수 있습니다. 예를 들어, Application Server 인스턴스가 논리 호스트 schost-1을 수신하는 중이고 URI가 http://schost-2/servlet/monitor로 지정되었다면 검사는 schost-2와 접촉하여 /servlet/monitor를 요청하고자 시도할 것입니다.

  4. Probe_timeout 제한 이내에 검사에 대한 응답을 수신하지 않으면 로그 기록에 실패가 기록됩니다. 검사는 이 시나리오를 Sun Java System Application Server 데이터 서비스 일부가 실패한 것으로 간주합니다. Sun Java System Application Server 검사 실패는 전체 실패이거나 부분 실패일 수 있습니다.

    검사에 대한 응답이 Probe_timeout 제한 이내에 수신된다면 HTTP 응답 코드를 검사합니다. 응답 코드가 500 “내부 서버 오류”라면 검사는 전체 실패로 간주됩니다. 기타 모든 응답 코드는 무시됩니다.

    다음은 전체 검사 실패입니다.

    • 서버 연결 실패 시 다음 오류 메시지를 수신합니다. %s는 호스트 이름, %d는 포트 번호를 나타냅니다.


      Failed to connect to the host <%s> and port <%d>. Receiving a response code of 500 “Internal Server Error” HTTP GET Response Code for probe of %s is 500. Failover will be in progress

    • 검사 문자열을 서버로 보내는 데 실패하면 다음 오류 메시지를 수신합니다. 첫 번째 %s는 호스트 이름, %d는 포트 번호, 두 번째 %s는 해당 오류에 대한 자세한 내용을 나타냅니다.


      Write to server failed: server %s port %d: %s.

  5. 모니터링은 Retry_interval 자원 등록 정보 설정 이내에서 발생하는 부분 실패를 전체 실패가 될 때까지 취합합니다.

    다음은 부분 검사 실패입니다.

    • Probe_timeout 설정이 지나기 전에 연결 해제가 실패하면 다음 오류 메시지를 수신합니다. 첫 번째 %d는 포트 번호, %s는 자원 이름을 나타냅니다.


      Failed to disconnect from port %d of resource %s.

    • Probe_timeout 시간 이내에 모든 검사 단계를 완료하지 못하면 부분 실패가 됩니다.

    • 다른 이유로 서버로부터 데이터를 읽는 데 실패하면 다음 오류 메시지를 수신합니다. 첫 번째 %s는 호스트 이름, %d는 포트 번호, 두 번째 %s는 해당 오류에 대한 자세한 내용을 나타냅니다.


      Failed to communicate with server %s port %d: %s

  6. 실패가 발생하면 실패 기록에 따라 로컬 재시작이나 데이터 서비스 페일오버가 발생할 수 있습니다.