keepalived를 이용한 부하분산

| 2017년 1월 31일 | 0 Comments

Keepalived 설치
먼저 keepalived를 설치해줍니다.
# yum install keepalived

 

Keepalived 설정
Keepalived의 설치가 끝났으면, .conf 파일로 들어가서 설정을 해줍니다.
# vi /etc/keepalived/keepalived.conf

# Configuration File for Keepalived
# Global Configuration
global_defs {
  notification_email {
  }
}

# describe virtual service ip
vrrp_instance test1 {
  state MASTER
  interface eth0 //사용중인 인터페이스 설정
  virtual_router_id 10
  priority 200
  advert_int 1
  virtual_ipaddress {
    192.168.9.40/24 dev eth0 //대표 IP 설정
  }
}

virtual_server 192.168.9.40 80 {
  delay_loop 10
  lb_algo wlc //스케줄링 알고리즘 선택(sh, rr, wlc 등)
  lb_kind DR
  protocol TCP
  connect_port 80 //사용할 포트
  real_server 192.168.9.32 80 { //서비스중인 서버 IP
    TCP_CHECK {
      connect_timeout 1
      connect_port 80
    }
  }

real_server 192.168.9.33 80 { //서비스중인 서버 IP
    TCP_CHECK {
      connect_timeout 1
      connect_port 80
    }
  }

 real_server 192.168.9.34 80 { //서비스중인 서버 IP
    TCP_CHECK {
      connect_timeout 1
      connect_port 80
    }
  }
}

keepalived 설정이 끝났으면, start를 해줍니다.
# /etc/init.d/keepalived start

 

ipvsadm 설치
# yum install ipvsadm
설치된 ipvsadm으로 분배 설정을 확인합니다.
# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port                Forward Weight ActiveConn InActConn
TCP 192.168.9.40:80 wlc
    -> 192.168.9.32:80                        Route     1          0                   0
    -> 192.168.9.33:80                        Route     1          0                   0
    -> 192.168.9.34:80                        Route     1          0                   0

Apache 부하  테스트
ab 명령어를 이용해서 서버에 부하분산을 확인해봅니다.
# /usr/local/apache/bin/ab -c 500 -n 500 -t 10 http://192.168.9.40/
-c : 동시접속자수
-n : 측정을 위한 요청 수
-t : 시간제한(‘초’단위)

-keepalived 서버 부하 확인
1

– 192.168.9.32 서버 부하 확인
3
 192.168.9.33 서버 부하 확인
4
 192.168.9.34 서버 부하 확인
5

 

Category: LINUX

Avatar

About the Author ()