lvs + keepalive的安装配置

centos6.7的系统       

有问题请关注这里       https://bbs.csdn.net/topics/392084765

http://blog.163.com/qiantu1986@126/blog/static/35922669201165112147800/   =

http://zh.linuxvirtualserver.org/node/2585

http://zh.linuxvirtualserver.org/node/2619

http://zh.linuxvirtualserver.org/node/28?destination=node/28

参数解读    https://www.cnblogs.com/wangxiaoqiangs/p/5736210.html

[lvs1+keepalive1 ~]#     yum install kernel-devel -y

[lvs1+keepalive1 ~]#    yum -y install popt popt-devel libnl libnl-devel

[lvs1+keepalive1 ~]#    wget   http://mirror.centos.org/centos/6/os/x86_64/Packages/popt-static-1.13-7.el6.x86_64.rpm

[lvs1+keepalive1 ~]#     rpm -ivh popt-static-1.13-7.el6.x86_64.rpm 

[lvs1+keepalive1 ~]#   yum -y install zlib zlib-devel gcc gcc-c++ openssl openssl-devel

[lvs1+keepalive1 ~]#   wget   https://www.kernel.org/pub/linux/utils/kernel/ipvsadm/ipvsadm-1.26.tar.gz

[lvs1+keepalive1 ~]#    tar -xf ipvsadm-1.26.tar.gz

[lvs1+keepalive1 ~]#    cd ipvsadm-1.26

[lvs1+keepalive1 ~]#    make && make install

[lvs1+keepalive1 ~]#   wget  http://www.keepalived.org/software/keepalived-1.2.7.tar.gz

[lvs1+keepalive1 ~]#     tar -xf keepalived-1.2.17.tar.gz

[lvs1+keepalive1 ~]#   ./configure --prefix=/usr/keepalived-1.2.17; make ; make install

[lvs1+keepalive1 ~]#     cp   /usr/keepalived-1.2.17/etc/sysconfig/keepalived   /etc/sysconfig/keepalived

[lvs1+keepalive1 ~]#     cp   /usr/keepalived-1.2.17/sbin/keepalived   /usr/sbin/keepalived

[lvs1+keepalive1 ~]#    cp  /usr/keepalived-1.2.17/etc/rc.d/init.d/keepalived  /etc/rc.d/init.d/

[lvs1+keepalive1 ~]#    mkdir /etc/keepalived

[lvs1+keepalive1 ~]# cp /usr/keepalived-1.2.17/etc/keepalived/keepalived.conf   /etc/keepalived

配置内容如下(master),slave也是一样的内容只是改变一下优先级跟真实ip[lvs1+keepalive1 ~]# cat /etc/keepalived/keepalived.conf ! Configuration File for keepalivglobal_defs {# notification_email {# acassen@firewall.loc

! Configuration File for keepalived


global_defs {
#notification_email {
# acassen@firewall.loc
# failover@firewall.loc
# sysadmin@firewall.loc
# }
# notification_email_from Alexandre.Cassen@firewall.loc
# smtp_server 192.168.200.1
# smtp_connect_timeout 30
router_id LVS_master
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 120
mcast_src_ip=192.168.0.10
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.250 
}
}
virtual_server 192.168.0.250 90{
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 1
protocol TCP
real_server 192.168.0.20 90{
weight 1
TCP_CHECK {
connect_timeout 1
nb_get_retry 3
delay_before_retry 3
connect_port 90  #有了这个字段就可以随便定义端口了,另外重启keepalive之后要用ipvsadm看看有没有包括virtual server的ip在里面
}
}
real_server 192.168.0.21 90{
weight 1
TCP_CHECK {
connect_timeout 1
nb_get_retry 3
delay_before_retry 3
connect_port 90
}
}
}



[lvs1+keepalive1 ~]# cat add_vir_ser
ifconfig lo:0 192.168.1.111(vip) broadcast 192.168.1.111(vip) netmask 255.255.255.255 up
route add -host 192.168.1.111 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
echo "1">/proc/sys/net/ipv4/conf/eth0/arp_ignore
echo "2">/proc/sys/net/ipv4/conf/eth0/arp_announce

 realserver 绑定vip的脚本

#!/bin/bash

VIP='192.168.0.250'    #这里需要改成自己的vip

. /etc/init.d/functions

case "$1" in
  start)
    /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
    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
    echo " LVS Real-Server Start Success"
      ;;
    stop)
     /sbin/ifconfig lo:0 down
     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 " LVS Real-Server Stop Success"
      ;;
       *)
     echo "Usage: $0 ( start | stop )"
     exit 1
esac

  

chmod a+x /etc/init.d/realserver.sh

/etc/init.d/realserver.sh start
echo "/etc/init.d/realserver.sh start" >> /etc/rc.local

[root@realserver1 ~]    ifconfig lo:0   192.168.1.111(vip)   broadcast  192.168.1.111(vip)   netmask 255.255.255.255 up

[root@realserver1 ~]    route add -host  192.168.1.111(vip) dev lo:0

[root@realserver2 ~]    ifconfig lo:0    192.168.1.111(vip)    broadcast   192.168.1.111(vip)   netmask 255.255.255.255 up

[root@realserver2 ~]    route add -host   192.168.1.111(vip)   dev lo:0

posted @ 2017-10-12 16:00  猎手结缘  阅读(637)  评论(0编辑  收藏  举报