前言* 随着互联网的发展,提供用户访问的web服务器,必须要保证每天24不间断服务,访问量不断增加,有什么好的web架构既能实现高可用性负载均衡,而且价格又是免费的呢?答案有木有?有!lvs+keepalived 是不错的选择!

一、实验环境:4台centos 5.4 ,以及简单的拓扑图:
LVS-Master 192.168.2.108
LVS-BACKUP 192.168.2.109
LVS-DR-VIP 192.168.2.100
WEB1-Realserver 192.168.2.79
WEB2-Realserver  192.168.2.80

二、安装ipvsadm+keepalived,用脚本自动安装:
由于我们使用的是lvs+keepalived,所以这里不需要配置lvs-dr脚本,直接在keepalived.conf里面配置即可!
#!/bin/sh
###脚本编写目的:自动安装lvs+keepalived
###编写时间: 2011年7月6日17:25:39
###初稿人:wugk
###定义变量
DIR1=/usr/src
DIR2=/usr/local
cat << EOF
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++Welcome to use Linux installed a key LVS+KEEPALIVED shells scripts
+++++++++++++++++++++*************************++++++++++++++++++++++++
EOF
if
[ $UID -ne 0 ];then
echo “This script must use root user ,please exit……”
sleep 2
exit 0
fi
download ()
{
cd $DIR1 && wget -c http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz http://www.keepalived.org/software/keepalived-1.1.15.tar.gz
if
[ $? = 0 ];then
echo "Download LVS Code is OK!"
else
echo "Download LVS Code is failed,Please check!"
exit 1
fi
}
ipvsadm_install ()
{
ln -s $DIR1/kernels/2.6.* $DIR1/linux
cd $DIR1 && tar xzvf ipvsadm-1.24.tar.gz &&cd ipvsadm-1.24 && make && make install
if
[ $? -eq 0 ];then
echo "Install ipvsadm success,please waiting install keepalived ..............."
else
echo "Install ipvsadm failed ,please check !"
exit 1
fi
}
keepalived_install ()
{
cd $DIR1 && tar -xzvf keepalived-1.1.15.tar.gz &&cd keepalived-1.1.15 && ./configure && make && make install
if
[ $? -eq 0 ];then
echo "Install keepalived success,please waiting configure keepalived ..............."
else
echo "Install keepalived failed ,please check install version !"
exit 1
fi
}
######如果以上软件包编译报错的话,请检查相关的版本跟系统版本之间的关系,然后手动下载安装.
keepalived_config ()
{
cp $DIR2/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ && cp $DIR2/etc/sysconfig/keepalived /etc/sysconfig/ && mkdir -p /etc/keepalived &&cp $DIR2/etc/keepalived/keepalived.conf /etc/keepalived/ && cp $DIR2/sbin/keepalived /usr/sbin/
if
[ $? -eq 0 ];then
echo "Keepalived system server config success!"
else
echo "Keepalived system server config failed ,please check keepalived!"
exit 1
fi
}
PS3="Please select Install Linux Packages:"
select option in download ipvsadm_install keepalived_install keepalived_config
do
$option
done
以上脚本分别在lvs-master和lvs-backup上执行安装。
三、配置keepalived.conf:内容如下是lvs-master配置
也可以参考配置:http://chinaapp.sinaapp.com/download/keepalived.conf 可以直接打开
! Configuration File for keepalived
global_defs {
notification_email {
wgkgood@163.com
}
notification_email_from wgkgood@163.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
# VIP1
vrrp_instance VI_1 {
state MASTER  
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 51
priority 100
advert_int 5
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.2.100  
}
}
#REAL_SERVER_1
virtual_server 192.168.2.100 80 {
delay_loop 6   
lb_algo wlc   
lb_kind DR  
persistence_timeout 60   
protocol TCP        
real_server 192.168.2.79 80 {
weight 100       
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
#REAL_SERVER_2
real_server 192.168.2.80 80 {
weight 100
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
注意***Lvs-backup端同样配置,只需要更改state MASTER为state BACKUP,修改priority 100为priority 90即可。
 
四、分别在web1、web2上配置好apache,然后分别执行如下脚本:
如下的VIP1指的是lvs-dr-vip地址,及对外提供访问的虚拟ip:
#!/bin/sh
PS3="Please Choose whether or not to start a realserver VIP1 configuration:"
select i in "start" "stop"
do
case "$i" in
start)
read -p "Please enter the virtual server IP address:" VIP1
ifconfig lo:0 $VIP1 netmask 255.255.255.255 broadcast $VIP1
/sbin/route add -host $VIP1 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"
exit 0
;;
stop)
ifconfig lo:0 down
route del $VIP1 >/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"
exit 1
;;
*)
echo "Usage: $0 {start|stop}"
exit 2
esac
done
脚本会提示是否启动,按1即启动,然后输入vip地址 192.168.2.100 ,用ifconfig你会看到:lo:0的ip即表示配置ip成功。
lo:0Link encap:Local Loopback 
inet addr:192.168.2.100 Mask:255.255.255.255
UP LOOPBACK RUNNING MTU:16436 Metric:1
五、最后启动lvs-master、lvs-backup上面的keepalived服务即可:
/etc/init.d/keepalived restart 查看lvs-master日志:
在浏览器里面访问 http://192.168.2.100/ 即可!当你宕掉lvs-master后,lvs-backup会接管变成lvs-master提供服务,当lvs-master故障恢复后,lvs-backup又会变成原来的状态!
所安装的脚本可以在这里下载:
http://chinaapp.sinaapp.com/download/lvs-keepalived.sh         在lvs-master和lvs-backup上执行 

http://chinaapp.sinaapp.com/download/realserver.sh                 在web服务器端执行

转载于:https://blog.51cto.com/navyaijm/809397

Lvs+keepalived 高可用性负载均衡自动化配置相关推荐

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

    2019独角兽企业重金招聘Python工程师标准>>> 一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部 ...

  2. LVS原理详解及部署之五:LVS+keepalived实现负载均衡高可用

    本文我们主要讲解的是LVS通过keepalived来实现负载均衡和高可用,而不是我们第三篇文章介绍的通过手动的方式来进行配置.通过脚本的方式来显示RS节点的健康检查和LVS的故障切换.此文会通过一个实 ...

  3. LVS+Keepalived实现负载均衡和双机热备

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  4. LVS+Keepalived实现负载均衡高可用

    使用脚本实现LVS负载均衡 环境: 3台主机 DS:192.168.100.1 RS1:192.168.100.11 RS2:192.168.100.12 VIP:192.168.100.100 安装 ...

  5. 借助LVS+Keepalived实现负载均衡

    一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务 ...

  6. L部署lvs+keepalived实现负载均衡

    keepalived工作原理 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障. keepalived是以VRRP协议为实现基础的,VRR ...

  7. lvs+keepalived实现负载均衡

    目录 准备工作 安装服务器 安装及配置keepalived 测试 准备工作 vagrant(1.9.1)打包的centos7+nginx1.9+mysql5.7+php7环境 虚拟机软件(virtua ...

  8. Lvs+keepAlived实现负载均衡高可用集群(DR实现)

    第1章 LVS 简介 1.1 LVS介绍 LVS是Linux Virtual Server的简写,意为Linux虚拟服务器,是虚拟的服务器集群系统,可在UNIX/LINUX平台下实现负载均衡集群功能. ...

  9. Lvs+keepalived   实现负载均衡、故障剔除(DR模式)

    系统都是6.3 32位 Vip:192.168.2.244 Lvs-master:192.168.2.80 Lvs-backup:192.168.2.6 Web1:192.168.2.93 Web2: ...

最新文章

  1. 并发编程实战-读书笔记
  2. rhel6硬盘或U盘安装注意的问题
  3. 微信开发之连接数据库
  4. token验证_Swagger中添加Token验证
  5. 看完这篇文章,跟面试官扯皮就没问题了
  6. SDNU 1029.巧分整数(斯特林数(改)dp)
  7. 校验json格式_不来学一下SpringBoot统一参数校验?
  8. OpenVINO Inference Engine之LoadNetwork
  9. 你知道C# 反射技术的应用吗?
  10. 基于系统的流量控制(Qos)
  11. linux 内存性能评估,内存性能评估工具vmstat/free/smem使用与解读
  12. 我们来看看load data infile 需要注意的一些地方
  13. 统一社会信用代码校验和生成
  14. linux下uboot内存测试,uboot中的内存测试方法
  15. 4、基础理论-平衡软件项目的质量与时间、范围、成本
  16. 【Windows】Win10如何使用注册表恢复Win7照片查看器?
  17. java+上传文件夹
  18. 掌握盲打?写个脚本陪自己练,每天练一遍,基本上一个星期就成了!
  19. 时间管理的基础是精力管理
  20. 全球主要的域名争议解决机构有哪些?

热门文章

  1. 图神经网络代码_第一篇:图神经网络(GNN)计算框架绪论
  2. 计算机网络技术与计算机应用技术,计算机网络技术和计算机应用技术.pdf
  3. 三星mzvlb1t0hblr是什么固态_三星T7 Touch 1TB移动固态硬盘评测:新奇又安全的加密方式普及?...
  4. 获取mysql所有用户权限_python 获取mysql数据库列表以及用户权限
  5. IC攻城狮求职宝典 01 2018年IC设计企业 笔试题 01 英伟达(Nvidia)
  6. MyBatis知多少(22)MyBatis删除操作
  7. 【非凡程序员】 OC第一节课 (指针浅析)
  8. 逆序数2 HDOJ 1394 Minimum Inversion Number
  9. mysql自增主键归零的方法
  10. [数据加密]GIS空间数据水印信息隐藏与加密技术方法[转]