lvs+keepalive构建高可用集群
- 在主机上使用动态路由协议(RIP、OSPF等)
- 在主机上配置静态路由
- 设置定时通告定时器;
- 用VRRP虚拟MAC地址响应路由器IP地址的ARP请求;
- 转发目的MAC是VRRP虚拟MAC的数据包;
- 如果是虚拟路由器IP的拥有者,将接受目的地址是虚拟路由器IP的数据包,否则丢弃;
- 当收到shutdown的事件时删除定时通告定时器,发送优先权级为0的通告包,转初始化状态;
- 如果定时通告定时器超时时,发送VRRP通告信息;
- 收到VRRP通告信息时,如果优先权为0,发送VRRP通告信息;否则判断数据的优先级是否高于本机,或相等而且实际IP地址大于本地实际IP,设置定时通告定时器,复位主机超时定时器,转BACKUP状态;否则的话,丢弃该通告包;
- 设置主机超时定时器;
- 不能响应针对虚拟路由器IP的ARP请求信息;
- 丢弃所有目的MAC地址是虚拟路由器MAC地址的数据包;
- 不接受目的是虚拟路由器IP的所有数据包;
- 当收到shutdown的事件时删除主机超时定时器,转初始化状态;
- 主机超时定时器超时的时候,发送VRRP通告信息,广播ARP地址信息,转MASTER状态;
- 收到VRRP通告信息时,如果优先权为0,表示进入MASTER选举;否则判断数据的优先级是否高于本机,如果高的话承认MASTER有效,复位主机超时定时器;否则的话,丢弃该通告包;
- CentOS Linux release 7.4.1708 (Core)
- ipvsadm-1.24
- keepalived.x86_64 0:1.2.7-3.el6
- httpd-2.4.6-67.el7.centos.6.x86_64

说明:
1.两台lvs间做keepalive高可用
2.两台web只简单安装Apache用于测试
实验清单
| ip | 类型 |
| 192.168.128.169 | lvs_S |
| 192.168.128.171 | lvs_M |
| 192.168.128.172 | web_1 |
| 192.168.128.173 | web_2 |
一、更改主机名(每台机子)
echo "192.168.128.169 lvs_S" >>/etc/hosts
echo "192.168.128.171 lvs_M" >>/etc/hosts
echo "192.168.128.172 web_1" >>/etc/hosts
echo "192.168.128.173 web_2" >>/etc/hosts
二、时间同步
yum install -y ntp
/usr/sbin/ntpdate ntp6.aliyun.com
echo "*/3 * * * * /usr/sbin/ntpdate ntp6.aliyun.com &> /dev/null" > /tmp/crontab
crontab /tmp/crontab
三、master配置(lvs_M,lvs_S)
mkdir -p /usr/local/src/lvs/
cd /usr/local/src/lvs/
wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
lsmod|grep ip_vs
uname -rm //查看内核版本
ln -s /usr/src/kernels/2.6.32-431.el6.i686/ /usr/src/linux //可能会显示多个内核,选上个命令查看的版本
tar xf ipvsadm-1.24.tar.gz
cd ipvsadm-1.24
make && make install
ipvsadm //启动内核
lsmod |grep ip_vs
ifconfig eth0:0 192.168.128.180/24 up //设置vip为192.168.128.180
route add -host 192.168.128.180 dev eth1
ipvsadm –C //清空默认
ipvsadm --set 30 5 60 //设置超时
ipvsadm -A -t 192.168.128.180:80 -s wrr -p 20 // 添加虚拟服务
ipvsadm -L –n //查看服务
ipvsadm -a -t 192.168.128.180:80 -r 192.168.160.132:80 -g -w 1 //添加real server
ipvsadm -a -t 192.168.128.180:80 -r 192.168.160.135:80 -g -w 1
ipvsadm –d -t 192.168.128.180:80 -r 192.168.160.132:80 // 删除
脚本:


执行脚本结果:

四、realserver配置脚本(web_1,web_2)

lvs+keepalive构建高可用集群的更多相关文章
- Linux企业集群用商用硬件和免费软件构建高可用集群PDF
Linux企业集群:用商用硬件和免费软件构建高可用集群 目录: 译者序致谢前言绪论第一部分 集群资源 第1章 启动服务 第2章 处理数据包 第3章 编译内容 第二部分 高可用性 第4章 使用rsync ...
- 基于Keepalived实现LVS双主高可用集群
Reference: https://mp.weixin.qq.com/s?src=3×tamp=1512896424&ver=1&signature=L1C7us ...
- LVS+Keepalived实现高可用集群
LVS+Keepalived实现高可用集群来源: ChinaUnix博客 日期: 2009.07.21 14:49 (共有条评论) 我要评论 操作系统平台:CentOS5.2软件:LVS+keepal ...
- Apache httpd和JBoss构建高可用集群环境
1. 前言 集群是指把不同的服务器集中在一起,组成一个服务器集合,这个集合给客户端提供一个虚拟的平台,使客户端在不知道服务器集合结构的情况下对这一服务器集合进行部署应用.获取服务等操作.集群是企业应用 ...
- 构建高可用集群Keepalived+Haproxy负载均衡
重点概念vrrp_script中节点权重改变算法vrrp_script 里的script返回值为0时认为检测成功,其它值都会当成检测失败:weight 为正时,脚本检测成功时此weight会加到pri ...
- lvs + keepalived + httpd 高可用集群(转)
实验信息和拓扑:备注:Centos 6.5 selinux –disabled iptables off ServerName Ipaddress information LVSMaster 172. ...
- keepalived+nginx 高可用集群
一.什么是高可用? nginx做负载均衡,能达到分发请求的目的,但是不能很好的避免单点故障. 1.nginx集群单点问题 分发器宕机怎么处理? 假如nginx服务器挂掉了,那么所有的服务也会跟着瘫 ...
- MySQL8.0 MIC高可用集群搭建
mysql8.0带来的新特性,结合MySQLshell,不需要第三方中间件,自动构建高可用集群. mysql8.0作为一款新产品,其内置的mysq-innodb-cluster(MIC)高可用集群的技 ...
- 阿里云搭建k8s高可用集群(1.17.3)
首先准备5台centos7 ecs实例最低要求2c4G 开启SLB(私网) 这里我们采用堆叠拓扑的方式构建高可用集群,因为k8s 集群etcd采用了raft算法保证集群一致性,所以高可用必须保证至少3 ...
随机推荐
- 【Java】CAS的乐观锁实现之AtomicInteger源码分析
1. 悲观锁与乐观锁 我们都知道,cpu是时分复用的,也就是把cpu的时间片,分配给不同的thread/process轮流执行,时间片与时间片之间,需要进行cpu切换,也就是会发生进程的切换.切换涉及 ...
- vue-cli完整地引入element-ui
1因为该组件会依赖于jQuery,所以先安装jQuery所需依赖: 进入npm控制台,输入指令: cnpm install jquery --save-dev 然后在入口文件main.js中引入: i ...
- Codeforces 888E Maximum Subsequence
原题传送门 E. Maximum Subsequence time limit per test 1 second memory limit per test 256 megabytes input ...
- bzoj:1230: [Usaco2008 Nov]lites 开关灯
Description Farmer John尝试通过和奶牛们玩益智玩具来保持他的奶牛们思维敏捷. 其中一个大型玩具是牛栏中的灯. N (2 <= N <= 100,000) 头奶牛中的每 ...
- HDU1102(最小生成树Kruskal算法)
Constructing Roads Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- Jungle Roads(kruskar)
Jungle Roads 题目链接;http://poj.org/problem?id=1251 Time Limit: 1000MS Memory Limit: 10000K Total Sub ...
- Developing Skills
题目传送门:点击打开链接 #include <iostream> #include <cstdio> #include <cstdlib> #include < ...
- kali中的webshell
webacoo -g 生成一句话 -o 输出文件 -r 不混淆代码 -t 连接模式 -u 制定URL 生成一句话 webacoo -g -o a.php 连接一句话 webacoo -t -u htt ...
- ubuntu 下 apt /apt-get command not found 命令找不到
简介:apt 命令在ubuntu下找不到.(针对云平台,等可联网的ubuntu 如果是虚拟机,请确认能否联网 (如是虚拟机且不能联网请参考其他文章,大致方向是先挂载系统镜像再安装)) (ps:一般的 ...
- 数据结构与算法(1)----->排序
这一版块,把必备的数据结构和算法做一个总结!包括排序.队列.链表.二叉树.排组合,动态规划....... 总结的过程包括理论部分,练题目可以自己去leetcode/牛客网刷起来- 第一篇文章讲排序- ...