keepalived安装和配置

来源:互联网 发布:淘宝网商城拉丁舞服饰 编辑:程序博客网 时间:2024/05/22 01:41
安装keepalived
yum install ipvsadm keepalived
chkconfig keepalived --level 35 on
cd /etc/keepalived
cp keepalived.conf keepalived.conf.bak


修改配置文件
主配置文件
! Configuration File for keepalived

global_defs {
 
  router_id LVS_DEVEL
}
vrrp_script chk_nginx {
    script"/usr/local/shell/chk_nginx.sh"
    interval2
    weight2
}
vrrp_instance VI_1 {
    stateMASTER
    interfaceem1
   virtual_router_id 51
    priority100
    advert_int1
   authentication {
       auth_type PASS
       auth_pass 1111
    }
    track_script{
       chk_nginx
    }
   virtual_ipaddress {
       10.10.10.254
    }
}

从配置文件
! Configuration File for keepalived

global_defs {
   router_id LVS_DEVEL
}
vrrp_script chk_nginx {
    script"/usr/local/shell/chk_nginx.sh"
    interval2
    weight2
}
vrrp_instance VI_1 {
    stateBACKUP
    interfaceem1
   virtual_router_id 51
    priority30
    advert_int1
   authentication {
       auth_type PASS
       auth_pass 1111
    }
    track_script{
       chk_nginx
    }
   virtual_ipaddress {
       10.10.10.254
    }
}


监控nginx脚本
vim /usr/local/shell/chk_nginx.sh
#!/bin/bash

#nginx进程数量
A=$(ps -C nginx --no-header | wc -l)

if [ $A -eq 0 ];then
       /etc/init.d/nginx start
       sleep 1
       A=$(ps -C nginx --no-header | wc -l)
       if [ $A -eq 0 ];then
               /etc/init.d/keepalived stop
       fi
fi


启动keepalived
/etc/init.d/keepalived start

注意:
如果启动了iptables,一定都要添加如下规则,ip为另外一台keepalived服务器的ip
-A INPUT -s 10.10.10.11/32 -i em1 -p vrrp -j ACCEPT

可以在keepalived的服务器使用ip addr查ip的绑定情况




如果要使用lvs负载均衡的功能
在lvs服务器配置
vim /etc/keepalived/keepalived.conf
添加
virtual_server 192.168.1.8 80 {
    delay_loop6
    lb_algowrr
    lb_kindDR
   persistence_timeout 50
    protocolTCP

    real_server192.168.1.15 80 {
       weight 3
       TCP_CHECK {
           connect_port 80
           connect_timeout 30
       }
    }
    real_server192.168.1.17 80 {
       weight 3
       TCP_CHECK {
           connect_port 80
           connect_timeout 30
       }
    }
}

命令行执行
/etc/init.d/keepalived restart
ipvsadm -ln

在real server上的配置
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
添加
DEVICE=lo:0
IPADDR=192.168.1.8      #这个ip为lvs使用的vip
NETMASK=255.255.255.255
ONBOOT=yes

命令行执行
ifup ifcfg-lo:0
ifconfig

vim /etc/sysctl.conf
添加
#lvs
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

命令行执行
sysctl -p
0 0
原创粉丝点击