Chinaunix首页 | 论坛 | 博客
  • 博客访问: 295393
  • 博文数量: 47
  • 博客积分: 1667
  • 博客等级: 上尉
  • 技术积分: 686
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 16:20
文章分类

全部博文(47)

文章存档

2013年(20)

2012年(20)

2011年(7)

分类: LINUX

2013-03-02 11:47:38



LVS1 192.168.2.245
LVS2 192.168.2.250
VIP  192.168.2.251
rs1  192.168.2.192
rs2  192.168.2.150


###keepalived 在启动时不会检查配置文件语法
##经测试,keepalived+lvs对后端的检测功能远远没有传说中的那么强,后端池中real机退出,大约到10秒才能正常功能,


yum  -y install wget openssl-devel kernel-devel ipvsadm ntp gcc gcc-c++ net-snmp-utils net-snmp net-snmp-devel make

ntpdate stdtime.gov.hk




wget
tar xvzf keepalived-1.2.7.tar.gz
cd keepalived-1.2.7
./configure  --prefix=/ --with-kernel-dir=/usr/src/kernels/`uname  -r` --with-kernel-version=2.6  --enable-snmp
make
make install



chkconfig -add keepalived
chkconfig keepalived on


vim /etc/keepalived/keepalived.conf
global_defs {
   notification_email {
     admin@manwrx.com
   }
   notification_email_from admin@manwrx.com
   smtp_server smtp.manwrx.com
   smtp_connect_timeout 30
   router_id lvs_manwrx
}

vrrp_instance VI_1 {
    state BACKUP   ###工作的初始状态
    interface eth0 ##工作的网卡
  # notify_master /data/shell/smtp_to_master.sh ##切换到master状态后执行的脚本
  # notify_backup /data/shell/smtp_to_backup.sh ##切换到backup状态后执行的脚本
    track_interface { ###监听本机健康的网卡
    eth0
 #   eth1
}
    virtual_router_id 60 ##虚拟路由的ID
    priority 150 ###优先级  ###备用机修改为200
    advert_int 1 ##检查的间隔时间
    nopreempt  ##master机退出重进入不抢master状态
    authentication {
        auth_type PASS
        auth_pass manwrx123456
    }
    virtual_ipaddress {
        192.168.2.251
    }
}

virtual_server 192.168.2.251 80 {
    delay_loop 1             ##服务轮询时间
    lb_algo rr             ###LVS算法
    lb_kind DR               ##LVS工作方式
   # persistence_timeout 120  ###对用户转发real_server,session
    protocol TCP
 

 
    real_server 192.168.2.150 80 {
        weight 3
     HTTP_GET {
    url {
    path /index.html
    connect_timeout 1
    nb_get_retry 1
    delay_before_retry 1
   status_code 200
}
}


#         TCP_CHECK {
#           connect_timeout 1 ###连接超时
#            nb_get_retry 1  ###重连次数
#            delay_before_retry 1 ##连接间隔
#            connect_port  80 ###连接端口

#}
}
    real_server 192.168.2.192 80 {
        weight 3
     HTTP_GET {
    url {

    status_code 200
     path /index.html
    connect_timeout 1
    nb_get_retry 1
    delay_before_retry 1
}
}
#         TCP_CHECK {
#           connect_timeout 1 ###连接超时
#            nb_get_retry 1  ###重连次数
#            delay_before_retry 1 ##连接间隔
#            connect_port  80 ###连接端口

#}
#}

}



service keepalived restart
##
查看状态
ipvsadm

ip addr










vim /etc/init.d/real_server_lvs
#!/bin/bash
#chkconfig: 35 24 36
#discrpition: real_server_lvs
VIP=192.168.2.251
 
. /etc/rc.d/init.d/functions
 
case "$1" in
start)
    ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
    /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
    echo "RealServer Start OK"
    ;;
stop)
    ifconfig lo:0 down
    route del $VIP >/dev/null 2>&1
    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 "RealServer Stoped"
    ;;
*)
    echo "Usage: $0 {start|stop}"
    exit 1
esac
 
exit 0



chkconfig -add real_server_lvs
chkconfig real_server_lvs on
service real_server_lvs start

阅读(1737) | 评论(0) | 转发(0) |
0

上一篇:制作puppet+facter rpm包

下一篇:rsync

给主人留下些什么吧!~~