LVS+keepalived快速搭建测试环境

#LVS+keepalived快速搭建测试环境
#centos6 X64
# LVS 负载均衡模式:DR(直接路由)

192.168.18.31 master(LVS)
192.168.18.32 slave(LVS)
192.168.18.18 VIP
192.168.18.11 web1
192.168.18.12 web2

##################################
#手动配置测试

###LVS 安装配置
yum  install ipvsadm -y
rpm -ql ipvsadm
# ipvsadm
# lsmod|grep ip_vs
#添加VIP
/sbin/ifconfig eth1:1 192.168.18.18/24 up
#ifconfig eth1:1 down #测试完后停止VIP
ipvsadm -C #清空
#添加虚拟服务
ipvsadm -A -t 192.168.18.18:80 -s wrr -p 20
#添加后端服务
ipvsadm -a -t 192.168.18.18:80 -r 192.168.18.11:80 -g -w 1
ipvsadm -a -t 192.168.18.18:80 -r 192.168.18.12:80 -g -w 1
#删除ipvsadm -d -t 192.168.18.18:80 -r 192.168.18.11:80
ipvsadm -L -n #查看列表
##########

##################################
#后端WEB配置
# #安装Apache或nginx,启动服务
# yum install httpd -y
# echo “this is rs1” > /var/www/html/index.html
# service httpd restart
vim lvs-rs.sh
#!/bin/bash
# 配置VIP、配置ARP抑制
VIP=192.168.18.18
. /etc/rc.d/init.d/functions

case "$1" in
start)
    echo " start LVS of REALServer"
    /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
    /sbin/route add -host $VIP dev lo:0
    echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
    echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
    sysctl -p >/dev/null 2>&1
    ;;
stop)
    /sbin/ifconfig lo:0 down
    echo "close LVS Directorserver"
    echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
    echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
    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 
exit 0

#给脚本加权限,并执行
chmod +x lvs-rs.sh
chmod 755 /etc/rc.d/init.d/functions
 ./lvs-rs.sh start

##################################
#LVS+keepalived 配置
yum  install keepalived -y
#rpm -ql keepalived
#分别安装配置keepalived
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
vim /etc/keepalived/keepalived.conf
/etc/init.d/keepalived restart
/etc/init.d/keepalived stop #关闭、开启LVS_MASTER测试
ip add #查看VIP
#配置如下:

#####keepalived配置
! Configuration File forkeepalived
global_defs {
    # notification_email {
        # test@sina.com    #故障接受联系人
    # }
    # notification_email_from admin@test.com  #故障发送人
    # smtp_server 127.0.0.1   #本机发送邮件
    # smtp_connect_timeout 30
    router_id LVS_MASTER
    #router_id LVS_BACKUP #LVS_BACKUP
}
vrrp_instance VI_1 {
    state MASTER
    #state BACKUP
    interface eth1
    virtual_router_id 18  #虚拟路由标识,主从相同
    priority 100
    #priority 90  #BACKUP
    advert_int 1 
    authentication {
        auth_type PASS 
        auth_pass 1111  #主从认证密码必须一致
    } 
    virtual_ipaddress {    #Web虚拟IP(VTP) 
        192.168.18.18/24
    }
} 
###real_server###
virtual_server 192.168.18.18 80 { #定义虚拟IP和端口 
    delay_loop 6    #检查真实服务器时间,单位秒 
    lb_algo rr      #设置负载调度算法,rr为轮训 
    lb_kind DR      #设置LVS负载均衡DR模式 
    persistence_timeout 30 #同一IP的连接30秒内被分配到同一台真实服务器 
    protocol TCP    #使用TCP协议检查realserver状态 
    real_server 192.168.18.11 80 {  #第一个web服务器
        weight 3          #节点权重值
        TCP_CHECK {      #健康检查方式
            connect_timeout 3 #连接超时 
            nb_get_retry 3    #重试次数
            delay_before_retry 3  #重试间隔/S
        } 
    } 
    real_server 192.168.18.12 80 {  #第二个web服务器
        weight 3
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    } 
}
#####keepalived配置

##
curl http://192.168.18.18 >/tmp/null #http访问测试
tail -10 /var/log/nginx/access.log #查看nginx日志
tail -10 /etc/httpd/logs/access_log #查看Apache日志

 

posted @ 2019-03-19 10:02  侃豺小哥  阅读(182)  评论(0编辑  收藏  举报