Oracle® Solaris 11.2 시스템을 라우터 또는 로드 밸런서로 구성

인쇄 보기 종료

업데이트 날짜: 2014년 9월
 
 

ILB 규칙 구성

이 절에서는 ilbadm 명령을 사용하여 로드 균형 조정 규칙을 생성, 삭제 및 나열하는 방법에 대해 설명합니다.

ILB 알고리즘

ILB 알고리즘은 트래픽 분배를 제어하고 다양한 로드 분배 및 서버 선택 특성을 제공합니다.

    ILB는 두 가지 작동 모드에 대해 다음 알고리즘을 제공합니다.

  • 라운드 로빈 – 라운드 로빈 알고리즘에서는 로드 밸런서가 회전을 기준으로 서버 그룹에 요청을 지정합니다. 서버에 요청이 지정되면 목록 끝으로 서버가 이동됩니다.

  • src-IP 해시 – 소스 IP 해시 메소드에서 로드 밸런서는 수신 요청의 소스 IP 주소에 대한 해시 값을 기반으로 서버를 선택합니다.

  • src-IP, port 해시 – 소스 IP, 포트 해시 메소드에서는 로드 밸런서가 수신 요청의 소스 IP 주소 및 소스 포트에 대한 해시 값을 기반으로 서버를 선택합니다.

  • src-IP, VIP 해시 – 소스 IP, VIP 해시 메소드에서는 로드 밸런서가 수신 요청의 소스 IP 주소 및 대상 IP 주소에 대한 해시 값을 기반으로 서버를 선택합니다.

ILB 규칙 만들기

    ILB에서 가상 서버는 로드 균형 조정 규칙으로 표시되며 다음 매개변수로 정의됩니다.

  • 가상 IP 주소

  • 전송 프로토콜: TCP 또는 UDP

  • 포트 번호(또는 포트 범위)

  • 로드 균형 조정 알고리즘

  • 로드 균형 조정 모드(DSR, Full-NAT 또는 Half-NAT)

  • 일련의 백엔드 서버로 구성된 서버 그룹

  • 서버 그룹의 각 서버에 대해 실행할 수 있는 선택적 서버 상태 검사

  • 상태 검사에 사용할 선택적 포트


    주 -  특정 포트 또는 ilbd 데몬이 서버 포트 범위에서 임의적으로 선택하는 포트에 대해 건전성 검사를 지정할 수 있습니다.
  • 가상 서비스를 표시할 규칙 이름

규칙을 만들려면 먼저 다음 작업을 수행해야 합니다.

  • 적절한 백엔드 서버를 포함하는 서버 그룹을 만듭니다. 자세한 내용은 ILB에서 서버 그룹 및 백엔드 서버 정의를 참조하십시오.

  • 상태 검사를 만들어 서버 상태 검사를 규칙과 연관시킵니다. 자세한 내용은 상태 검사 생성을 참조하십시오.

  • 규칙과 연관될 VIP, 포트 및 선택적 프로토콜을 식별합니다.

  • 사용할 작업을 식별합니다(DSR, Half-NAT 또는 Full-NAT).

  • 사용될 로드 균형 조정 알고리즘을 식별합니다. 자세한 내용은 ILB 알고리즘을 참조하십시오.

ILB 규칙은 ilbadm create-rule 명령을 사용하여 만듭니다. ilbadm create-rule 명령 사용에 대한 자세한 내용은 ilbadm(1M) 매뉴얼 페이지를 참조하십시오.

구문은 다음과 같습니다.

# ilbadm create-rule -e -i vip=IPaddr,port=port,protocol=protocol \
-m lbalg=lb-algorithm,type=topology-type,proxy-src=IPaddr1-IPaddr2,\
pmask=value -h hc-name=hc1-o servergroup=sg rule1

주 -  -e 옵션은 만들 규칙을 사용으로 설정합니다. 그렇지 않으면 기본적으로 사용 안함으로 설정됩니다.
예 6-4  상태 검사 세션 지속성이 사용된 Full-NAT 규칙 만들기

이 예에서는 hc1이라는 상태 검사와 sg1이라는 서버 그룹을 만듭니다. 서버 그룹은 두 개의 서버로 구성되고 각각 포트 범위를 가지고 있습니다. 마지막 명령은 rule1이라는 규칙을 만들어 사용으로 설정하고 서버 그룹 및 상태 검사에 규칙을 연관시킵니다. 이 규칙이 Full-NAT 작동 모드를 구현합니다. 서버 그룹 및 상태 검사 생성은 규칙 생성보다 선행되어야 합니다.

# ilbadm create-healthcheck -h hc-test=tcp,hc-timeout=2,\
hc-count=3,hc-interval=10 hc1
# ilbadm create-servergroup -s server=192.168.0.10:6000-6009,192.168.0.11:7000-7009 sg1
# ilbadm create-rule -e -p -i vip=10.0.0.10,port=5000-5009,\
protocol=tcp -m lbalg=rr,type=NAT,proxy-src=192.168.0.101-192.168.0.104,pmask=24 \
-h hc-name=hc1 -o servergroup=sg1 rule1

지속 매핑을 만들면 클라이언트의 소스 IP 주소와 일치하는 가상 서비스를 대상으로 하는 연결이나 패킷 또는 둘 모두에 대한 후속 요청이 동일한 백엔드 서버로 전달됩니다. CIDR(Classless Inter-Domain Routing) 표기법의 접두어 길이는 0-32의 값(IPv4의 경우) 및 0-128의 값(IPv6의 경우)입니다.

Half-NAT 또는 Full-NAT 규칙 생성 시 connection-drain 시간 초과 값을 지정하십시오. conn-drain 시간 초과의 기본값은 0이며, 이는 연결이 적절하게 종료될 때까지 연결 드레이닝 계속 대기를 의미합니다.

ILB 규칙 나열

규칙의 구성 세부 사항을 나열하려면 다음 명령을 실행합니다. 규칙 이름이 지정되지 않으면 모든 규칙에 대한 정보가 제공됩니다.

# ilbadm show-rule
RULENAME        STATUS   LBALG           TYPE    PROTOCOL VIP           PORT
rule-http       E        hash-ip-port    NAT     TCP      10.0.0.1      80
rule-dns        D        hash-ip         NAT     UDP      10.0.0.1      53
rule-abc        D        roundrobin      NAT     TCP      2001:db8::1   1024
rule-xyz        E        ip-vip          NAT     TCP      2001:db8::1   2048-2050

ILB 규칙 삭제

ilbadm delete-rule 명령을 사용하여 규칙을 삭제합니다. 모든 규칙을 삭제하려면 -a 옵션을 추가합니다. 다음 예에서는 rule1 규칙을 삭제합니다.

# ilbadm delete-rule rule1