centos搭建keepalived+ipvsadm实现高可用lvs分发

这文档适合非常简单的不需要任何技术完全照着弄的拥有三台以上机器的情况。

虚ip192.168.200.16

keepalived主192.168.98.11

keepalived备192.168.98.98

realserver一192.168.99.131

realserver二192.168.98.11或192.168.98.98(当11存活时候,就是11当rs,死了就98当rs)

1、keepalived主192.168.98.11进行如下安装配置。

yum install -y wget ipvsadm vim

wget http://www.keepalived.org/software/keepalived-1.2.24.tar.gz

tar xf keepalived-1.2.24.tar.gz

cd keepalived-1.2.24

./configure --prefix=/usr/local/keepalived

make && make install

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

mkdir /etc/keepalived

cd /usr/local/keepalived/etc/keepalived/

ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/

chkconfig --add keepalived

chkconfig keepalived on

vim /etc/keepalived/keepalived.conf 粘贴下面的。

vrrp_instance ha44 {

state MASTER

interface eth0

virtual_router_id 51

priority 100

#advert_int广播间隔,这值影响master挂多久切换到backup,我实测设置2或者3的话切换间隔较短

advert_int 2

authentication {

auth_type PASS

auth_pass 1234

}

virtual_ipaddress {

192.168.200.16

#可以自定义掩码、广播。

#        192.168.200.16/16 brd 192.168.255.255 dev eth0

}

#可以自定义网关,不过我没这么用过。

#    virtual_routes {

#        192.168.200.0/16 via 192.168.98.1 dev eth0

#    }

}

#如果想用lvs的功能,就添加以下内容,keepalived会自动调用ipvsadm功能。

virtual_server 192.168.200.16 80 {

delay_loop 3

lb_algo rr

lb_kind DR

persistence_timeout 50

protocol TCP

real_server 192.168.98.11 80 {

weight 20

TCP_CHECK

{

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.99.131 80 {

weight 100

TCP_CHECK

{

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

保存退出

/etc/init.d/keepalived start

2、keepalived备192.168.98.98进行如下安装配置。

yum install -y wget ipvsadm vim

wget http://www.keepalived.org/software/keepalived-1.2.24.tar.gz

tar xf keepalived-1.2.24.tar.gz

cd keepalived-1.2.24

./configure --prefix=/usr/local/keepalived

make && make install

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

mkdir /etc/keepalived

cd /usr/local/keepalived/etc/keepalived/

ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/

chkconfig --add keepalived

vim /etc/keepalived/keepalived.conf 粘贴下面的。

vrrp_instance ha44 {

state BACKUP

interface eth0

virtual_router_id 51

priority 20

#advert_int广播间隔,这值影响master挂多久切换到backup,我实测设置2或者3的话切换间隔较短

advert_int 2

authentication {

auth_type PASS

auth_pass 1234

}

virtual_ipaddress {

192.168.200.16

#可以自定义掩码、广播。

#        192.168.200.16/16 brd 192.168.255.255 dev eth0

}

#可以自定义网关,不过我没这么用过。

#    virtual_routes {

#        192.168.200.0/16 via 192.168.98.1 dev eth0

#    }

}

#如果想用lvs的功能,就添加以下内容,keepalived会自动调用ipvsadm功能。

virtual_server 192.168.200.16 80 {

delay_loop 3

lb_algo rr

lb_kind DR

persistence_timeout 50

protocol TCP

real_server 192.168.98.98 80 {

weight 20

TCP_CHECK

{

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.99.131 80 {

weight 100

TCP_CHECK

{

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

保存退出

service keepalived start

3、realserver一192.168.99.131的配置。

yum install -y vim

vim /etc/init.d/lvsrs 粘贴如下内容。

#!/bin/sh

#chkconfig:345 61 61

#description:LVSRS

VIP=192.168.200.16

Usage ()

{

echo "Usage:`basename $0` (start|stop)"

exit 1

}

if [ $# -ne 1 ];then

Usage

fi

case $1 in

start)

echo "configuring vip for Real Server"

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

/sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 up

/sbin/route add -host $VIP dev lo:0

if [ $? -eq 0 ]

then

sleep 5

echo "Real Server started."

else

echo "error occurred!"

fi

;;

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 "0" >/proc/sys/net/ipv4/conf/eth0/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/eth0/arp_announce

if [ $? -eq 0 ]

then

sleep 2

echo "Real Server has stopped."

else

echo ‘error occurred occurred! Maybe "lo:0" has stopped already.‘

fi

;;

*)

Usage

esac

保存退出

chmod +x /etc/init.d/lvsrs

chkconfig --add lvsrs

service lvsrs start

4、realserver二192.168.98.11或192.168.98.98,这俩由于已经配置了keepalived,由keepalived服务代管ipvsadm,所以它俩不需要再配置啥就已经自然成为了realserver了。

备注:

1、以上配置用于这仨机器都提供http服务的情况。

2、如果多台keepalived服务器需要提供更多服务,就复制添加更多virtual_server并修改端口即可。如果不配置virtual_server部分,keepalived就不代管lvs了,那么同一时刻只有一台机器工作而已,这台出了问题,vip才会飘到下一台上。vip在哪台,就是哪台工作,所以通常,lvs和keepalived是配合使用的,是需要配置virtual_server部分的。

3、若配置多个vrrp_instance,每个instance需要拥有独一无二的virtual_router_id,与其他instance相同是不行的。多台机器启动keepalived服务后,就是以virtual_router_id的值来进行配对儿的。

4、keepalived配置文件中的priority优先级的设置大有玄机!设置的不科学就会事与愿违!建议查看一下相关资料儿了解了以后再设置。 戳这儿就有一篇哦

时间: 2024-10-26 11:08:56

centos搭建keepalived+ipvsadm实现高可用lvs分发的相关文章

搭建keepalived+mysql主从复制高可用

准备工作: 完成keepalived的安装 完成docker的安装 docker镜像里面自行安装iproute2, vim, iputils-ping(可选)等工具,便于测试 apt-get install iproute2 apt-get install vim apt-get install iputils-ping 主数据库master 1. 使用docker安装mysql mkdir -p ~/compose/mysql-master cd ~/compose/mysql-master

配置Keepalived双实例高可用Nginx

我们知道Keepalived原生设计目的是为了高可用LVS集群的,但Keepalived除了可以高可用LVS服务之外,还可以基于vrrp_script和track_script高可用其它服务,如Nginx等.本篇主要演示如何使用Keepalived高可用Nginx服务(双实例),关于vrrp_script.track_script的更多介绍可以见上一篇博客<Keepalived学习总结>. 实验要求 ==> 实现Keepalived基于vrrp_script.track_script高可

LVS+Keepalived+Nginx+Tomcat高可用集群搭建(转)

LVS+Keepalived+Nginx+Tomcat高可用集群搭建 最近公司重整架构,十几台服务器而且还要尽可能节约成本.我就谷歌了一下在几种集群之前进行比较最终采用了Keepalived+Nginx做负债均衡高可用.虽然之前也研究过集群,看过很多集群方面的原理和架构,但毕竟没有真正操作过以下案例是在虚拟机中完成实验其实对于高可用搭建来说只用给出Keepalived和Nginx的配置即可后面的一些安装搭建完全是本人项目需要可以不用理睬仅供参考. 本文只是实验搭建记录方便以后在服务器中实施搭建.

CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡

一.系统环境 实验拓扑: 实验环境: Vmware 9.01 + Windows 8 x64 企业版+8G内存 虚拟机步骤: 1.安装一台CentOS 6.3 x64主机,内存为1GB,网络为NAT模式,注意检查Vmware中EDIT菜单下Virtual Network Editor中VMnet8 2. 加电,安装系统.基础知识了,不再多说,注意:选择英文而不要选择中文,选择是Basic Server模式,系统名称:LVS-MASTER 3.安装系统后,用root用户登录进去,执行 ifconf

CentOS 6.3下部署LVS(NAT模式)+keepalived实现高性能高可用负载均衡

一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalived版本:keepalived-1.2.4 三.安装 0.安装LVS前系统需要安装popt-static,kernel-devel,make,gcc,openssl-devel,lftp,libnl*,popt* 1.在两台Director Server上分别配置LVS+Keepalived LVS

CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡【转】

CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡 一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalived版本:keepalived-1.2.4 三.安装 0.安装LVS前系统需要安装popt-static,kernel-devel,make,gcc,openssl-devel,lftp,libnl*,popt*

RHEL 5.4下部署LVS(DR)+keepalived实现高性能高可用负载均衡

原文地址:http://www.cnblogs.com/mchina/archive/2012/05/23/2514728.html 一.简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. 目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR):十种调度算法(rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq). K

keepalived高可用lvs集群,主/备和主/主模型

利用keepalived高可用lvs集群,主/备和主/主: vrrp_script高可用双主nginx: keepalived主备:lvs-dr工作模型 网络搭建: 在前端2台调度器: DR1:172.18.11.111 DR2:172.18.11.112 VIP:172.18.11.7 后端2台web服务器,运行nginx: RS1:172.18.11.11 RS2:172.18.11.12 搭建web服务器: 提供简单的测试页面,以便容易观测到哪台RS被调度响应: 在RS1上: ]# yum

利用lvs keepalived配置redis高可用及负载均衡

需求 我们用ES做日志服务,架构是 上游数据来源=>redis=>logstash=>ES redis目前还是单点, 没有做高可用, 现在数据量越来越多, 如果下游消费不出问题还好, redis里面数据来了就走,但是下游一旦出问题, 分给redis的内存半小时就撑满了. 看到redis3.0 beta版本已经提供了集群功能, 但是需要client以集群模式接入, 我们这么多上游用户, 不太可能统一要求他们改造. 公司也有硬件的LB, 同事在E公司的时候就是用的硬件LB. 但接入还要申请,