keepalived+lvs简单实现
一,部署实战环节
01,服务架构图:

服务器镜像为centos6.9
02,服务安装:
10.0.0.10:
下载keeplived官方包--> http://www.keepalived.org/software/keepalived-2.0.12.tar.gz 安装基础应用环境 yum -y install openssl-devel kernel-devel make gcc openssl-devel libnl* popt* 下载popt包主要用于lvs http://mirror.centos.org/centos/6/os/x86_64/Packages/popt-static-1.13-7.el6.x86_64.rpm 安装:LVS两台服务都需要执行 设置软连接: ln -s /usr/src/kernels/2.6.-754.10..el6.x86_64/ /usr/src/linux ##可能有的kernels不一样,根据实际而定 安装lvs
yum -y install ipvsadm 安装keeplived tar zxvf keepalived-2.0..tar.gz -->解压 cd keepalived-2.0. ./configure --with-kernel-dir=/usr/src/kernels/2.6.-754.10..el6.x86_64/ make && make install
##上面的源码安装报错 configure: error: nftables header files missing,所以选择用yum安装
yum -y install keepalived ipvsadm
更改配置文件/etc/keepalived/keepalived.conf:--->配置文件大致意思,上一篇有讲解,这里不再重复
[root@lvs01 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
test@admin.com
}
notification_email_from admin@test.com
smtp_server 127.0.0.1
smtp_connect_timeout
router_id LVS_MASTER
} vrrp_instance VI_1 {
state MASTER
interface eth1
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
10.0.0.9
}
} virtual_server 10.0.0.9 {
delay_loop
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout
protocol TCP real_server 10.0.0.12 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
}
} real_server 10.0.0.13 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
}
}
}
启动keeplived:
/etc/init.d/keepalived start
ps -ef|grep keepalived 可以查看到进程相关
IP a 命令可以查看到IP

10.0.0.11服务器:
yum -y install keepalived ipvsadm
更改配置文件/etc/keepalived/keepalived.conf:--->配置文件大致意思,上一篇有讲解,这里不再重复
[root@lvs02 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
test@sina.com
}
notification_email_from admin@test.com
smtp_server 127.0.0.1
smtp_connect_timeout
router_id LVS_BACKUP
} vrrp_instance VI_1 {
state MASTER
interface eth1
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
10.0.0.9
}
} virtual_server 10.0.0.9 {
delay_loop
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout
protocol TCP real_server 10.0.0.12 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
}
} real_server 10.0.0.13 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
}
}
}
启动从库
/etc/init.d/keepalived start
10.0.0.12 , 10.0.0.13web:
下载nginx web包
wget http://nginx.org/packages/rhel/6/x86_64/RPMS/nginx-1.14.0-1.el6.ngx.x86_64.rpm
yum install nginx-1.14.0-1.el6.ngx.x86_64.rpm -y
就能完成安装
更改配置:
vim /usr/share/nginx/html/index.html
10.0.0.12的服务器添加随机字符或者:
echo "web01" >/usr/share/nginx/html/index.html
10.0.0.13:
echo "web01" >/usr/share/nginx/html/index.html
10.0.0.12 10.0.0.13配置脚本并运行脚本(配置虚拟IP的)
[root@ng01 ~]# cat ser.sh
#!/bin/bash
SNS_VIP=10.0.0.9
. /etc/rc.d/init.d/functions
case "$1" in
start)
ifconfig lo: $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
/sbin/route add -host $SNS_VIP dev lo:
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 >&
echo "RealServer Start OK"
;;
top)
ifconfig lo: down
route del $SNS_VIP >/dev/null >&
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
esac
exit
完成后启动:
service start nginx
三,LVS查看
LVS监控的服务器:
ipvsadm -ln

ipvsadm -lcn

再服务器宕机的过程中可以看到这个TCP数据的转发情况
四, 验证效果
访问VIP出现的页面: 
01,nginx服务异常宕机
web01服务 
迅速刷新页面 
刷新速度还是很快的
keepalived+lvs简单实现的更多相关文章
- Keepalived+Lvs+Mysql主主复制
一简单介绍 Keepalived+lvs+mysql主主复制是比較经常使用的一种Mysql高可用方案,当中lvs 提供读负载均衡,Keepalived通过虚拟vip漂移实现故障自己主动转移,而Mysq ...
- 高可用集群之keepalived+lvs实战-技术流ken
keepalived简介 lvs在我之前的博客<高负载集群实战之lvs负载均衡-技术流ken>中已经进行了详细的介绍和应用,在这里就不再赘述.这篇博文将把lvs与keepalived相结合 ...
- Keepalived+LVS(dr)高可用负载均衡集群的实现
一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2 ...
- Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用
上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx ...
- keepalived+LVS 实现双机热备、负载均衡、失效转移 高性能 高可用 高伸缩性 服务器集群
本章笔者亲自动手,使用LVS技术实现实现一个可以支持庞大访问量.高可用性.高伸缩性的服务器集群 在读本章之前,可能有不少读者尚未使用该技术,或者部分读者使用Nginx实现应用层的负载均衡.这里大家都可 ...
- mysql高可用架构方案之二(keepalived+lvs+读写分离+负载均衡)
mysql主从复制与lvs+keepalived实现负载高可用 文件夹 1.前言 4 2.原理 4 2.1.概要介绍 4 2.2.工作原理 4 2.3.实际作用 4 3方 ...
- Keepalived+LVS+Nginx负载均衡之高可用
Keepalived+LVS+Nginx负载均衡之高可用 上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常 ...
- 测试redis+keepalived实现简单的主备切换【转载】
转自: 测试redis+keepalived实现简单的主备切换 - Try My Best 尽力而为 - ITeye技术网站http://raising.iteye.com/blog/2311757 ...
- 高可用之KeepAlived(2):keepalived+lvs
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
随机推荐
- 关于VBS的一个怪现象
今天一个同学让我帮忙写一个程序,要求是: 输入一个n,返回从0到n中任意个数的组合,返回取异或结果为0的组合.来看VBS代码 n = p = "" ^n - s = s = s ) ...
- .net Reflection(反射)- 一
Reflection 反射需要引用 using System.Reflection; 命名空间. 通过 Assembly 类的 Load( ); 加载指定的 程序集 Assembly 是不能被实例化 ...
- java學習書
轉載 成为Java顶尖程序员 ,看这11本书就够了 以下是我推荐给Java开发者们的一些值得一看的好书.但是这些书里面并没有Java基础.Java教程之类的书,不是我不推荐,而是离我自己学习 Java ...
- 【C#】LINQ
一.什么是LINQ 长期以来,开发社区形成以下的格局: 1.面向对象与数据访问两个领域长期分裂,各自为政. 2.编程语言中的数据类型与数据库中的数据类型形成两套不同的体系,例如: C#中字符串用str ...
- C#中return的两个作用
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- 仓储(Repository)和工作单元模式(UnitOfWork)
仓储和工作单元模式 仓储模式 为什么要用仓储模式 通常不建议在业务逻辑层直接访问数据库.因为这样可能会导致如下结果: 重复的代码 编程错误的可能性更高 业务数据的弱类型 更难集中处理数据,比如缓存 无 ...
- iOS应用打包完后再在开发者网站添加应用测试ID能够加入测试吗
1.明确指出 不行: 1.打包测试包前一定要先添加测试设备的UDID 2.添加测试的设备UDID一定要先于打包测试包,否则设备无法参加测试 3.使用蒲公英分享测试包,查看可参加测试的设备UDID 2. ...
- postgresql中的各种scan的比较
最近在看postgresql的查询计划,在查询中对表的扫描计划大概有如下几种: Seq Scan Index Scan Bitmap Heap Scan Index Only Scan 这里就把自己的 ...
- js 获取滚动条事件
function getScroll() { return { left: window.pageXOffset || document.documentElement.scrollLeft || d ...
- SQL语句之行操作
SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 关系型数据库的存储形式 在关系型数据库中,数据都是以类似于Excel表格的形式存储 ...