Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.2. keepalived Direct Routing 구성

Keepalived의 직접 라우팅 구성은 NAT와의 구성과 유사합니다. 다음 예에서 Keepalived는 포트 80에서 HTTP를 실행하는 실제 서버 그룹에 대한 부하 분산을 제공하도록 구성되어 있습니다. 직접 라우팅을 구성하려면 lb_kind 매개변수를 DR 로 변경합니다. 기타 구성 옵션은 4.1절. “기본 Keepalived 구성” 에서 설명합니다.
다음 예제에서는 직접 라우팅을 사용하는 Keepalived 구성에서 활성 서버에 대한 keepalived.conf 파일을 보여줍니다.
global_defs {
   notification_email {
     admin@example.com
   }
   notification_email_from noreply_admin@example.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 60
}

vrrp_instance RH_1 {
    state MASTER 
    interface eth0
    virtual_router_id 50
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass passw123
    }
    virtual_ipaddress {
        172.31.0.1
    }
}

virtual_server 172.31.0.1 80 {
    delay_loop 10
    lb_algo rr
    lb_kind DR
    persistence_timeout 9600
    protocol TCP

    real_server 192.168.0.1 80 {
        weight 1
        TCP_CHECK {
          connect_timeout 10
          connect_port    80
        }
    }
    real_server 192.168.0.2 80 {
        weight 1
        TCP_CHECK {
          connect_timeout 10
          connect_port    80
        }
    }
    real_server 192.168.0.3 80 {
        weight 1
        TCP_CHECK {
          connect_timeout 10
          connect_port    80
        }
    }
}
다음 예제에서는 직접 라우팅을 사용하는 Keepalived 구성에서 백업 서버에 대한 keepalived.conf 파일을 보여줍니다. statepriority 값은 활성 서버의 keepalived.conf 파일과 다릅니다.
global_defs {
   notification_email {
     admin@example.com
   }
   notification_email_from noreply_admin@example.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 60
}

vrrp_instance RH_1 {
    state BACKUP
    interface eth0
    virtual_router_id 50
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass passw123
    }
    virtual_ipaddress {
        172.31.0.1
    }
}

virtual_server 172.31.0.1 80 {
    delay_loop 10
    lb_algo rr
    lb_kind DR
    persistence_timeout 9600
    protocol TCP

    real_server 192.168.0.1 80 {
        weight 1
        TCP_CHECK {
          connect_timeout 10
          connect_port    80
        }
    }
    real_server 192.168.0.2 80 {
        weight 1
        TCP_CHECK {
          connect_timeout 10
          connect_port    80
        }
    }
    real_server 192.168.0.3 80 {
        weight 1
        TCP_CHECK {
          connect_timeout 10
          connect_port    80
        }
    }
}