高可用群集HA介绍与LVS+keepalived高可用群集

一、Keepalived介绍

  通常使用keepalived技术配合LVS对director和存储进行双机热备,防止单点故障,keepalived专为LVS和HA设计的一款健康检查工具,但演变为后来不仅仅为LVS提供方案,Keepaliced支持故障自动切换(Failover),支持节点健康状态检查(Health Checking),官方网站http://www.keepalived.org/

  Keepalived采用VRRP的热备份协议实现Linux服务器的多机热备功能,VRRP,虚拟路由冗余协议,是针对路由器一种备份解决方案,由多台路由器组成一个人热备组,通过共用的虚拟IP地址对外提供服务,每个热备组内同一时刻只有一台主路由器提供服务,其他路由器处于冗余状态,若当前在线的路由器失效,则其他路由器会根据设置的优先级自动接替虚拟IP地址,继续提供服务。

  如图所示,Keepalived可实现多机热备,每个热备组可有多台服务器,最常用的就是双机热备,双机热备的故障切换时由虚拟IP地址的漂移来实现,适用于各种应用服务器。

二、配置举例

案例介绍:

  本案例将实现基于Web服务的双机热备,漂移地址:192.168.10.72,主、备服务器:192.168.10.73、192.168.10.74,提供的应用服务:Web

(一)配置Keepalived服务器(主-从配置一样)
1、安装keepalived软件

1 [[email protected] ~]# yum -y install kernel-devel openssl-devel popt-devel  #依赖包
2 [[email protected] ~]# tar -zxvf keepalived-1.2.13.tar.gz -C /usr/src/
3 [[email protected] ~]# cd /usr/src/keepalived-1.2.13/
4 [[email protected] keepalived-1.2.13]# ./configure --prefix=/ --with-kerneldir=/usr/src/kernels/2.6.32-431.el6.x86_64(指定内核位置)
5 [[email protected] keepalived-1.2.13]# make && make install
6 [[email protected] ~]# /etc/init.d/keepalived start
7 [[email protected] ~]# netstat -anp | grep keepalived
8 [[email protected] ~]# chkconfig --add keepalived
9 [[email protected] ~]# chkconfig keepalived on

2、主服务器配置

 1 [[email protected] ~]# cp /etc/keepalived/keepalived.conf  /etc/keepalived/keepalived.conf.bak
 2 [[email protected] ~]# vim  /etc/keepalived/keepalived.conf(和别的配置文件不同,它是以!作为注释标记)
 3 修改:
 4 global_defs {
 5    router_id Web_HA1   !服务器名称
 6 }
 7 vrrp_instance VI_1 {   !定义VRRP热备实例
 8     state MASTER       !热备状态,从服务器用slave
 9     interface eth0     !承载vip的物理接口
10     virtual_router_id 51   !路由器的id号,同一个热备组里的id要一样
11     priority 100           !优先级,100是最高
12     advert_int 1       !心跳频率,就是几秒联系一下热备组的其他机器,没心跳了就挂掉了
13     authentication {
14         auth_type PASS      !认证类型
15         auth_pass 1111      !密码是1111
16     }
17     virtual_ipaddress {      !漂移ip地址(就是vip),可以有多个
18         192.168.10.72
19     }
20 }
21 注:配置文件中virtual_server段是配置director相关的参数,我们这个实验只考虑单一web服务,不需要配置,可以往下都删掉
22 [[email protected] ~]# service keepalived restart
23 [[email protected] ~]# ip add show dev eth0 #可以看到虚拟ip地址vip

3、从服务器配置

 1 [[email protected] ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf_bak
 2 [[email protected] ~]# vim /etc/keepalived/keepalived.conf
 3 修改:
 4 global_defs {
 5    router_id WEB_HA2
 6 }
 7 vrrp_instance VI_1 {
 8     state BACKUP
 9     priority 99
10     ......
11     }
12  ---其他参数与主服务器保持一致----
13 }
14 [[email protected] ~]# service keepalived restart
15 [[email protected] ~]# ip add show dev eth0   #从服务器没有虚拟ip地址

(二)验证:可以使用ping命令也可以使用web服务,当断掉主服务器的网络时,可以查看从服务器的虚拟ip,会发现从服务器有192.168.10.72这个漂移地址了

[[email protected] ~]# tail -f /var/log/messages  #查看日志验证

三、LVS-DR+keepalived高可用群集

  在基于LVS+Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,两台以上的节点服务器。本案例将以DR模式的LVS群集为基础,增加一台从负载调度器,使用Keepalived来实现主、从调度器的热备,从而构建兼有负载均衡、高可用两种能力的LVS网站群集平台。

  配置方法先配置LVS-DR群集,再配置keepalived双机热备。

  在配置LVS时,主从调度器的虚拟ip要配置成网卡ip,而在keepalived配置文件中设置vip

[[email protected] ~]# ipvsadm -A -t 192.168.10.73:80 -s rr #添加虚拟director的vip地址,轮询的调度算法
[[email protected] ~]# ipvsadm -A -t 192.168.10.74:80 -s rr #添加虚拟director的vip地址,轮询的调度算法

 virtual_ipaddress {        !漂移ip地址(就是vip),可以有多个
         192.168.10.72

  在测试时,可通过主、从调度器的/var/log/messages 日志文件,可以跟踪故障切换过程,可执行ipvsadm -lnc等命令查看负载分配情况

四、LVS-NAT+keepalived高可用群集

  由于nat模式Web节点回复客户端数据包需要通过director作为网关发送,当主director挂掉后,网关也不存在了,因此

不完整代码收录

  1 一、配置LVS服务器(主-从两台)
  2 1、配置IP
  3 [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
  4 [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
  5 [[email protected] ~]# service network restart
  6 2、调整响应参数(主-从配置一样)
  7 [[email protected] ~]# vim /etc/sysctl.conf
  8 修改:
  9 net.ipv4.ip_forward = 1
 10 添加:
 11 net.ipv4.conf.all.send_redirects = 0
 12 net.ipv4.conf.default.send_redirects = 0
 13 net.ipv4.conf.eth0.send_redirects = 0
 14 [[email protected] ~]# sysctl -p
 15 3、安装并配置ipvsadm(主-从配置一样)
 16 [[email protected] ~]# rpm -ihv /mnt/Packages/ipvsadm-1.26-2.el6.x86_64.rpm
 17 [[email protected] ~]# service ipvsadm start
 18 [[email protected] ~]# chkconfig --add ipvsadm
 19 [[email protected] ~]# chkconfig ipvsadm on
 20
 21 二、配置Keepalived服务器
 22 4、安装keepalived软件(主-从配置一样)
 23 [[email protected] ~]# yum -y install kernel-devel openssl-devel popt-devel
 24 [[email protected] ~]# tar -zxvf keepalived-1.2.13.tar.gz -C /usr/src/
 25 [[email protected] ~]# cd /usr/src/keepalived-1.2.13/
 26 [[email protected] keepalived-1.2.13]# ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-
 27 431.el6.x86_64
 28 [[email protected] keepalived-1.2.13]# make && make install
 29 [[email protected] ~]# /etc/init.d/keepalived start
 30 [[email protected] ~]# netstat -anp | grep keepalived
 31 [[email protected] ~]# chkconfig --add keepalived
 32 [[email protected] ~]# chkconfig keepalived on
 33 4.1、主服务器配置
 34 [[email protected] ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf_bak
 35 [[email protected] ~]# vim /etc/keepalived/keepalived.conf
 36 修改:
 37 global_defs {
 38    router_id LVS_DEVEL_R1
 39 }
 40 vrrp_instance VI_1 {
 41     state MASTER
 42     interface eth0
 43     virtual_router_id 1
 44     priority 100
 45     advert_int 1
 46     authentication {
 47         auth_type PASS
 48         auth_pass 1111
 49     }
 50     virtual_ipaddress {
 51         192.168.10.72
 52     }
 53 }
 54 vrrp_instance VI_1 {
 55     state MASTER
 56     interface eth1
 57     virtual_router_id 1
 58     priority 100
 59     advert_int 1
 60     authentication {
 61         auth_type PASS
 62         auth_pass 1111
 63     }
 64     virtual_ipaddress {
 65         192.168.1.1
 66     }
 67 }
 68 virtual_server 192.168.10.72 80 {
 69     delay_loop 15
 70     lb_algo rr
 71     lb_kind NAT
 72     protocol TCP
 73     real_server 192.168.10.73 80 {
 74         weight 1
 75         TCP_CHECK {
 76             connect_port 80
 77             connect_timeout 3
 78             nb_get_retry 3
 79             delay_before_retry 4
 80         }
 81     }
 82     real_server 192.168.10.74 80 {
 83         weight 1
 84         TCP_CHECK {
 85             connect_port 80
 86             connect_timeout 3
 87             nb_get_retry 3
 88             delay_before_retry 4
 89         }
 90     }
 91 }
 92 [[email protected] ~]# service keepalived restart
 93 [[email protected] ~]# ip add show dev eth0
 94 4.2、从服务器配置
 95 [[email protected] ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf_bak
 96 [[email protected] ~]# vim /etc/keepalived/keepalived.conf
 97 修改:
 98 global_defs {
 99    router_id LVS_DEVEL_R2
100 }
101 vrrp_instance VI_1 {
102     state BACKUP
103     priority 99
104     ......
105  ---其他参数与主服务器保持一致----
106 }
107 [[email protected] ~]# service keepalived restart
108 [[email protected] ~]# ip add show dev eth0
109
110 三、配置WEB节点服务器
111 1、配置IP地址
112 1)设置IP
113 [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
114 2、配置http服务
115 WEB-1:
116 [[email protected] ~]# echo "welcome to 192.168.10.73 web server" > /var/www/html/index.html
117 [[email protected] ~]# service httpd restart
118 [[email protected] ~]# chkconfig --add httpd
119 [[email protected] ~]# chkconfig httpd on
120 WEB-2:
121 [[email protected] ~]# echo "welcome to 192.168.10.74 web server" > /var/www/html/index.html
122 [[email protected] ~]# service httpd restart
123 [[email protected] ~]# chkconfig --add httpd
124 [[email protected] ~]# chkconfig httpd on
125 三、验证:
126 一)使用ping命令
127 客户端:ping -t 192.168.10.72
128 断开主LVS的网卡,查看客户端的ping情况。
129 重启主LVS的网卡,查看客户端的ping情况。
130 二)客户端
131 1、访问:
132 http://192.168.10.72/
133 在主LVS上查看:
134 [[email protected] ~]# ipvsadm -Lnc
135 2、断开主LVS的网卡
136 客户端访问:http://192.168.10.72/
137 在主-从LVS上查看:
138 [[email protected] ~]# ipvsadm -Lnc
139 在主-从LVS上查看:
140 [[email protected] ~]# ip addr show dev eth0
141 3、重启主LVS的网卡
142 客户端访问:http://192.168.10.72/
143 在主-从LVS上查看:
144 [[email protected] ~]# ipvsadm -Lnc
145 在主-从LVS上查看:
146 [[email protected] ~]# ip addr show dev eth0

时间: 2024-07-29 11:24:50

高可用群集HA介绍与LVS+keepalived高可用群集的相关文章

LVS+Keepalived高可用群集

keeplived是专门针对LVS设计的一款辅助工具,主要功能是实现故障切换,类似HSRP热备份路由协议,HSRP是思科的私有协议,而VRRP是通用协议,都是为了实现故障切换,当一台路由器发生故障的时候,另一台马上接替工作,用户感觉不到服务器发生了问题,而且不会中断服务. 双机热备是就是利用了VRRP虚拟路由冗余协议,和HRSP一样都拥有一个虚拟的ip地址对外提供服务,而不是真正的服务器ip地址,也拥有一台主服务器和多台备份服务器,优先级高的做主路由器,备份服务器处于冗余状态,当主服务器发生故障

构建LVS+Keepalived高可用群集

防伪码:不必向我诉说春天,我的心里并没有秋寒 第六章 构建LVS+Keepalived高可用群集 前言:keeplived是专门针对LVS设计的一款辅助工具,主要功能是实现故障切换和健康检查,官方网站:http://www.keepalived.org.类似于我们以前学习过的HSRP热备份路由协议,HSRP是思科的私有协议,而VRRP是通用协议,都是为了实现故障切换,当一台路由器发生故障的时候,另一台马上接替工作,用户感觉不到服务器发生了问题,而且不会中断服务.我们今天学习的双机热备是就是利用了

CentOS7.4—构建LVS+Keepalived高可用群集

LVS+Keepalived高可用群集 目录第一部分 环境准备第二部分 使用Keepalived搭建双机热备第三部分 配置Web节点服务器第四部分 测试LVS+Keepalived高可用群集 第一部分 环境准备一:调度器两台(双机热备)系统:Linux-CentOS 7.4IP地址:192.168.80.10(主)IP地址:192.168.80.20(备)二:Web服务器两台系统:Linux-CentOS 7.4IP地址:192.168.80.30(SERVER AA)IP地址:192.168.

LVS+keepalived 高可用群集

LVS+keepalived 高可用群集 实验目的: 使用 keepalived 实现 LVS 双机热备. 实验环境: 主机 操作系统 IP地址 主要软件 LVS 负载调度器 CentOS 7.3 x86_64 192.168.217.128 keepalived LVS 负载调度器 CentOS 7.3 x86_64 192.168.217.129 keepalived web 服务器 1 CentOS 7.3 x86_64 192.168.217.130 http web 服务器 2 Cen

LVS + Keepalived 高可用群集 【DR模式】

简介 Keepalived 起初是专门针对 LVS 设计的一款强大的辅助工具,主要用来提供故障切换和健康检查( Health Checking )功能--判断 LVS 负载调度器.节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后就会重新加入群集中. Keepalived 采用 VRRP (虚拟路由冗余协议)热备份协议,和HSRP一样,只不过 HSRP 是思科私有的协议,VRRP 可以跑在很多设备上!VRRP 是以软件的方式实现 Linux 服务器的多机热备功能. VRRP 工作原

Centos 7搭建LVS+Keepalived高可用Web服务群集

一.LVS+Keepalived高可用群集 Keepalived的设计目标是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器.管理服务器池,而不仅仅用作双机热备.使用Keepalived构建LVS群集更加简便易用,主要优势体现在:对LVS负载调度器实现热备切换,提高可用性:对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入. 在基于LVS+Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,三台以上的节点服务器.此博客将以DR模式的

linux企业常用服务---lvs+Keepalived高可用集群

部署前准备: iptables和selinux没配置,关掉 挂载系统镜像作为本地yum源,修改yum文件 源码包准备keepalived-1.2.13.tar.gz 环境介绍: 主服务器ip:192.168.100.157(keeplived+lvs) 从服务器ip:192.168.100.156(keeplived+lvs) 节点服务器ip:192.168.100.153-192.168.100.155(httpd) 集群vip:192.168.100.95 1.安装keepalived(在两

(2)LVS+Keepalived高可用负载均衡架构原理及配置

1.keepalived 介绍2.keepalived 优缺点3.keepalived 应用场景4.keepalived 安装配置5.keepalived+lvs 高可用6.keepalived+nginx 高可用7.keepalived 切换原理8.性能优化9.常见故障 一.keepalived 介绍 1.keepalived 定义keepalived是一个基于VRRP(virtual route redundent protocol)协议来实现的LVS服务高可用方案,可以利用其来避免单点故障

CentOS Linux 负载均衡高可用WEB集群之LVS+Keepalived配置

CentOS Linux 负载均衡高可用WEB集群之LVS+Keepalived配置 LB集群是locd balance集群的简称.翻译成中文是:负载均衡集群的意思:集群是一组相互独立的.通过高速网络互联的计算机相互之间构成一个组合,并以单一的系统的模式加以管理.LVS是Linux Virtual Server的简写,翻译中文是Linux虚拟服务器,是一个虚拟的服务器集群系统. 负载均衡集群:是为了企业提供更为实用,性价比更高的系统机构解决方案.负载均衡集群把用户的请求尽可能的平均分发到集群的各