初识keepalived(二)——keepalived与LVS实现高可用

背景介绍

通过前面的介绍了解到LVS其实是工作在netfilter框架input链上的一组规则,而LVS本身无法实现高可用和对realserver的健康状态检测,keepalived为了解决上述2点问题而诞生,同时keepalived还可以直接在配置文件里设置LVS规则,而不需要再单独设置。在配置高可用之前需要提前做2个准备:

1.需要进行高可用的服务器指向相同的NTP服务器,保证时间的一致性

2.可以相互间进行名称解析,推荐使用/etc/hosts文件进行

实验环境

本次实验使用4台CentOS6.8虚拟机组成,其中2台为director,2台为WebServer,拓扑结构如下图所示:

操作步骤

1.2台web服务器上安装httpd服务,便于区分将设置不同的主页面(略)

2.设置2台web服务器的arp_ignore和arp_announce参数,可以通过脚本

#!/bin/sh

case $1 in

start)

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

;;

stop)

echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce

echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce

;;

*)

echo "Wrong Arguments"

;;

esac

3.将vip地址设置到web服务器的lo接口上

ip addr add 172.16.10.50/32 dev lo

4.给2台direcotr安装keepalived和ipvsadm软件包(略)

5.编辑keepalived配置文件,设置LVS规则和keepalived角色(后文介绍)

6.启动keepalived服务,查看vip地址是否正常添加,ipvs策略是否生成,至此操作完成。

ip addr list

ipvsadm -Ln

keepalived配置文件说明

全局配置段:

可以设置接收邮件的账号(工作场景常以监控软件实现),其中router_id是设备名称,名称不需要唯一,可以使用主机名

脚本配置段:

该配置段是一个独立的配置段,配置文件中默认并没有这一段,加入这一段的目的是如果后期keepalived服务器需要升级人为切换服务器角色时可以手动在相应目录下创建一个down文件,使他的权重-20,此处注意:判断为假时(echo $?值为1)才会执行weight -20

vrrp实例配置段:

同一vrrp实例名称保持一致,虚拟路由id必须保持一致,tarck_script是调用上面定义的脚本配置段

LVS规则配置段:

virltual_server    #设置vip地址和端口

delay_loop    #RS恢复服务后延迟上线的时间,单位为妙

lb_algo    #调度策略,支持rr|wrr|lc|wlc|lblc|sh|dh

lb_kind    #LVS转发模式,此处是DR模型

keepalived只支持TCP协议

HTTP_GET    #健康监测,同时还支持SSL_GET

status_code    #状态码检测,判断RS服务器是否正常

遗留问题

1.只使用LVS时,vip地址可以设置在director的lo接口上,结合keepalived后vrrp实例设置在lo接口上IP地址和IPVS规则无法生效,设置在eth0接口上恢复正常

2.当前vip地址生效director自己无法正常使用curl命令通过vip获取到页面,另一个director使用curl命令通过vip可以正常获取到页面,2个director交换角色后依然如此

时间: 2024-10-28 11:58:40

初识keepalived(二)——keepalived与LVS实现高可用的相关文章

keepalived实现lvs的高可用

搭建环境: 两台director,两台RS director1:ip(172.16.125.5),安装好keepalived: director2:ip(172.16.125.6),安装好keepalived: RS1:ip(172.16.125.7),安装好httpd: RS2:ip(172.16.125.8),安装好httpd: vip(1):172.16.125.100,vip(2):172.16.125.110. 在此处keepalived实现lvs的高可用,使用了lvs的dr模型.关闭

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

一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2.13-7.el7.x86_64ipvsadm-1.27-7.el7.x86_64httpd-2.4.6-45.el7.centos.x86_64mariadb-5.5.52-1.el7.x86_64php-5.4.16-42.el7.x86_64 二 原理及拓扑图 1.vrrp协议vrrp(Vir

keepalived+lvs+nginx 高可用

keepalived是一款用C编写的,旨在给linux系统和基于linux的设施提供简单.稳固的高可用和负载均衡功能的软件.它基于linux内核的ipvs模块实现4层负载均衡,能应用一系列的健康状态检测机制基于VRRP协议实现服务的高可用. 一.VRRP协议 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)是一种容错协议.通常,一个网络内的所有主机都设置一条默认路由,这样,主机发出的目的地址不在本网段的报文将被通过默认路由发往路由器RouterA

整个MHA+keepalived+lvs+mysql高可用架构配置说明

整个MHA+keepalived+lvs+mysql高可用架构配置说明1.1. 环境简介1.1.1.vmvare虚拟机,系统版本CentOS7.5 x86_64位最小化安装,mysql的版本5.7.21,1.1.2.虚拟机器的ssh端口均为默认22,1.1.3.虚拟机的iptables全部关闭,1.1.4.虚拟机的selinux全部关闭,1.1.5.虚拟机服务器时间全部一致 ntpdate 0.asia.pool.ntp.org1.1.6.3台机器的ssh端口为22**1.2.此次试验采用的是3

基于keepalived实现LVS的高可用

keepalived简介 首先简单介绍一下VRRP协议(虚拟路由器冗余协议).VRRP是一种容错协议,它可以将一组路由器组织成一个虚拟路由器,这个虚拟路由器仅适用一个IP地址,这个IP地址配置在其中的一台路由器上,这个路由器即为主路由器(MASTER),其余的为备用路由器(BACKUP).如果这个路由器组内的MASTER路由器出现故障了,BACKUP路由器将会通过选举策略选出一个新的MASTER路由器继续向外提供服务.这样就保证了网络之间的通信不会中断. keepalived即采用了VRRP协议

DNS+keepalived+lvs实现高可用负载均衡集群

1.目的: 部署两台lvs调度器并利用keepalived实现主主模型,DNS添加两条A记录指向lvs调度器实现轮询,最终实现高可用负载均衡集群效果 2.拓扑规划: 3.配置实践 (1)同步所有机器时间 在每台机器实行ntp同步: [[email protected] ~]# ntpdate 10.1.0.1 26 Oct 20:10:57 ntpdate[5533]: step time server 10.1.0.1 offset -32408.643564 sec (2)先配置RS,在RS

实例:LVS+Keepalived配置LVS的高可用

LVS+Keepalived配置LVS的高可用 我们这里LVS-DR模型的高可用集群: 实验环境:     vm1 LVS-DR1:              eth0 172.16.3.2/16              VIP :eth0:0 172.16.3.88              vm2 LVS-DR2:             eth0 172.16.3.3/16     vm3 Server-web1             RS1: eth0 172.16.3.1/16  

keepalived实现Lvs-dr集群的高可用

Lvs-dr:Direct Routing,被称为直接路由:通过修改请求报文的MAC地址来进行转发:源MAC地址是DIP所在接口的MAC地址,目标MAC时前端主机挑选出某台后端的RS的RIP所在接口的MAC地址:从新封装时IP地址地址不会发生变化:下图为lvs-dr结构图 1.当客户端请求资源时,路由1会把请求报文发送给前传主机:在发送给前端主机时路由1不会变更请求报文的IP守护,而是在报文上再添加一层MAC守护 2.当前端主机收到请求报文后,拆封原来的MAC守护:自己再添加一层MAC守护发送给

keepalived双主模式实现nginx高可用及LNAMMP架构

keepalived双主模式实现nginx高可用及LNAMMP架构 一.利用keepalived实现nginx调度器高可用: 二.构建LNAMMP架构: 1) Nginx既是前端调度器,又是缓存服务器: 2) 将php的session缓存于memcached中: 3) 在Apache和php上部署Discuz论坛程序: 4) 使用https连接,即使用户使用的是http协议也可以以https协议进行访问: ---------------------------------------------

Keepalived学习,双机主备高可用

一.主机安装 1.解压 tar -zxvf keepalived-2.0.18.tar.gz 2.解压后进入到解压出来的目录,看到会有configure,那么就可以做配置了 3.使用configure命令配置安装目录与核心配置文件所在位置: ./configure --prefix=/usr/local/keepalived --sysconf=/etc prefix:keepalived安装的位置 sysconf:keepalived核心配置文件所在位置,固定位置,改成其他位置则keepali