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

Sun Java System Web Server용 Sun Cluster HA 오류 모니터링

Sun Java System Web Server용 Sun Cluster HA 검사에서는 해당 서버에 대한 요청을 사용하여 그 서버의 상태를 쿼리합니다. 검사가 실제로 서버를 쿼리하기에 앞서 이 Web Server 자원에 대해 네트워크 자원이 구성되었는지 확인합니다. 구성된 네트워크 자원이 없으면 오류 메시지(No network resources found for resource)가 기록되고 검사는 실패로 종료합니다.

이 검사는 다음 2가지 Sun Java System Web Server 구성에 대해 수행되어야 합니다.

Web Server가 보안 모드에 있는데 검사 시 구성 파일에서 보안 포트를 찾지 못하면 오류 메시지(Unable to parse configuration file)가 기록되며 검사는 실패로 종료합니다. 보안 및 비보안 인스턴스 검사 단계는 동일합니다.

검사 과정에서는 자원 등록 정보 Probe_timeout에 지정된 시간 초과 값을 사용하여 Sun Java System Web Server 검사를 시도하는 데 소요되는 시간을 제한합니다. 이 자원 등록 정보에 대한 자세한 내용은 Sun Cluster Data Service Planning and Administration Guide for Solaris OS의 “Standard Properties”를 참조하십시오.

Sun Java System Web Server에서의 Network_resources_used 자원 등록 정보 설정에 따라 Web Server가 사용하는 IP 주소 설정이 결정됩니다. Port_list 자원 등록 정보 설정에 따라 Sun Java System Web Server가 사용하는 포트 번호 목록이 결정됩니다. 오류 모니터링은 해당 Web Server가 모든 IP-포트 조합에서 수신 중이라고 가정합니다. (포트 80 이외의) 다른 포트 번호에서 수신하도록 Web Server 구성을 사용자 정의하면 결과 구성(magnus.conf) 파일에 가능한 모든 IP 주소-포트 조합이 포함되어 있어야 합니다. 오류 모니터링은 그러한 조합을 모두 검사하고자 시도하며 특정 IP 주소-포트 조합에서 Web Server가 수신하지 않으면 실패할 수 있습니다.

검사는 다음 단계로 수행됩니다.

  1. 지정된 IP 주소-포트 조합을 사용하여 Web Server에 연결합니다. 연결에 실패하면 완전히 실패한 것으로 간주합니다. 그런 다음 실패를 기록하고 적절한 조치를 취합니다.

  2. 연결에 성공하면 Web Server가 보안 모드에서 실행되고 있는지 확인합니다. 보안 모드이면 연결을 해제하고 성공 상태를 반환합니다. 보안 Sun Java System Web Server에 대해서는 추가적인 검사가 수행되지 않습니다.

    그러나 Web Server가 비보안 모드에서 실행 중이면 Web Server에 HTTP 1.0 HEAD 요청을 보내고 응답을 기다립니다. 이 요청은 과도한 네트워크 트래픽이나 시스템 로드, 구성 오류 등 다양한 이유로 실패할 수 있습니다.

    Web Server가 검사 대상인 모든 IP 주소-조합에서 수신하도록 구성되지 않았다면 구성 오류가 발생할 수 있습니다. Web Server는 이 자원에 대해 지정된 모든 IP 주소의 모든 포트를 처리해야 합니다.

    자원을 만들 때 Network_resources_used Port_list 자원 등록 정보가 올바르게 설정되지 않은 경우에도 구성 오류가 발생할 수 있습니다.

    Probe_timeout 자원 시간 제한 이내에 쿼리에 대한 응답을 수신하지 못하면 검사는 Sun Java System Web Server용 Sun Cluster HA 실패로 간주합니다. 실패는 검사 기록에 수록됩니다.

    검사 실패는 전체 실패이거나 부분 실패일 수 있습니다. 다음과 같은 검사 실패는 전체 실패로 간주됩니다.

    • 서버 연결 실패 - 다음과 같은 오류 메시지 플래그가 표시되며, 여기서 %s는 호스트 이름, %d는 포트 번호를 나타냅니다.


      Failed to connect to %s port %d
    • 서버 연결 시도 후 시간 초과(자원 등록 정보 시간 초과 Probe_timeout 초과)

    • 다음 오류 메시지의 내용처럼 검사 문자열을 서버로 보내지 못했습니다. 여기서 첫 번째 %s는 호스트 이름을, %d는 포트 번호를 나타냅니다. 두 번째 %s는 해당 오류에 대한 자세한 내용을 나타냅니다.


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

    모니터링은 자원 등록 정보 간격 Retry_interval 내에 발생한 부분 실패 2개를 취합하여 전체 실패 하나로 계산합니다.

    다음과 같은 검사 실패는 부분 실패로 간주됩니다.

    • 서버가 제공한 검사 쿼리에 대한 응답을 읽는 중 시간 초과(자원 등록 정보 시간 초과 Probe_timeout 초과)

    • 다른 이유로 인해 서버로부터 수신한 데이터 읽기 실패 - 다음과 같은 오류 메시지 플래그가 표시되며, 여기서 첫 번째 %s는 호스트 이름, %d는 포트 번호, 두 번째 %s는 해당 오류에 대한 자세한 내용을 나타냅니다.


      Failed to communicate with server %s port %d: %s
  3. 검사에서 Sun Java System Web Server 서버에 연결하고 Monitor_Uri_List의 각 URL에 HTTP 요청을 보내 HTTP 1.1 GET 검사를 실시합니다. HTTP 서버의 반환 코드가 500 (내부 서버 오류)이거나 연결이 실패하면 검사가 실시됩니다.

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

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

    실패가 발생하면 실패 기록에 따라 로컬 재시작이나 데이터 서비스 페일오버가 발생할 수 있습니다. 이 작업에 대한 자세한 내용은 Sun Cluster Data Services Planning and Administration Guide for Solaris OS의 “Sun Cluster Data Service Fault Monitors”를 참조하십시오.