Keepalived + LVS-DR搭建高可用Web服务器集群

栏目: 服务器 · 发布时间: 5年前

内容简介:导航:keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived是自动完成,不需人工干涉,需要人工做的只是修复故障的web服务器。Layer3,4&5工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下:Layer3:Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Kee

导航:

  • Keepalived概述
  • LVS概述
  • 编译安装keepalived
  • 配置主调度器
  • 双机热备

    一、Keepalived概述

keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived是自动完成,不需人工干涉,需要人工做的只是修复故障的web服务器。

Layer3,4&5工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下:Layer3:Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。Layer3的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。Layer4主要以TCP端口的状态来决定服务器工作正常与否。

如webserver的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。Layer5:Layer5就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除。

二、LVS概述

LVS,Linux virtual server,Linux虚拟服务器,是一个虚拟的服务集群系统,本项目是1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。

LVS集群采用IP负载均衡技术,属于IP层的交换(L4)具有很好的吞吐率。调度器分析客户端到服务器的IP报头信息,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。主要包含四大部分:

负载调度器(loadbalancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址上的。当客户请求到达时,调度器只根据负载情况从服务器池中选出一个服务器,将该请求转发到选出的服务器,并记录这个调度;

服务器池(serverpool),是一组真正执行客户请求的服务器,执行的任务有WEB、MAIL、FTP和DNS等。服务器池的结点数目是可变的,当整个系统收到的负载超过目前所有结点的处理能力时,可以在服务器池中增加服务器来满足不断增长的请求负载

后端存储(backend storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务

Graphic Monitor是为系统管理员提供整个集群系统的监视器,它可以监视系统中每个结点的状况。

LVS+keepalived架构图

Keepalived + LVS-DR搭建高可用Web服务器集群

测试环境:

名称 操作系统 IP地址

LVS-Master Centos7.3-x86_64 192.168.92.134

LVS-Backup Centos7.3-x86_64 192.168.92.135

WebserverA Centos7.3-x86_64 192.168.1.103

WebserverB Centos7.3-x86_64 192.168.1.105

Client Windows10x86_64 192.168.1.101

三、编译安装keepalived

安装所需的软件 (以下是Master操作)

yum install -y openssl-devel popt-devel && yum install -y ipvsadm && wget http://www.keepalived.org/software/keepalived-1.2.13.tar.gz && cd /root && tar zxf keepalived-1.2.13.tar.gz && cd keepalived-1.2.13/ && ./configure --prefix=/ && make && make install && chkconfig --add keepalived && chkconfig keepalived on

keepalived装完给backup装,一样的操作。

四、配置主调度器

安装完成后主配置文件目录:/etc/keepalived/keepalived.conf中,打开主配置修改如下:

vim /etc/keepalived/keepalived.conf

Keepalived + LVS-DR搭建高可用Web服务器集群

Keepalived + LVS-DR搭建高可用Web服务器集群

从调度器和主的差不多,直接上我的,对比修改

Keepalived + LVS-DR搭建高可用Web服务器集群

修改完成后,master和backup的主配置文件到这里已经结束了。接下来启动keepalived,查看IP地址

Keepalived + LVS-DR搭建高可用Web服务器集群 以上图中可以看到vip地址已经承载到了这块网卡上,接下来启动从服务器查看IP地址

Keepalived + LVS-DR搭建高可用Web服务器集群

从服务器没有VIP,当master服务器宕机才会有。

3)接下来在主服务器查看节点的状态

现在就一个VIP没有导向RS,接下来配置RS

在Web1和Web2上导入测试页面,得有httpd,yum安装就成,

Web1(RS1)

echo "This is httpA" > /var/www/html/index.html

httpd 启动 ,防火墙 关闭,selinux 关闭,

Keepalived + LVS-DR搭建高可用Web服务器集群

Web2(RS2)

Keepalived + LVS-DR搭建高可用Web服务器集群

再次查看主服务器的节点状态,查看是否有webA&B

Keepalived + LVS-DR搭建高可用Web服务器集群

有负载就ok了

接下来取浏览器测试192.168.1.150

Keepalived + LVS-DR搭建高可用Web服务器集群

Keepalived + LVS-DR搭建高可用Web服务器集群

五、接下来测试双机热备

在这里我们先看一下master和backup的ip信息。

Keepalived + LVS-DR搭建高可用Web服务器集群

从服务器

Keepalived + LVS-DR搭建高可用Web服务器集群

把master宕机再恢复之后从服务器IP的改变对照

Keepalived + LVS-DR搭建高可用Web服务器集群

正如开头所说,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器,这样就实现了高可用。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

构建高可用Linux服务器

构建高可用Linux服务器

余洪春 / 机械工业出版社华章公司 / 2011-11-1 / 79.00元

资深Linux/Unix系统管理专家兼架构师多年一线工作经验结晶,51CTO和ChinaUnix等知名社区联袂推荐。结合实际生产环境,从Linux虚拟化、集群、服务器故障诊断与排除、系统安全性等多角度阐述构建高可用Linux服务器的最佳实践。本书实践性非常强,包含大量企业级的应用案例及相应的解决方案,读者可以直接用这些方案解决在实际工作中遇到的问题。 全书一共10章。第1章以作者的项目实践为......一起来看看 《构建高可用Linux服务器》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试