Centos 6.5에서 LVS 라운드-로빈 방법으로 구축하기
LVM이란?
- Linux Virtual Server(LVS)란?
리눅스 가상 서버란, 고가용성 서버를 구축하기 위해 리눅스 머신을 로드 발랜스 하도록 해주는 운영시스템이다.
- Linux Virtual Server 스케쥴링
1) 라운드-로빈(round-robin) - 로드밸런서에 들어오는 요청 패킷들을 차례대로 실제 서버에 할당하는 방식
- 이 방식에서 실제 서버의 현재 부하 상황 등은 고려되지 않음
2) 가중 라운드-로빈(weighted round-robin)
- 가중 라운드-로빈 방식은 기본적으로 라운드-로빈 방식을 사용하면서 각 서버에 서로 다른 가중치를 주어서 할당하는 방식
- 이 방식을 사용해야 하는 경우는 실제 서버들이 CPU의 수와 성능, 메모리 용량 등 서로 다른 성능을 가지고 있어서, 각 서버를 동등하게 취급할 수 없을 때
3) 최소 연결(least connection)
- 최소 연결 방식은 실제 서버들 중에서 현재 가장 적은 수의 요청을 처리하고 있는 서버를 선택하여 요청 패킷을 할당하는 방식
- 이 방식은 실제 서버의 현재 부하 상황을 동적으로 판단하여 요청을 처리하기 때문에, 앞의 두 방식에 비해서 동적으로 우수한 부하 분산 효과를 얻을 수 있음
4)가중 최소 연결(weighted least connection)
- 가중 최소 연결 방식은 기본적으로 최소 연결 방식인데, 가중 라운드-로빈 방식과 마찬가지로 각 서버에 서로 다른 가중치를 주어서 할당하는 방식
시스템 구성 및 ipvsadm 설치
1) Load Balancer Server- 운영체제 : CentOS 6.5
- 플랫폼 : VMware 10.0
- IP : 192.168.1.128
- 가상IP : 192.168.1.11
- 운영체제 : CentOS 6.5
- 플랫폼 : VMware 10.0
- IP : 192.168.1.129
3) Real Server1(RS2)
- 운영체제 : CentOS 6.5
- 플랫폼 : VMware 10.0
- IP : 192.168.1.130
4) Load Balancer Server ipvsadm 설치
▶ Load Balancer Server에서 ipvsadm을 다운로드 후 설치를 한다.
#yum -y install ipvsadm
▶ 설치 확인
#ipvsadm
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
설치가 정상적으로 되었다면 위와 같은 텍스트가 보입니다.
Direct routing 기법을 이용하여 LVS 구성
- Direct Routing의 구조도
A-1.Load Balancer Server 설정법
/etc/sysctl.conf에 net.ipv4.ip_forward = 0 부분을 1로 변경후
#sysctl -p // 커널파라미터 적용
#ifconfig eth0:1 192.168.1.11 up // 가상아이피 등록
#ipvsadm -A -t 192.168.1.11:80 -s rr // 라운드-로빈방식으로 설정
#ipvsadm -a -t 192.168.1.11:80 -r 192.168.1.129:80 -g // RS1 서버로 다이렉트 라우팅 설정
#ipvsadm -a -t 192.168.1.11:80 -r 192.168.1.130:80 -g // RS2 서버로 다이렉트 라우팅 설정
* iptables에서 80번 포트 추가 후 재시작
A-2.Real Server(RS1) 설정법
/etc/sysctl.conf에 net.ipv4.ip_forward = 0 부분을 1로 변경하여야 하며
해당 내용을 sysctl.conf의 하단부에 추가
#for ipvs
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
#end of ipvs
#sysctl -p // 추가한 후에 커널 파라미터를 적용
#ip addr add 192.168.1.11 dev lo // 가상 아이피 등록
* iptables에서 80번 포트 추가 후 재시작
A-3.Real Server(RS2) 설정법
/etc/sysctl.conf에 net.ipv4.ip_forward = 0 부분을 1로 변경하여야 하며
해당 내용을 sysctl.conf의 하단부에 추가
#for ipvs
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
#end of ipvs
#sysctl -p // 추가한 후에 커널 파라미터를 적용
#ip addr add 192.168.1.11 dev lo // 가상아이피 등록
* iptables에서 80번 포트 추가 후 재시작
LVS 확인
5-1. 구축을 하고 난 뒤 ipvsadm을 입력했을 때 다음과 같이 나오면 성공
5-2. 클라이언트 준비
운영체제: XP
플랫폼: VMware
IP: 192.168.1.131
5-3. LVS 서버의 가상 아이피 192.168.1.11을 입력하여 웹서버에 접속 시도
-다음과 같은 창이 뜨면 성공
5-4. LVS에서 로드밸런싱이 이루어졌는지 확인
- ActiveConn에 숫자가 올라간 것이 확인되면 LVS 구축 성공
작성자가 댓글을 삭제했습니다.
답글삭제좋은 글 감사합니다. 그런데 사진이 엑박인데 어떻게 해결은 어려울까요? ActiveConn에 숫자가 변화가 없는데 무슨 문제일까요?
답글삭제