2.5. 지속성 및 방화벽 표시 Keepalived로 표시
특정 상황에서는 클라이언트가 최상의 사용 가능한 서버로 해당 요청을 전송하는 대신 동일한 실제 서버에 반복적으로 다시 연결하는 것이 바람직할 수 있습니다. 이러한 상황의 예로는 다중 화면 웹 양식, 쿠키, SSL 및 FTP 연결이 있습니다. 이러한 경우 컨텍스트를 유지하기 위해 동일한 서버에서 트랜잭션을 처리하지 않는 한 클라이언트가 제대로 작동하지 않을 수 있습니다. keepalived는 지속성 및 방화벽 표시 라는 두 가지 다른 기능을 제공합니다.
2.5.1. 지속성
활성화하면 지속성이 타이머처럼 작동합니다. 클라이언트가 서비스에 연결하면 Load Balancer는 지정된 기간 동안 마지막 연결을 기억합니다. 동일한 클라이언트 IP 주소가 해당 기간 내에 다시 연결하면 이전에 연결된 동일한 서버로 전송되어 부하 분산 메커니즘을 우회합니다. 시간 창 외부에서 연결이 발생하면 스케줄링 규칙에 따라 처리됩니다.
또한 지속성을 통해 관리자는 클라이언트 IP 주소 테스트에 더 높은 수준의 지속성이 있는 주소를 제어하기 위한 툴로 클라이언트 IP 주소 테스트에 적용할 서브넷 마스크를 지정할 수 있으므로 해당 서브넷에 대한 연결을 그룹화할 수 있습니다.
서로 다른 포트로 향하는 연결을 그룹화하는 것은 FTP와 같이 두 개 이상의 포트를 사용하는 프로토콜에 중요할 수 있습니다. 그러나 지속성은 다른 포트를 대상으로 하는 연결을 그룹화하는 문제를 해결하는 가장 효율적인 방법은 아닙니다. 이러한 경우 방화벽 표시를 사용하는 것이 가장 좋습니다.
2.5.2. 방화벽 마크
방화벽 마크는 프로토콜 또는 관련 프로토콜 그룹에 사용되는 포트를 그룹화하는 쉽고 효율적인 방법입니다. 예를 들어, 로드 밸런서가 전자 상거래 사이트를 실행하도록 배포되면 방화벽 마크를 사용하여 포트 80에 HTTP 연결을 번들하고 포트 443에 HTTPS 연결을 보호할 수 있습니다. 각 프로토콜에 대해 동일한 방화벽 마크를 가상 서버에 할당하면 LVS 라우터가 연결이 열린 후 모든 요청을 동일한 실제 서버로 전달하므로 트랜잭션에 대한 상태 정보를 유지할 수 있습니다.
효율성과 사용 편의성 때문에 로드 밸런서 관리자는 연결을 그룹화할 수 있을 때마다 지속성 대신 방화벽 표시를 사용해야 합니다. 그러나 관리자는 방화벽 표시와 함께 가상 서버에 지속성을 추가하여 적절한 기간 동안 클라이언트를 동일한 서버에 다시 연결해야 합니다.