Keepalived实现LVS的高可用

一、概念引入:

keepalived作用:为lvs提供高可用集群

Keepalived的功能:1、将IP地址转移到另一个节点上;2、转移lvs规则;3、健康状况检查 即:health-check

Keepalived通过VRRP协议实现health-check,那么,什么叫做VRRP呢?

二、VRRP的定义

VRRP (Virtual Routing Redundent Protocol)是虚拟路由冗余协议,通过此协议我们可以把多个路由器做成一个虚拟路由器,从而来保证其中某个路由DOWN掉的时候不会造成我们内部外部网络的全部中断,其主要是实现地址漂移的

利用keepalive来实现lvs的Directory Server的高可用集群,然后在利用keepalive和lvs的高可用来实现web服务的负载均衡!

三、RS上相关软件的安装和配置

1、安装配置Web

web1和web2上分别配置相应的IP地址:

RIP1:192.16.0.210/16

RIP2:192.16.0.211/16

2、安装httpd

yum install httpd –y

echo "web1.yuanquan.com"> /var/www/html/index.html

3、配置脚本 startrs.sh 如下:

#!/bin/bash

#

# Script to start LVS DR real server.

# description: LVS DR real server

#

.  /etc/rc.d/init.d/functions

VIP=192.168.0.212

host=`/bin/hostname`

case "$1" in

start)

# Start LVS-DR real server on this machine.

/sbin/ifconfig lo down

/sbin/ifconfig lo up

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

/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up

/sbin/route add -host $VIP dev lo:0

;;

stop)

# Stop LVS-DR real server loopback device(s).

/sbin/ifconfig lo:0 down

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

;;

status)

# Status of LVS-DR real server.

islothere=`/sbin/ifconfig lo:0 | grep $VIP`

isrothere=`netstat -rn | grep "lo:0" | grep $VIP`

if [ ! "$islothere" -o ! "isrothere" ];then

# Either the route or the lo:0 device

# not found.

echo "LVS-DR real server Stopped."

else

echo "LVS-DR real server Running."

fi

;;

*)

# Invalid entry.

echo "$0: Usage: $0 {start|status|stop}"

exit 1

;;

esac

4、在web1上执行此脚本,来完成vip和arp参数的设置

sh startrs.sh

然后查看相关IP参数信息

ifconfig

5、将Web1配置复制到web2

然后查看相关IP参数信息

ifconfig


四、DR上相关软件的安装和配置

1、安装keepalive软件,这里使用的是已经制作好的rpm包进行安装

yum -y --nogpgcheck localinstall keepalived-1.2.7-5.el5.i386.rpm   #不校验并自动安装

2、ipvsadm软件安装,用于后面的ipvs规则的查看。

yum –y install ipvsadm  #安装用户空间工具ipvsadm

ipvsadm –L –n            #查看系统ipvs规则

如此般,我们的keepalived就安装完毕!~

五、keepalive配置文件的详解

keepalive的配置文件是/etc/keepalived/keepalived.conf,其文件内分为:全局配置、vrrp配置、lvs配置、服务程序监控检查

(1)全局配置:


! Configuration File for keepalived

global_defs {                             #全局配置,配置参数为{}内的内容

notification_email {               #keepalive服务服务信息通知邮箱,可以为多个

acassen@firewall.loc

failover@firewall.loc

sysadmin@firewall.loc

}

notification_email_from Alexandre.Cassen@firewall.loc

smtp_server 127.0.0.1                   #smtp服务器

smtp_connect_timeout 30                      #连接smtp超时时间

router_id LVS_DEVEL

(2):虚拟路由组

vrrp_instance VI_1  {

state MASTER

interface eth0

virtual_router_id 51

priority 101

advert_int 1

authentication  {

auth_type PASS

auth_pass password

}

virtual_ipaddress {

172.16.10.1

}

}

(3):Virtual_server与real_server设置

virtual_server 172.16.10.1 80 {

delay_loop 6

lb_algo wlc

Lb_kind DR

nat_mask 255.255.0.0

persistence_timeout 50

protocol TCP

real_server 192.168.0.210  80 {

weight 1

url {

path /

status_code 200

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

virtual_server 172.16.10.1 80 {

delay_loop 6

lb_algo rr

lb_kind DR

nat_mask 255.255.0.0

persistence_timeout 50

protocol TCP

real_server 192.168.0.211  80 {

weight 1

url {

path /

status_code 200

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

(4):更改完成后复制到DS2上相同的一份,并把其中的state改成BACKUP,priority修改为100,其他的保存不变

(5)至此我们的DS高可用已经设置完了,启动keepalive测试下效果吧

DS1和DS2上分别开启keepalive服务

service keepalived start

ip addr show

(6)

(7)下面用Vip访问一下我们的web,看是否能成功

刷新一下

(8)下面模拟一下DS1 down掉吧~看看其vip能否否自动漂移

在DS1上停止keepalive服务

service keepalived stop

此时再看DS2的IP

再用vip进行web访问:

以上就是keepalived所要实现的基于LVS高可用的一些功能,当然它的功能远不止这些,这里只讲了一小部分(其他以后会慢慢补充),希望对读者有所帮助哦!

转载于:https://blog.51cto.com/mg5211/1202942

Keepalived实现LVS的高可用全解析相关推荐

  1. linux 跨物理 集群,linux学习之使用keepalived结合lvs搭建高可用负载均衡集群

    环境如下: 192.168.2.199 vm1.example.com HA主服务器 192.168.2.202vm2.example.com HA备服务器 192.168.2.205vm3.exam ...

  2. 在Linux基于Keepalived搭建LVS实现高可用负载均衡

    文章目录 前言 搭建步骤 配置真实服务器(RS) 配置负载均衡服务器(DS主) 配置负载均衡服务器(DS备) 测试 查看DS主备配置 访问VIP验证负载均衡 查看虚拟路由冗余协议(VRRP)数据包 验 ...

  3. keepalive+nginx实现负载均衡高可用_超详细的LVS+keepalived+nginx实现高性能高可用负载均衡集群教程...

    概述 前面已经介绍了前两部分内容,下面主要介绍在nginx服务器方面的配置和测试整个集群是否可用. 在realserver端配置VIP 1.两台nginx服务器都要执行下面脚本: #vi /etc/r ...

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

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

  5. RedHat 7配置keepalived+LVS实现高可用的Web负载均衡

    上一篇博文中我们使用keepalived实现了haproxy的高可用,但keepalived问世之初却是为LVS而设计,与LVS高度整合,LVS与haproxy一样也是实现负载均衡,结合keepali ...

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

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

  7. keepalived+lvs实现高可用的负载均衡

    ############################################### keepalived keepalived+lvs实现高可用的负载均衡 测试 ############# ...

  8. keepalived+Nginx实现Web高可用

    环境准备:关闭防火墙.关闭SELinux.配置YUM源 一.部署keepalived服务 1.web4安装Keepalive [root@web4 ~]# yum -y install keepali ...

  9. Keepalived+LVS-DR模式配置高可用负载均衡集群

    环境: 虚拟机:VMware Workstation 操作系统:CentOS 5.5 一.keepalived+lvs-DR模式配置高可用负载均衡 拓扑如下: 二.服务器ip配置信息 1. ip_lb ...

最新文章

  1. 特斯拉AI总监:我复现了LeCun 33年前的神经网络,发现和现在区别不大
  2. Saltstack Master 配置文件详解
  3. 《Python游戏编程快速上手》第五章--龙穴探险
  4. vue.js koa2 mysql_nodejs-koa2-mysql-sequelize-jwt
  5. ZBrush中如何实现智能对称
  6. OpenCV-浮雕雕刻效果
  7. Java面向对象:对象的概念及面向对象的三个基本特征
  8. OSPFv3中LSA详解(八)——Type5类LSA详解
  9. grep常见操作整理(更新)
  10. linux命令行翻页
  11. python强制删除文件夹_对Python各种删除文件失败的处理方式-强制删除文件
  12. 银尔达-----合宙Air724全网通4g DTU无线透传模块串口UART(TTL)+RS485核心板
  13. 01-运营可能是一种思维方式
  14. moles-packer_Hashicorp的Packer-是否适合PHP开发人员?
  15. 单点要信双点遥信区别
  16. 中国标准时间转换为yyyy-MM-dd
  17. Elliptic curve Diffie–Hellman
  18. RGB565转RGB888
  19. 2022年金属非金属矿山(地下矿山)安全管理人员特种作业证考试题库模拟考试平台操作
  20. 教练机飞行原理与操控方法

热门文章

  1. java创建主键自增表_oracle创建表时设置自增主键
  2. bstr java_BSTR详解一 -BSTR简介和内部结构
  3. 为什么有些xpath绝对路径拿不到数据_我写的Xpath 为什么爬取不到内容
  4. trunc 文字与格式与字符串不符_EXCEL字符串中间数字提取进阶
  5. 文本框换行_多行文本框的认识以及代码详解
  6. html 如何判断文本溢出,判断文本是否溢出
  7. 上如何刻字_校园石阶上被人刻了1700多个字?!这次网友却说好
  8. LoadRunner 测试Oracle数据库及Siebel性能
  9. TensorFlow迁移学习的识别花试验
  10. ubuntu安装vsftpd