码迷,mamicode.com
首页 > 其他好文 > 详细

LAMP+LVS+KEEPALIVED(四)

时间:2015-06-06 23:45:31      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:lamp+lvs+keepalived(四)



LAMP+LVS+KEEPALIVED(四)


#keepalived.conf配置说明,BACKUP需要更改state和priority优先级

#全局配置,主要配置报警邮件地址、snmp监控等等。

global_defs {

notification_email {

root@lvs.local

}

notification_email_from Alexandre.Cassen@firewall.loc

smtp_server 192.168.10.89

smtp_connect_timeout 30

router_id LVS_DEVEL

}

#vrrp实例配置,主要为主备负载调度器、vip和认证配置

vrrp_instance VI_1 {

#MASTER表示主,BACKUP表示为备

state MASTER

#在哪一个网络接口监测

interface eth0

#vrrp标识,同一个vrrp_instance下,MASTER和BACKUP必需相同

virtual_router_id 51

#优先级,数值越大优先级越高

priority 100

#MASTER和BACKUP同步检查时间间隔,单位秒

advert_int 1

#验证类型和密码

authentication {

auth_type PASS

auth_pass 1111

}

#vip配置,可以有多个,一行一个

virtual_ipaddress {

192.168.10.88

}

}

#虚拟服务器配置,主要为realserver配置、负载均衡方式、调度算法配置

virtual_server 192.168.10.88 80{

#运行情况检查时间间隔,单位秒

delay_loop 6

#负载调度算法,rr轮叫调度,wrr加权轮叫,lc最少连接,wlc加权最少连接

lb_algo rr

#负载均衡模式,NAT、TUN和DR

lb_kind DR

#会话保持时间

persistence_timeout 3

#指定转发协议,TCP或者UDP

protocol TCP

#RS服务器节点配置

real_server 192.168.80.40 {

#权值,数值越大优先级越高

weight 1

#RS虚拟服务器检测配置

TCP_CHECK {

#3秒无响应超时

connect_timeout 3

#重试次数

nb_get_retry 3

#重试间隔

delay_before_retry 3

#检测端口

connect_port 80

}

}

real_server 192.168.80 80 {

#权值

weight 1

#检测协议为TCP

TCP_CHECK {

#rs节点连接超时时间

connect_timeout 2

#连接失败后重试次数

nb_get_retry 3

#重试前等待时间

delay_before_retry 2

connect_port 80

}

}

real_server 192.168.10.81 80 {

weight 1

TCP_CHECK {

connect_timeout 2

nb_get_retry 3

delay_before_retry 2

connect_port 80

}

}

real_server 192.168.10.82 80 {

weight 1

TCP_CHECK {

connect_timeout 2

nb_get_retry 3

delay_before_retry 2

connect_port 80

}

}

real_server 192.168.10.83 80 {

weight 1

TCP_CHECK {

connect_timeout 2

nb_get_retry 3

delay_before_retry 2

connect_port 80

}

}

real_server 192.168.10.84 80 {

weight 1

TCP_CHECK {

connect_timeout 2

nb_get_retry 3

delay_before_retry 2

connect_port 80

}

}

}

#图示1

技术分享

#图示2

技术分享


(6)realserver脚本

#!/bin/sh

#start realserver

vip=192.168.10.88

source /etc/init.d/functions

case "$1" in

start)

echo "start lvs realserver."

/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

;;

stop)

echo "stop lvs realserver."

/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 "usage:$0 {start|stop}"

exit 1

esac


#VS/DR和VS/TUN模式下realserver需要使用此脚本设置

技术分享


(7)启动ipvsadm、keepalived和realserver

#在负载调度器上开启IP转发功能

sysctl -w net.ipv4.ip_forward=1

#或者

echo "1">/proc/sys/net/ipv4/ip_forward

#在负载调度器上启动ipvsadm

/sbin/ipvsadm

#在负载调度器上启动keepalived

/usr/local/keepalived/sbin/keepalived

/etc/init.d/keepalived restart

#在所有服务器节点启动realserver

./realserver start

(8)ipvsadm负载均衡测试

#ipvsadm ln

#负载调度器也作为一台rs服务器,所有有5台rs

技术分享

#使用不同的客户端来访问192.168.10.88

技术分享

技术分享

技术分享

技术分享

#将4台rs的httpd服务停止后技术分享

#keepalived很快就检测到81、82、83和84 TCP连接失败

#因为89这台主机并没有作为smtp服务器,所以有会SMTP连接失败信息

#也可以在keepalived.conf配置去除smtp配置,就不会有此类错误信息显示

技术分享

#不同IP的客户端访问效果,因为只剩下80这台既是负载调度器又是rs服务器

#所以客户端全部都被分配到80这台rs服务器

技术分享

技术分享技术分享

技术分享

#ipvsadm状态信息,一共有4个客户端,IP分别为10.186、10.77、0.192

#0.239是通过10.249上网的,所以显示为10.249技术分享

本文出自 “爱就行动” 博客,请务必保留此出处http://1055745601.blog.51cto.com/5003160/1659212

LAMP+LVS+KEEPALIVED(四)

标签:lamp+lvs+keepalived(四)

原文地址:http://1055745601.blog.51cto.com/5003160/1659212

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!