원문출처 : http://yakolla.tistory.com/98


Virtual Box / Cnetos7 환경에서 TEST


TEST 결과 명심할점.


아래 기본설정으로 진행한 결과는 


ipvsadm 은 장애대응 즉 Fail Over 가 수행되지 않는다.


접속 트래픽을 분산하여 연결시켜주는 것은 가능하다.

단일 브라우져에서 장애 서버 접속을 브라우져를 통하여 실행할 경우

최초 장애서버 접속 재접속시 

라운드로빈(RR)으로 장애상태서버가 아닌 다른 서버( 즉 정상서버 )에

접속하여 정상 구동되는것 처럼 보여서 Fail Over 라고 착각할 수 있다.

그러나 이 상태는 실제 장애발생 서버를 배제하고 정상 서버로 연결해주는 대응이 아니다.


따라서 서버의 상태를 모니터링 하여 Fail Over 대응을 하는 것은

별도의 절차가 필요한 것으로 판단된다.



--------------------------------------------------------------------------------------------------------


1. LVS 설정

 

# LVS 설치

$ yum -y install ipvsadm


# 설정확인 0이면 비활성화 된 것임.

$ sysctl -a | grep ip_forward

net.ipv4.ip_forward = 0

net.ipv4.ip_forward_use_pmtu = 0

 

$ vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

 

$ sysctl -p

 

# 리부트 후, 값이 저장되었는지 확인해보자.

$ reboot

$ sysctl -a | grep ip_forward

net.ipv4.ip_forward = 1

net.ipv4.ip_forward_use_pmtu = 0


#  가상IP(VIP) 추가

$ ip addr add 192.168.199.250 dev eno16777736:0


# 잘못 추가했다면

# ip addr del 192.168.199.250 dev eno16777736:0



# LVS Direct Routing으로 추가하기

$ ipvsadm -C

$ ipvsadm -A -t 192.168.199.250:8001 -s rr

$ ipvsadm -a -t 192.168.199.250:8001 -r 192.168.199.128:8001 -g

$ ipvsadm -a -t 192.168.199.250:8001 -r 192.168.199.129:8001 -g



2. Real Server 설정


vi /etc/sysctl.conf

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

$ sysctl -p


 

# LVS에 할당한 VIP를 추가한다.

$ ip addr add 192.168.199.250 dev lo:0


 

# 잘되고 있는지 LVS서버에서 확인

$ ipvsadm -L -n --stats

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes

  -> RemoteAddress:Port

TCP  192.168.199.250:8001                2       43        0    10016        0

  -> 192.168.199.128:8001                1       29        0     5964        0

  -> 192.168.199.129:8001                1       14        0     4052        0