검색

3.2. 직접 라우팅을 통한 LVS

download PDF
As mentioned in 1.4.2절. “직접 라우팅 ”, direct routing allows real servers to process and route packets directly to a requesting user rather than passing outgoing packets through the LVS router. Direct routing requires that the real servers be physically connected to a network segment with the LVS router and be able to process and direct outgoing packets as well.
네트워크 레이아웃
직접 라우팅 LVS 설정에서 LVS 라우터는 들어오는 요청을 받아 이를 처리하기 위해 실제 서버로 올바르게 라우트해야 합니다. 그 후 실제 서버는 이 요청을 클라이언트에게 직접 라우트합니다. 예를 들어, 클라이언트가 인터넷 상에서 LVS 라우터를 통해 실제 서버로 패킷을 전송할 경우, 실제 서버는 인터넷을 통해 클라이언트에게로 직접 도달할 수 있어야 합니다. 이는 인터넷으로 패킷을 전달하기 위해 실제 서버에 대한 게이트웨이를 설정하여 실행될 수 있습니다. 서버 풀에 있는 각각의 실제 서버는 최대 처리량 및 확장성을 허용하여 각각의 분리된 게이트웨이(및 인터넷으로 자체적 연결을 사용하는 각각의 게이트웨이)를 갖게 됩니다. 전형적인 LVS 설정의 경우 실제 서버는 하나의 게이트웨이 (즉 하나의 네트워크 연결)를 통해 통신할 수 있습니다.

중요

필요하지 않는 설정을 복잡하게 추가시키고 LVS 라우터에 네트워크 부하량을 추가함으로 NAT 라우팅에서 발생했던 네트워크 병목 현상을 다시 나타나게 하여 실제 서버 용 게이트웨이로서 LVS 라우터 사용을 권장하지 않습니다.
하드웨어
직접 라우팅을 사용한 LVS 시스템의 하드웨어 필요 요건은 기타 다른 LVS 토폴로지와 비슷합니다. 들어오는 요청을 처리하고 실제 서버에 필요한 로드 밸런싱을 실행하기 위해 LVS 라우터가 Red Hat Enterprise Linux에서 실행되고 있어야 하는 반면, 올바른 작동을 위해 실제 서버가 Linux를 사용하는 컴퓨터에서 실행될 필요는 없습니다. LVS 라우터에는 (백업 라우터가 있는 지의 여부에 따라) 각각 하나 또는 두개의 NIC가 있어야 합니다. 설정 완화를 위해 두 개의 NIC를 사용하여 소통량을 분할할 수 있습니다 — 들어오는 요청은 하나의 NIC에 의해 처리되고 다른 NIC에서는 실제 서버로 패킷을 라우트합니다.
실제 서버가 LVS 라우터를 무시하고 클라이언트에게 나가는 패킷을 직접 전달하기 때문에 인터넷으로의 게이트웨이가 있어야 합니다. 성능 및 가용성을 최대화하기 위해 각각의 실제 서버는 클라이언트가 연결되어 있는 네트워크에 자체적으로 접속되는 분리된 게이트웨이로 연결될 수 있습니다 (예: 인터넷 또는 인트라넷).
소프트웨어
There is some configuration outside of Piranha Configuration Tool that needs to be done, especially for administrators facing ARP issues when using LVS via direct routing. Refer to 3.2.1절. “직접 라우팅 및 arptables_jf or 3.2.2절. “직접 라우팅 및 iptables for more information.

3.2.1. 직접 라우팅 및 arptables_jf

In order to configure direct routing using arptables_jf, each real server must have their virtual IP address configured, so they can directly route packets. ARP requests for the VIP are ignored entirely by the real servers, and any ARP packets that might otherwise be sent containing the VIPs are mangled to contain the real server's IP instead of the VIPs.
arptables_jf 방식으로 어플리케이션은 실제 서버가 사용되고 있는 각각의 개별적 VIP 또는 포트로 바인드할 수 있습니다. 예를 들어, arptables_jf 방식은 시스템 상의 다른 VIP로 바인드되게 하기 위해 Apache HTTP Server의 여러 경우를 허용합니다. iptables 옵션으로 arptables_jf를 사용하는 데에 있어서 성능상의 이점을 있습니다.
하지만, arptables_jf 방식을 사용하면 VIP는 Red Hat Enterprise Linux 시스템 설정 도구를 사용하여 부팅시 시작되도록 설정할 수 없게 됩니다.
각각의 가상 IP 주소에 해당하는 ARP 요청을 무시하기 위해 각각의 실제 서버를 설정하려면 다음과 같은 절차를 실행합니다:
  1. 실제 서버에서 각각의 가상 IP 주소에 해당하는 ARP 테이블 항목을 생성합니다 (real_ip는 실제 서버와 통신하기 위해 Director가 사용하는 IP입니다; 주로 이는 eth0로 IP 바인드됩니다):
    arptables -A IN -d <virtual_ip> -j DROP
    arptables -A OUT -s <virtual_ip> -j mangle --mangle-ip-s <real_ip>
    
    이로인해 실제 서버는 가상 IP 주소에 대한 모든 ARP 요청을 무시하게 되며 가상 IP가 들어있는 나가는 ARP 응답을 변경하고 대신 서버의 실제 IP를 포함시킵니다. 모든 VIP에 해당하는 ARP 요청에 응답하는 노드만이 현재 활성 LVS 노드에 있게 됩니다.
  2. 각각의 실제 서버에서 이러한 작업을 완료한 후, 다음과 같은 명령을 사용하여 ARP 테이블 항목을 저장합니다:
    service arptables_jf save
    chkconfig --level 2345 arptables_jf on
    chkconfig 명령으로 부팅시 — 네트워크가 시작되기 전 arptables 설정을 시스템으로 다시 불러올 수 있습니다.
  3. IP 알리아스를 생성하기 위해 ifconfig를 사용하여 모든 실제 서버에 있는 가상 IP 주소를 설정합니다. 예:
    # ifconfig eth0:1 192.168.76.24 netmask 255.255.252.0 broadcast 192.168.79.255 up
    또는 iproute2 ip 유틸리티를 사용합니다 예:
    # ip addr add 192.168.76.24 dev eth0
    이전 부분에서 언급하였듯이 가상 IP 주소는 Red Hat 시스템 설정 도구를 사용하여 부팅시 시작되도록 설정할 수 없습니다. 이러한 문제를 해결하기 위해 /etc/rc.d/rc.local에 이 명령을 사용합니다.
  4. Configure Piranha for Direct Routing. Refer to 4장. Piranha Configuration Tool를 사용하여 LVS 라우터 설정 for more information.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.