配置LVS+keepalived高可用负载均衡服务器

1.架构设计图

配置LVS+keepalived高可用负载均衡服务器

2.基础环境配置

最小化方式安装4台centos6.6,按照架构设计修改以下文件:

删除/etc/udev/rules.d/70-persistent-net.rules文件规则;

编辑/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=192.168.183.112

NETMASK=255.255.255.0

GATEWAY=192.168.183.2

DNS1=202.206.192.33(校园网)

DNS2=8.8.8.8

编辑/etc/sysconfig/network文件,配置主机名称

重新启动,检测网络是否通畅

3.配置lnmp web服务器(web1,web2)

(1)使用yum方式安装Nginx及php-fpm

   配置Nginx的yum源 /etc/yum.repos.d/nginx.repo

   [nginx]

   name=nginx repo

   baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

   gpgcheck=0

   enabled=1

(2)编辑/etc/nginx/conf.d/default.conf文件

  将有关php的配置文件去除前方#键,如下:并将script变为Nginx根目录

  配置LVS+keepalived高可用负载均衡服务器

(3)在Nginx根目录编写index.php文件

   web1:

   <?php

    phpinfo()

   ?>

   web2:

   <?php

   echo "This is website2:192.168.183.112!";

   ?>

(4)启动Nginx及php-fpm,并分别在浏览器中访问ip/index.php,得到如下结果,lnmp服务器配置成功:


配置LVS+keepalived高可用负载均衡服务器配置LVS+keepalived高可用负载均衡服务器

4.配置高可用负载均衡(LVS1,LVS2)

(1)使用yum方式安装ipvsadm及keepalived

(2)ipvsadm装载ip_vs:modprobe ip_vs

    检查装载是否成功:lsmod

    配置LVS+keepalived高可用负载均衡服务器

(3)编辑/etc/keepalived/keepalived.conf文件

     lvs1为主节点,优先级设为100,state为master,id为LVS1,lvs2为备份,优先级为80,state为slave,id为2,其余配置相同

     配置LVS+keepalived高可用负载均衡服务器 配置LVS+keepalived高可用负载均衡服务器

(4)分别在web1,web2建立虚拟应答ip,并屏蔽ARP请求:

       

ifconfig lo:0 192.168.183.10 netmask 255.255.255.255

echo "1"> /proc/sys/net/ipv4/conf/lo/arp_ignore

echo "1"> /proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce 

也可使用脚本:

#! /bin/sh   

# descript : start real server DR  

VIP=192.168.183.10

. /etc/rc.d/init.d/functions  

case "$1" in  

       start)  

             echo "start LVS of RealServer DR"  

             /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up  

             echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore  

             echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce  

               ;;  

       stop)  

             /sbin/ifconfig lo:0 down  

             echo "close LVS of RealServer DR"  

             echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore  

             echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce  

              ;;  

         *)  

              echo "Usage : $0 {start|stop}"  

              exit 1  

esac  

(5)启动keepalived,并使用ipvsadm -l命令查看是否配置成功

    配置LVS+keepalived高可用负载均衡服务器配置LVS+keepalived高可用负载均衡服务器

5.测试

(1)在浏览器中访问192.168.183.10/index.php,依次出现web1,web2 index.php界面即负载均衡配置成功

配置LVS+keepalived高可用负载均衡服务器配置LVS+keepalived高可用负载均衡服务器

(2)关闭lvs1,继续刷新网页,仍可以依次访问web1,web2,使用arp -a命令查看缓存,192.168.183.10的Mac地址发生变化,表明高可用配置成功:

配置LVS+keepalived高可用负载均衡服务器

配置LVS+keepalived高可用负载均衡服务器


至此:lvs+keepalived 高可用负载均衡服务器配置成功!