ipvsadm+keepalived 实现高可用负载均衡
28 Oct, 2010 in 系统架构 by admin
一.使用系统Red Hat Enterprise Linux Server release 5.4
二.安装环境
1.说明
realserver:192.168.1.11
realserver:192.168.1.12
lvs控制机 MASTER:192.168.1.100
BACKUP:192.168.1.101
虚拟VIP:192.168.1.200
其中:realserver上只需要简单的安装apache即可
lvs控制机需要安装:ipvsadm,keepalived
2.lvs控制机安装,主备机分别安装ipvsadm
实现LVS/DR最重要的两个东西是ipvs内核模块和ipvsadm工具包,现在的系统已经包含ip_vs模块
1)检查内核模块,看一下ip_vs 是否被加载
# lsmod |grep ip_vs
ip_vs 35009 0
如果没有显示,则说明没有加载,执行命令 modprobe ip_vs 就可以把ip_vs模块加载到内核
#modprobe ip_vs
2)安装ipvsadm
先把目录/usr/src/kernels/2.6.18-164.el5-x86_64链接为/usr/src/linux,命令如下
ln –s /usr/src/kernels/2.6.18-164.el5-x86_64 /usr/src/linux
解压ipvsadm-1.24.tar.gz,执行"make;make install”完成安装。
3)lvs/dr脚本,在主备机上备份部署
vi lvsdr
#!/bin/bash
RIP1=192.168.1.11
RIP2=192.168.1.12
VIP1=192.168.1.200
/etc/rc.d/init.d/functions
case "$1" in
start)
echo " start LVS of DirectorServer"
# set the Virtual IP Address and sysctl parameter
/sbin/ifconfig eth0:0 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up
#/sbin/ifconfig eth0:1 $VIP2 broadcast $VIP2 netmask 255.255.255.255 up
/sbin/route add -host $VIP1 dev eth0:0
#/sbin/route add -host $VIP2 dev eth0:1
echo "1" >/proc/sys/net/ipv4/ip_forward
#Clear IPVS table
/sbin/ipvsadm -C
#set LVS
#Web Apache
/sbin/ipvsadm -A -t $VIP1:80 -s rr -p 120
/sbin/ipvsadm -a -t $VIP1:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP1:80 -r $RIP2:80 -g
#Run LVS
/sbin/ipvsadm
;;
stop)
echo "close LVS Directorserver"
echo "0" >/proc/sys/net/ipv4/ip_forward
/sbin/ipvsadm -C
/sbin/ifconfig eth0:0 down
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
4)主备机上分别安装keepalived
tar zxf keepalived-1.1.17.tar.gz
cd keepalived-1.1.17
./configure --prefix=/usr/local/keepalive -with-kernel-dir=/usr/src/kernels/path
make && make install
mkdir -p /etc/keepalived/
vi keepalived.conf以下配置文件
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER #备份服务器上将MASTER改为BACKUP
interface eth0 #HA监测网络接口
virtual_router_id 51 #主、备机的virtual_router_id必须相同
priority 90 #主、备机取不同的优先级,主机值较大,备份机值较小
advert_int 1 #VRRP Multicast广播周期秒数
authentication {
auth_type PASS #VRRP认证方式
auth_pass 1111 #VRRP口令字
}
virtual_ipaddress {
192.168.1.200 #LVS虚拟地址
}
}
virtual_server 192.168.1.200 80 {
delay_loop 2
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.1.11 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.1.12 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
三.分别启动主备机上的lvs脚本和keepalived
sh lvsdr start
/usr/local/keepalived/sbin/keepalived -D
四.测试
停掉主机ipvsadmn和keepalived,从机立即接管服务。
启动主机服务,主机负载均衡生效。
这里采用了“rr:轮叫(Round Robin)” 算法,容易看出实际效果,对它的解释如下:
调度器通过”轮叫”调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载.
如需了解其它ipvsadm的lvs多种算法,请参考:http://blog.haohtml.com/index.php/archives/6381
转载 http://blog.haohtml.com/archives/6404
分享到:
相关推荐
CentOS下ipvsadm+keepalived搭建
利用LVS+Keepalived 实现高性能高可用负载均衡服务器 - 负载均衡
因公司需要,需要搭建集群+负载均衡的demo,故将本人将自己搭建lvs+keepalived的文档整理出来,需要的人可以下载,内附本人QQ,有什么不明白的或者写的不对的,还请大家联系我,及时指出,主要包括下载,安装,配置...
本文档包括keepalived、ipvsadm安装软件以及LVS-DR安装文档(个人总结),还有Director和RealServer上执行的脚本:lvsdr.sh,lvs_real.sh 网络拓扑 lvs-master:192.168.5.240 lvs-backup:192.168.5.248 vip:192...
lvs-工具 将阿里巴巴LVS工具ipvsadm和keepalived移植到上游
一、 启动LVS高可用集群服务 首先,启动每个real server节点的服务: [root@localhost ~]# /etc/init.d/lvsrs start start LVS of REALServer 然后,分别在主备Director Server启动Keepalived服务: [root@DR1 ~]#/...
启动Keepalived+lvs集群系统 第22讲 测试LVS+Keepalived高可用负载均衡集群 课程目标: 通过测试了解lvs负载均衡集群的工作机制和切换原理 启动LVS高可用集群服务 keepalived高可用性功能测试 测试lvs+keepalived的...
在Keepalived + ipvsadm高可靠负载均衡架构中,keepalived负责实现High-availability (HA) 功能控制前端机VIP(虚拟网络地址),当有设备发生故障时,热备服务器可以瞬间将VIP自动切换过来,实际运行中体验只有2秒钟...
对LVS的使用以及ipvsadm命令做了一个详细的阐述,可作为学习资料,也可以作为参考手册
ipvsadm and keepalived will comunicate with ofp_vs process but not the kernel module.10.更多细节http://www.openfastpath.org/ http://opendataplane.org/ https://github.com/OpenFastPath/ofp...
快捷导航Keepalived 简介1.==Keepalived概述==2.==Keepalived运行原理==Keepalived 部署==问题====方案====部署==步骤一:配置网络环境步骤二:安装Keepalived软件步骤三:部署Keepalived服务Keepalived+LVS 部署==...
(如:LVS+Keepalived) 3.应用范围比较广,可以对所有应用做负载均衡; 4.不支持正则处理,不能做动静分离。 常用四种算法: 1.rr:轮叫,轮流分配到后端服务器; 2.wrr:权重轮叫,根据后端服务器负载情况来分配;...
keepalived负载均衡双机+双客户端节点
第二篇为负载应用篇,包括第2章到第4章,分别介绍了LVS+KeepAlived、HAproxy、Nginx这3种负载开源软件的应用。第三篇为页面缓存篇,包括第5章、第6章和第7章;分别介绍了缓存软件Squid和Varnish,以及Nginx的缓存...
负载均衡的组成部分之一,主要用于节点的死亡检测与加载移除。双负载均衡器还可以互备使用 用于红帽6.0 ,6.1等版本的64位机。 主要之前找这个找了很久 所以共享出来大家使用。
该项目的主要目标是使用简单的方法来构建类似keepalived的服务器,从而使控制平面和数据路径配置脱钩(keepalived与linux的ipvs紧密耦合)以及添加新功能的简便方法(我认为这样更容易在Go程序中添加一些内容,而...
说明:kubernetes1.20.6高可用...keepalived #keepalived自动化部署工具 kernel kubeadm-config.yaml #kubernetes配置文件 kubeadm-tools realserver.sh ssh_key.sh #ssh多机互信脚本 update_kernel.sh #内核升级脚本
系统:opensuse 11.3 32位 热备服务软件: LVS: ipvsadm-1.26-3.1.i586.rpm KeepAlived: keepalived-1.2.2.tar.gz