로드 밸런싱을 위해 웹 서버를 구성하는 방법
서버 4 대를 예로 들어 로드 밸런싱을 수행합니다.
설치 구성 LVS
1. 설치 전 준비:
(1) 첫째, LVS 는 클러스터의 서버 사양이 통일될 필요가 없습니다. 대신 서버의 다양한 구성 및 로드 상황에 따라 로드 할당 정책을 조정하여 클러스터 환경의 각 서버를 최대한 활용할 수 있습니다. 다음 표:
Srv eth 0 eth 0: 0 eth1eth1:0
Vs110.0.110.0.0.21
Vsbak10.0.0.3192.168.10./kloc
Real1192.168.10.100
Real 2192.168.10.101
여기서 10.0.0.2 는 사용자가 액세스할 수 있는 IP 입니다.
(2) 서버 4 대 중 vs 1 은 사용자의 액세스 요청을 클러스터 내 real 1 및 real2 로 전달한 다음 각각 real/kloc-에 의해 전달되는 가상 서버 (로드 밸런싱 서버) 입니다
클라이언트는 클라이언트 테스터이며 모든 운영 체제가 될 수 있습니다.
(3) 모든 OS 는 redhat6.2 입니다. 여기서 vs 1 및 vsbak 의 커널은 2.2. 19 이고 ipvs 에 패치된 모든 패키지는 진짜입니다.
서버의 서브넷 마스크는 24 비트이고 vs 1 vsbak 의 네트워크 세그먼트는 24 비트입니다.
2. LVS 관련 용어 이해
(1) ipvsadm: ipvsadm 은 LVS 의 사용자 인터페이스입니다. 로드 밸런서에 ipvsadm 을 컴파일하고 설치합니다.
(2) 스케줄링 알고리즘: LVS 의 로드 밸런서에는 RR (Round-robin) 이라는 스케줄링 규칙이 있습니다. 측정한 것입니다.
순환경기 (WRR) 는 각각의 새 접속이 각 물리적 서버에 순차적으로 할당됩니다. 최소 연결, 약어 LC; 측정한 것입니다.
최소 연결 (wlc) 은 각각의 새 연결이 가장 부담스러운 서버에 할당됩니다.
(3) 영구 클라이언트
Connection, PCC (persistent client connection, 커널 버전 2.2. 10 이후 지원) 라고 합니다. 동일한 IP 의 모든 클라이언트는 항상 동일한 물리적 서버에 연결됩니다. 시간 초과는 360 초로 설정됩니다. Pcc 는 다음과 같습니다
동일한 IP 주소를 가질 수 있습니다.
(4) 영구 포트
연결 스케줄링 알고리즘: 커널 버전 2.2. 12 이후 PCC 기능은 하나의 스케줄링 알고리즘 (RR, WRR, LC, wlc, PCC 등 다른 스케줄링 알고리즘 선택 가능) 에서 전환 옵션으로 바뀌었습니다.
Wrr, LC, wlc 에는 PCC 속성이 있습니다. 설정할 때 스케줄링 알고리즘을 선택하지 않으면 ipvsadm 의 기본값은 wlc 알고리즘으로 설정됩니다. 영구 포트에서
연결 (PPC) 알고리즘에서 연결 할당은 포트 기반입니다. 예를 들어 포트 80 과 포트 443 이 있는 동일한 터미널의 요청은 서로 다른 물리적 서버에 할당됩니다. 불행히도 사이트에서 쿠키를 사용해야 하는 경우 /ipv4/ip_forward 로 인해 문제가 발생합니다.
# echo1> 을 눌러 섹션을 인쇄할 수도 있습니다 /proc/sys/net/IPv4/IP _ always _ defrag
# ipchains -P 스트라이커 MASQ
C. piranha 를 x 창으로 설정합니다 (또는 /etc/lvs.cf 를 직접 편집).
A) 집행 패널 시스템 피라냐
B) 전역 설정에서 주 LVS 서버의 호스트 IP: 10. 0. 0. 2 를 설정하고 변환할 네트워크 주소 (기본값) NAT 경로 이름을 선택합니다.
192.168.10.254, NAT 경로 디바이스: eth 1:0: 0.
C). 가상 서버 설정 및 가상 서버 추가 및 편집: (가상
서버) 이름: (모든 이름); 응용프로그램:.
2. Telnet 테스트: 클라이언트에서 telnet 10.0.0.2 를 실행합니다.
로그인 후 다음 출력이 나타나면 클러스터가 이미 작동하기 시작한 것입니다. (게스트 사용자로 로그인한다고 가정)
[게스트 @ real 1 게스트] $-서버 real1에 로그인했음을 나타냅니다.
텔넷 창을 다시 열면 로그인 후 다음과 같은 시스템 프롬프트가 표시됩니다.
[guest @ real 2 guest]$- 서버 real2 에 로그인했음을 나타냅니다.
3. http 테스트: 클라이언트에서 탐색 http://10.0.0.2 를 실행합니다.
Real 1 과 real2 의 테스트 페이지가 다르기 때문에 몇 번 로그인하면 표시되는 페이지가 달라져 real server 가 이미 정상적으로 작동하고 있음을 나타냅니다.