一,部署实战环节

   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简单实现的更多相关文章

  1. Keepalived+Lvs+Mysql主主复制

    一简单介绍 Keepalived+lvs+mysql主主复制是比較经常使用的一种Mysql高可用方案,当中lvs 提供读负载均衡,Keepalived通过虚拟vip漂移实现故障自己主动转移,而Mysq ...

  2. 高可用集群之keepalived+lvs实战-技术流ken

    keepalived简介 lvs在我之前的博客<高负载集群实战之lvs负载均衡-技术流ken>中已经进行了详细的介绍和应用,在这里就不再赘述.这篇博文将把lvs与keepalived相结合 ...

  3. Keepalived+LVS(dr)高可用负载均衡集群的实现

    一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2 ...

  4. Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用

    上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx ...

  5. keepalived+LVS 实现双机热备、负载均衡、失效转移 高性能 高可用 高伸缩性 服务器集群

    本章笔者亲自动手,使用LVS技术实现实现一个可以支持庞大访问量.高可用性.高伸缩性的服务器集群 在读本章之前,可能有不少读者尚未使用该技术,或者部分读者使用Nginx实现应用层的负载均衡.这里大家都可 ...

  6. mysql高可用架构方案之二(keepalived+lvs+读写分离+负载均衡)

    mysql主从复制与lvs+keepalived实现负载高可用 文件夹 1.前言    4 2.原理    4 2.1.概要介绍    4 2.2.工作原理    4 2.3.实际作用    4 3方 ...

  7. Keepalived+LVS+Nginx负载均衡之高可用

    Keepalived+LVS+Nginx负载均衡之高可用 上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常 ...

  8. 测试redis+keepalived实现简单的主备切换【转载】

    转自: 测试redis+keepalived实现简单的主备切换 - Try My Best 尽力而为 - ITeye技术网站http://raising.iteye.com/blog/2311757 ...

  9. 高可用之KeepAlived(2):keepalived+lvs

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

随机推荐

  1. 删除一个数的K位使原数变得最小

    原创 给定一个n位正整数a, 去掉其中k个数字后按原左右次序将组成一个新的正整数.对给定的a, k寻找一种方案,使得剩下的数字组成的新数最小. 提示:应用贪心算法设计求解 操作对象为n位正整数,有可能 ...

  2. linux版本信息以及x86与x86_64的区别

    一 x86.x86_64.AMD64 x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种 ...

  3. DOM--sql server

    public List<LianHeData> select(int ID) { List<LianHeData> list = new List<LianHeData& ...

  4. Day3作业 .

    ,))::])]): :-])# 3,使用while和for循环分别打印字符串s=’asdfer’中每个元素. # 4,实现一个整数加法计算器:# 如:content = input(‘请输入内容:’ ...

  5. Go环境搭建(Windows)

    下载MSI MSI地址 配置环境变量 GOPATH: 用于存放Go语言Package的目录,这个目录不能在Go的安装目录中 GOBIN: Go二进制文件存放目录,写成%GOROOT%\bin就好 PA ...

  6. cinder侧挂载卷流程分析

    cinder侧挂载卷流程分析,存储类型以lvm+iscsi的方式为分析基础cinder侧主要调用了三个接口1)reserve_volume: 把volume的状态改为attaching,阻止其它节点执 ...

  7. 201621123012 《java程序设计》第3周学习总结

    1. 本章学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 答:关键词:继承 多态 抽象类 abstract 覆盖 object siper 1.2 尝试使用思维导图将这些关键词组织起来. ...

  8. 微信H5或PC支付常见问题汇总

    1.H5端调起支付,直接提示[支付失败],打印具体的信息,“<当前URL不存在>” 原因: ①.[支付授权目录不对]---查看微信商户平台的支付授权目录的地址,如果MVC结构的,则只需填写 ...

  9. 多线程《八》线程queue

    一 线程queue queue is especially useful in threaded programming when information must be exchanged safe ...

  10. nginx负载均衡tomcat和配置ssl

    目录 tomcat 组件功能 engine host context connector service server valve logger realm UserDatabaseRealm 工作流 ...