탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1 네트워크 성능 관리 Oracle Solaris 11.1 Information Library (한국어) |
ILB는 다음과 같이 사용자가 선택할 수 있는 선택적 유형의 서버 상태 검사를 제공합니다.
내장 핑 프로브
내장 TCP 프로브
내장 UDP 프로브
상태 검사로 실행할 수 있는 사용자 제공 사용자 정의 테스트
기본적으로 ILB는 상태 검사를 수행하지 않습니다. 로드 균형 조정 규칙을 만들 때 각 서버 그룹에 대해 상태 검사를 지정할 수 있습니다. 로드 균형 조정 규칙당 하나의 상태 검사만 구성할 수 있습니다. 가상 서비스가 사용으로 설정된 동안, 사용으로 설정된 가상 서비스와 연관된 서버 그룹에서 상태 검사가 자동으로 시작되고 정기적으로 반복됩니다. 가상 서비스를 사용 안함으로 설정하면 즉시 상태 검사가 중지됩니다. 가상 서비스를 다시 사용으로 설정하면 이전 상태 검사 상태는 보존되지 않습니다.
상태 검사를 실행하기 위해 TCP, UDP 또는 사용자 정의 테스트 프로브를 지정할 때 ILB는 기본적으로 핑 프로브를 보내 지정된 TCP, UDP 또는 사용자 정의 테스트 프로브를 서버로 보내기 전에 서버에 연결할 수 있는지 확인합니다. 핑 프로브는 서버 상태를 모니터하는 방법입니다. 핑 프로브가 실패하면 해당 서버가 사용 안함으로 설정되고 상태 검사 상태가 unreachable이 됩니다. 핑 프로브는 성공하지만 TCP, UDP 또는 사용자 정의 테스트 프로브가 실패하면 서버가 사용 안함으로 설정되고 상태 검사 상태는 dead가 됩니다.
주 -
기본 핑 프로브를 사용 안함으로 설정할 수 있습니다.
UDP 프로브의 경우 기본 핑 프로브를 사용 안함으로 설정할 수 없습니다. 따라서 UDP 상태 검사의 경우 핑 프로브는 항상 기본 프로브입니다.
다음 예에서는 2개의 상태 검사 객체, hc1 및 hc-myscript가 생성됩니다. 첫번째 상태 검사는 내장 TCP 프로브를 사용합니다. 두번째 상태 검사는 사용자 정의 테스트인 /var/tmp/my-script를 사용합니다.
# ilbadm create-healthcheck \ -h hc-timeout=3,hc-count=2,hc-interval=8,hc-test=tcp hc1 # ilbadm create-healthcheck -h hc-timeout=3, \ hc-count=2,hc-interval=8,hc-test=/var/tmp/my-script hc-myscript
각 인수에 대한 설명은 다음과 같습니다.
상태 검사가 완료되지 않은 경우 실패한 것으로 간주되는 시간 초과를 지정합니다.
hc-test 상태 검사 실행 시도 횟수를 지정합니다.
연속 상태 검사 사이의 간격을 지정합니다. 동기화를 피하기 위해 실제 간격은 0.5 * hc-interval 및 1.5 * hc-interval 사이에서 무작위로 설정됩니다.
상태 검사 유형을 지정합니다.
사용자 제공 사용자 정의 테스트는 다음 기준을 충족해야 합니다.
테스트는 이진일 수도 있고 스크립트일 수도 있습니다.
테스트는 시스템의 어디에든 상주할 수 있으며 create-healthcheck 하위 명령을 사용하는 경우 절대 경로를 지정해야 합니다.
create-rule 하위 명령에서 상태 검사 사양의 일부로 테스트를 지정하는 경우(예: /var/tmp/my-script) 다음과 같이 ilbd 데몬이 프로세스를 포크하고 테스트를 실행합니다.
/var/tmp/my-script $1 $2 $3 $4 $5
각 인수에 대한 설명은 다음과 같습니다.
VIP(리터럴 IPv4 또는 IPv6 주소)
서버 IP(리터럴 IPv4 또는 IPv6 주소)
프로토콜(UDP, TCP를 문자열로)
숫자 포트 범위(hc-port에 대한 사용자 지정 값)
테스트에서 실패를 반환하기 전에 대기해야 하는 최대 시간(초) 지정된 시간을 넘어 테스트를 실행하면 테스트가 중지될 수 있고 실패로 간주됩니다. 이 값은 사용자 정의 값으로 hc-timeout에 지정됩니다.
사용자 제공 테스트 my-script는 모든 인수를 사용할 수도 있고 아닐 수도 있지만, 반드시 다음 중 하나를 반환해야 합니다.
마이크로초 단위의 RTT(라운드 트립 시간)
테스트에서 RTT를 계산하지 않는 경우 0
실패한 경우 -1
기본적으로 상태 검사 테스트는 PRIV_PROC_FORK, RIV_PROC_EXEC 및 RIV_NET_ICMPACCESS 권한으로 실행됩니다.
더 광범위한 권한 세트가 필요한 경우 테스트에 setuid를 구현해야 합니다. 권한에 대한 자세한 내용은 privileges(5) 매뉴얼 페이지를 참조하십시오.
ilbadm list-healthcheck 하위 명령을 사용하여 구성된 상태 검사에 대한 세부 정보를 얻을 수 있습니다.
# ilbadm list-healthcheck
다음 샘플 출력에는 2가지로 구성된 상태 검사가 나열됩니다.
|
ilbadm list-hc-result 하위 명령을 사용하여 상태 검사 결과를 얻을 수 있습니다. 규칙이나 상태 검사가 지정되지 않은 경우 모든 상태 검사가 나열됩니다.
다음 예에는 rule1이라는 규칙과 연관된 상태 검사 결과가 표시되어 있습니다.
# ilbadm show-hc-result rule1
|
표의 LAST 열에는 서버에서 상태 검사가 수행된 시간이 표시됩니다. NEXT 열에는 서버에서 다음 상태 검사가 수행될 시간이 표시됩니다.
다음 예에서는 hc1이라는 상태 검사를 삭제합니다.
# ilbadm delete-healthcheck hc1