lvs+keepalived 做负载和热备

准备工作

1.下载keepalived和lvs

# wget http://www.keepalived.org/software/keepalived-1.2.13.tar.gz
# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz

2.安装依赖

# yum -y install libnl* openssl* popt* kernel-devel

3.解压安装

# tar -zxvf keepalived-1.2.13.tar.gz
# tar -zxvf ipvsadm-1.26.tar.gz
# cd keepalived-1.2.13
# ./configure  --prefix=/usr  --sysconf=/etc
# make && make install
# cd ipvsadm-1.26
# make && make install

4.验证lvs

# ipvsadm ln

5.验证keepalived

# service keepalived start

如果显示无误就代表安装成功了。

配置

假如有4台服务器

master :192.168.153.132

backup: 192.168.153.133

vip :192.168.153.100 (实际浏览器访问的地址)

realserver 1: 192.168.153.128

realserver 2: 192.168.153.129

热备的意思就是master坏了,backup能补上去,由于都是使用vip,所以外面浏览器访问没有影响

realserver1和2是用来做负载均衡,按照权重来调到相应的服务器来处理请求。

lvs和keepalived都要装到master和backup上

1.配置master

# vi /etc/keepalived/keepalived.conf

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER   #表示master
    interface eth1 #网络接口,有可能是eth0,可以用命令ifconfig查看
    virtual_router_id 51
    priority 100   #优先级
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.153.100  #vip配置
    }
}

virtual_server 192.168.153.100 80 {
        delay_loop 6
        lb_algo rr   #负载算法
        lb_kind DR  #负载方式 DR,这种方式的话VIP端口和realserver端口必须一致
        #persistence_timeout 20
        protocol TCP
        real_server 192.168.153.128 80 {
        weight 3 #权重
        TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
}
}
       real_server 192.168.153.129 80 {
        weight 3 #权重
        TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
}
}

}

2.配置backup
基本跟master一致,只是在上面红色的第一处改成BACKUP,第二处改成比master小的值,例如90

3.重启keepalived

# service keepalived restart

4.配置realserver

在1和2上,把以下脚本放在/etc/rc.d/init.d/下

#!/bin/bash
# description: Config realserver lo and apply noarp

SNS_VIP=192.168.153.100

. /etc/rc.d/init.d/functions

case "$1" in
start)
       ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
       /sbin/route add -host $SNS_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 $SNS_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

命名成realserver(随便),再用dos2unix命令去一下回车。

这样直接启动

service realserver start

5.所有防火墙关掉

如果不想关掉的话

在master 加上以下规则

-A INPUT -i eth1 -p vrrp -s 192.168.153.133 -j ACCEPT

在backup加上以下规则

-A INPUT -i eth1 -p vrrp -s 192.168.153.132 -j ACCEPT

其实就是让热备之间可以通讯,注意eth1是你的网络接口,如果是eth0就要换成eth0

realserver就只要开启80端口就可以了。

验证

1.开启realserver的web应用程序

2.执行realserver脚本

3.开启master和backup的keepalived

4.用在master和backup以下命令监控

watch ipvsadm -ln

如果有两条记录分别指向realserver的ip就代表运行正确了。

5浏览器访问vip,看能否正确访问web应用程序。

6.关掉master 的keepalived,如果还能访问的话,就代表backup接管了。

可以在backup的日志上面看到,tail -f /var/log/message

如果有transition MASTER 的,就代表接管了。

7.再启动master的keepalived,再到backup的日志上面看到 transition BACKUP的,就代表已经交回master了。

8.关掉其中一个realserver,在master上面可以看到该realserver的ip被剔除了。

ps:没截图,大概描述下 ^^

时间: 2024-10-06 00:45:05

lvs+keepalived 做负载和热备的相关文章

LVS-DR+Keepalived网站服务器双机热备配置

keepalived是一个类似于layer3, 4 & 7交换机制的软件,也就是我们平时说的第3层.第4层和第7层交换.Keepalived是自动完成,不需人工干涉.调度服务器:需要在LVS的基础上面做.参考上两节:负载均衡群集之一LVS-DR:http://blog.51cto.com/13572519/2084197负载均衡群集之-LVS-NAT:http://blog.51cto.com/13572519/2084181 一块网卡:Vmnet1:192.168.80.100主与从调度器上都

LVS+Keepalived实现负载均衡

一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等. 古人有云:当一头牛拉不动车的时候,不要去寻找一头更强壮的牛,而是用两头牛来拉车. 在实际应用中,在Web服务器集群之前总会有一台负载均衡服务器,负载均衡设备的任务就是作为Web服务器流量的入口,挑选最合适的一台Web服务器,将客户

借助LVS+Keepalived实现负载均衡(转)

原文:http://www.cnblogs.com/edisonchou/p/4281978.html 一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等. 古人有云:当一头牛拉不动车的时候,不要去寻找一头更强壮的牛,而是用两头牛来拉车. 在实际应用中,在Web服务器集群之前总会有一

借助LVS+Keepalived实现负载均衡

一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等. 古人有云:当一头牛拉不动车的时候,不要去寻找一头更强壮的牛,而是用两头牛来拉车. 在实际应用中,在Web服务器集群之前总会有一台负载均衡服务器,负载均衡设备的任务就是作为Web服务器流量的入口,挑选最合适的一台Web服务器,将客户

【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡

一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等. 古人有云:当一头牛拉不动车的时候,不要去寻找一头更强壮的牛,而是用两头牛来拉车. 在实际应用中,在Web服务器集群之前总会有一台负载均衡服务器,负载均衡设备的任务就是作为Web服务器流量的入口,挑选最合适的一台Web服务器,将客户

《大型网站技术实践》借助LVS+Keepalived实现负载均衡

一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等. 古人有云:当一头牛拉不动车的时候,不要去寻找一头更强壮的牛,而是用两头牛来拉车. 在实际应用中,在Web服务器集群之前总会有一台负载均衡服务器,负载均衡设备的任务就是作为Web服务器流量的入口,挑选最合适的一台Web服务器,将客户

LVS+keepalived实现负载均衡&高可用

一.实验环境需求&准备 我们这次实验要完成的一个架构如下图所示,我们通过LVS-DR-MASTER,LVS-DR-BACKUP作为LVS负载均衡调度器,并且两者之间通过keepalived来两者之间的HA.keepalived本身就是为了LVS为开发的,所以说我们通过keepalived来进行LVS的配置就显得十分的方便.而且keepalived是直接操作ip_vs不用通过ipvsadm,所以更加方便. 1)实验架构图&需求表: 角色 IP地址 备注 主LVS调度器(MASTER) 192

借助LVS+Keepalived实现负载均衡(转)

出处:http://www.cnblogs.com/edisonchou/p/4281978.html 一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等. 古人有云:当一头牛拉不动车的时候,不要去寻找一头更强壮的牛,而是用两头牛来拉车. 在实际应用中,在Web服务器集群之前总会有一

【转】借助LVS+Keepalived实现负载均衡

一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等. 古人有云:当一头牛拉不动车的时候,不要去寻找一头更强壮的牛,而是用两头牛来拉车. 在实际应用中,在Web服务器集群之前总会有一台负载均衡服务器,负载均衡设备的任务就是作为Web服务器流量的入口,挑选最合适的一台Web服务器,将客户