云计算集群技术与应用- 教案-教学设计 第05章 Keepalived高可用集群方案_第1页
云计算集群技术与应用- 教案-教学设计 第05章 Keepalived高可用集群方案_第2页
云计算集群技术与应用- 教案-教学设计 第05章 Keepalived高可用集群方案_第3页
云计算集群技术与应用- 教案-教学设计 第05章 Keepalived高可用集群方案_第4页
云计算集群技术与应用- 教案-教学设计 第05章 Keepalived高可用集群方案_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云计算集群技术与应用教学设计课程名称:云计算集群技术与应用__授课年级:_______________________授课学期:_______________________教师姓名:_______________________年月日课程名称第5章Keepalived高可用集群方案计划学时6学时内容分析本章主要介绍Keepalived高可用集群方案的相关知识,包含高可用集群简介、Keepalived、Keepalived高可用服务-单主模式实例、Keepalived高可用服务-双主模式实例。教学目标与教学要求【知识目标】理解高可用集群的三个阶段。理解高可用集群的工作模式。理解Keepalived工作原理。理解Keepalived主要功能。理解Keepalived模块与配置文件。【技能目标】掌握部署Keepalived高可用服务-单主模式。掌握部署Keepalived高可用服务-双主模式。【思政育人目标】启发学生树立牢固专业基础,正确方法引导以及浓厚人文修养和家国情怀。引导学生透过表象探求本质的科学精神。锻炼学生的专业技能,提高创新能力,增强专业综合素质及运维应用能力。教学重点高可用集群的三个阶段、Keepalived工作原理、Keepalived高可用服务-单主模式、Keepalived高可用服务-双主模式教学难点Keepalived高可用服务-单主模式、Keepalived高可用服务-双主模式教学方式课堂讲解配合ppt演示2学时,上机演练4学时教学过程第一学时(高可用集群简介、Keepalived)一、提出需求,导入学习任务(1)思考Keepalived高可用集群的学习应该从何入手。公司对外发布的业务系统(例如共享单车),每天有大量的用户使用,是不可以出现故障的,如何保障业务的不中断呢。引出部署高可用集群。(2)明确学习方向。理解高可用集群的三个阶段。理解高可用集群的工作模式。理解Keepalived工作原理。Keepalived模块与配置文件二、知识讲解(一)高可用集群简介1.高可用集群的实现原理高可用集群最大程度地保证了用户服务7*24小时(一周之内)可用,当集群中的某个节点或服务器发生故障时,另一个节点或服务器将在几秒钟之内自动接替它,继续对外提供服务。对于用户而言,这几秒钟时间并不会造成太大的损失,所以业务不会因服务问题受到影响,且这一切对于用户而言是不可知的。2.高可用集群的三个阶段自动侦测(Auto-Detect)阶段是主机上的软件通过冗余侦测线,经过复杂的监听程序和逻辑判断来相互侦测对方,常用的方法是集群中的各节点通过心跳信息来判断节点是否出现故障。自动切换阶段是,当某一服务器确认对方故障,则该服务器替代故障服务器继续进行之前的任务。自动恢复(FailBack)是指在故障转移后,通过手动维护后,再将服务或网络资源恢复为已修好的主机。3.高可用集群的工作模式Active/Passive(主备模式)Active/Active(双主模式)N+1模式N+M模式N-to-1模式(二)KeepalivedKeepalived是集群管理当中保证集群高可用的一个服务软件,主要用来防止单点故障。它可以自动侦测服务器状态、移除故障服务器、切换到正常运行的服务器、添加修复的服务器到集群中。1.Keepalived工作原理Keepalived是基于VRRP(VirtualRouterRedundancyProtocol,虚拟路由冗余协议)实现的。虚拟路由冗余协议,可以认为是实现路由器高可用的协议,将N台提供相同功能的服务器组成一个服务器组,该组中有一个Master和多个Backup,Master上面有一个对外提供服务的VIP(该服务器所在局域网内其他机器的默认路由为该VIP)。2.Keepalived主要功能Keepalivd的核心为失败切换和健康检查。失败切换主要是指配置主备模式的服务,利用VRRP维持主备服务的心跳,当主服务器故障时,由备用节点继续提供服务,解决静态路由的单点故障问题。健康检测功能是采用TCP三次握手、ICMP请求、HTTP请求、UDPecho请求等方式对负载均衡器后端的真实服务器(通常指承载真实业务的服务器)进行保活。3.Keepalived模块与配置文件(1)Keepalived结构简单,扩展性强,是一个高度模块化的软件,主要有3个模块,分别是CORE、CHECK和VRRP。CORE模块为Keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。CHECK负责健康检查,包括常见的几种检查方式。VRRP模块用于实现VRRP协议。(2)Keepalived主要有三类区域配置,注意不是三种配置文件,是一个配置文件里面三种不同类别的配置区域。全局配置(GlobalConfiguration)VRRPD配置LVS配置三、知识巩固(1)回顾上课前的学习目标,对本节课知识点进行总结。(2)使用第5章课后作业。第二学时(Keepalived高可用服务-单主模式实例、Keepalived高可用服务-双主模式实例)一、回顾上节课内容(1)对上节课布置的作业以及学生提出的问题进行答疑解惑。(2)回顾上节课内容,引出本节课主题。(3)明确学习方向。掌握部署Keepalived高可用服务-单主模式。掌握部署Keepalived高可用服务-双主模式。二、知识讲解(一)Keepalived高可用服务-单主模式实例1.Keepalived单主架构结合第2章Nginx负载均衡Web服务集群的环境搭建Keepalived高可用Web集群。本节案例配置Keepalived单主模式,即一台Keepalived主服务器和多台Keepalived备服务器共用一个虚拟IP(VIP)提供服务,也可以称为主备模式。Keepalived单主模式集群架构图。2.环境准备部署Nginx负载均衡的高可用案例,通过部署Keepalived和Web服务,演示高可用的效果。准备4台VM虚拟机(或者物理服务器),一台作为Keepalived主节点(lb01),一台作为Keepalived备节点(lb02),其他两台作为后台真实服务器分别为web1和web2,具体如表。IP主机名服务0lb01Keepalived主节点+Nginx负载均衡2lb02Keepalived备节点+Nginx负载均衡3web1Web服务4web2Web服务3.Keepalived主节点配置(1)查看本机是否安装Keepalived软件。[root@lb01~]#rpm-qakeepalived安装Keepalived软件。[root@lb01~]#yum-yinstallkeepalived(2)在Keepalived的配置文件中进行修改,修改后的文件。1!ConfigurationFileforkeepalived23global_defs{4notification_email{51261318-@6}8smtp_server9smtp_connect_timeout3010router_idlb01 #设备在组中的标识,设置不一样即可11}1213vrrp_instanceVI_1{ #VI_1。实例名两台路由器相同。注意区分。14stateMASTER #主或者从状态15interfaceens33 #监控网卡16virtual_router_id51 #定义虚拟路由标识VRID,主备相同17priority100 #优先级18advert_int1 #心跳间隔19authentication{ #密钥认证(1-8位),主备保持一致20auth_typePASS21auth_pass111122}23virtual_ipaddress{ #虚拟IP,VIP240/2425}26}(3)Keepalived配置完成后,启动Keepalived服务,并设置为开机自启。[root@lb01~]#systemctlstartkeepalived[root@lb01~]#systemctlenablekeepalived(4)接下来检查是否有虚拟IP[root@lb01~]#ipa|grep"0"inet0/24scopeglobalsecondaryens33Keepalived服务单主实例配置完成。4.Keepalived备节点配置(1)查看本机是否安装Keepalived软件。[root@lb02~]#rpm-qakeepalived安装Keepalived软件。[root@lb02~]#yum-yinstallkeepalived(2)修改Keepalived备节点(lb02)的配置文件。[root@lb02~]#vim/etc/keepalived/keepalived.conf1!ConfigurationFileforkeepalived23global_defs{4notification_email{51261318-@6}8smtp_server9smtp_connect_timeout3010router_idlb0211}1213vrrp_instanceVI_1{14stateBACKUP15interfaceens3316virtual_router_id5117priority9018advert_int119authentication{20auth_typePASS21auth_pass111122}23virtual_ipaddress{240/2425}26}由上述结果可知,修改了route_id为lb02,state为BACKUP,优先级priority为90,其值低于主节点。(3)启动Keepalived服务,并设置为开机自启。[root@lb02~]#systemctlstartkeepalived[root@lb02~]#systemctlenablekeepalived(4)接下来检查是否有虚拟IP。[root@lb02~]#ipa|grep"0"由上述结果可知,并没有返回虚拟IP,这是由于同一个VIP只能出现在一台服务器上。主节点运行正常并且正在接管VIP,所以备节点不显示VIP。(5)在主节点存活的状态下,备节点若也显示VIP的地址,则出现“脑裂”的问题了。发生脑裂的原因:高可用服务器之间的心跳信息传输故障,比如网卡损坏、IP冲突等。开启了iptables防火墙阻挡了IP或者VRRP协议传输心跳消息。配置文件中的参数配置错误,如virtual_router_id参数不一致等。(6)为了测试备节点是否能正常接管VIP,需要停掉主节点服务器或者关闭主节点的Keepalived服务,模拟主节点故障或宕机。[root@lb01~]#systemctlstopkeepalived(7)关闭主节点的Keepalived服务后,查看备节点的虚拟IP.[root@lb02~]#ipa|grep"0"inet0/24scopeglobalsecondaryens33由上述结果可知,备节点成功接管了VIP。(8)接着启动主节点的Keepalived服务,验证主节点能否恢复VIP的接管,具体如下所示。[root@lb01~]#systemctlrestartkeepalived[root@lb01~]#ipa|grep"0"inet0/24scopeglobalsecondaryens33由上述结果可知,单主模式下Keepalived成功实现IP的自动切换。5.在主备节点上配置Nginx负载均衡(详细步骤见第5章PPT)(1)首先在lb01和lb02部署Nginx负载均衡器,安装Nginx软件。[root@lb01~]#yum-yinstallnginx(2)修改lb01和lb02的Nginx配置文件/etc/nginx/nginx.conf,添加相关服务器组。(3)配置完成后启动Nginx,并设置为开机自启。(4)查看Web节点端口是否开启,以保证Web页面的正常访问。[root@web1~]#lsof-i:80[root@web2~]#lsof-i:80(5)为Web服务器创建测试页面。#切换web1端,创建Web页面[root@web1~]#cat/usr/share/nginx/html/index.htmlloading......web1#切换web2端,创建Web页面[root@web2~]#cat/usr/share/nginx/html/index.htmlloading......web26.Nginx+Keepalived高可用集群单主模式测试(1)在本地客户端浏览器访问VIP,可以按Ctrl+F5强制刷新页面,会出现如下两种页面。在Keepalived主节点运行正常的情况下,能顺利访问到后端真实服务器。(2)接下来,关闭Keepalived主节点或停止Keepalived主节点的Keepalived服务,模拟主节点宕机。[root@lb01~]#systemctlstopkeepalived[root@lb01~]#ipa|grep"0"(3)重新访问VIP。(4)客户端仍可正常访问Web服务集群,这是因为备节点接管了VIP资源。[root@lb02~]#ipa|grep"0"inet0/24scopeglobalseco(二)Keepalived高可用服务-双主模式实例1.Keepalived双主架构(1)Keepalived主备模式下,备节点的机器基本上属于空闲状态,浪费了硬件资源。在高可用的原则上让Keepalived互为主备,构建双主模式,配置多个实例。Keepalived双主模式,即两台Keepalived服务器互为主备,使用两个虚拟IP(VIP)提供服务。(2)Keepalived双主模式集群架构图如图5.4所示。2.环境准备在5.3节已经详细讲解了Keepalived高可用集群的单主方案,此处可使用当时的系统环境。web1和web2运行A业务,再添加2台Web服务器运行B业务,具体如表。IP主机名服务0lb01Keepalived主节点+Nginx负载均衡2lb02Keepalived备节点+Nginx负载均衡3web1Web服务(模拟运行A业务)4web2Web服务(模拟运行A业务)5web3Web服务(模拟运行B业务)6web4Web服务(模拟运行B业务)3.Keepalived节点配置(1)修改lb01节点的Keepalived配置文件,再添加一个实例vrrp_instanceVI_2。[root@lb01~]#vi/etc/keepalived/keepalived.conf!ConfigurationFileforkeepalivedglobal_defs{notification_email{1261318-@}notification_email_fromAlexandre.Cassen@firewall.locsmtp_serversmtp_connect_timeout30router_idlb01}vrrp_instanceVI_1{stateMASTERinterfaceens33virtual_router_id51priority100advert_int1authentication{auth_typePASSauth_pass1111}virtual_ipaddress{0/24}}vrrp_instanceVI_2{stateBACKUPinterfaceens33virtual_router_id52priority90advert_int1authentication{auth_typePASSauth_pass1111}virtual_ipaddress{1/24}}(2)修改lb02节点的Keepalived配置文件,添加一个实例vrrp_instanceVI_2。[root@lb02~]#cat/etc/keepalived/keepalived.conf!ConfigurationFileforkeepalivedglobal_defs{notification_email{1261318-@}notification_email_fromAlexandre.Cassen@firewall.locsmtp_serversmtp_connect_timeout30router_idlb02}vrrp_instanceVI_1{stateBACKUPinterfaceens33virtual_router_id51priority90advert_int1authentication{auth_typePASSauth_pass1111}virtual_ipaddress{0/24}}vrrp_instanceVI_2{stateMASTERinterfaceens33virtual_router_id52priority100advert_int1authentication{auth_typePASSauth_pass1111}virtual_ipaddress{1/24}}对于新建虚拟IP(1)来说,lb01成为lb02的备节点,且优先级低于主节点。(3)Keepalived两个节点重新启动Keepalived服务。(4)查看lb01端,查看虚拟IP的接管状态。[root@lb01~]#ipa|egrep"0|1"inet0/24scopeglobalsecondaryens33(5)查看lb02端,查看虚拟IP的接管状态。[root@lb02~]#ipa|egrep"0|1"inet1/24scopeglobalsecondaryens33(6)修改lb01和lb02负载均衡器Nginx的配置文件,添加一个server模块。(7)修改完Nginx配置文件,重启Nginx服务。4.配置Web服务端编辑Web集群的Web访问页面。[root@web1~]#cat/usr/share/nginx/html/index.htmlAbusinessloading......web1[root@web2~]#cat/usr/share/nginx/html/index.htmlAbusinessloading......web2[root@web3~]#cat/usr/share/nginx/html/index.htmlBbusinessloading......web3[root@web4~]#cat/usr/share/nginx/html/index.htmlBbusinessloading......web45.Nginx+Keepalived高可用集群双主模式测试(1)在本地客户端浏览器访问VIP(1),可以按Ctrl+F5强制刷新页面,会出现如下两种页面。在Keepalived所有节点运行正常的情况下,能顺利访问到后端真实服务器。(2)接下来,关闭lb01主机或停止lb01主机的Keepalived服务,模拟lb01宕机。[root@lb02~]#systemctlstopkeepalived(3)重新访问VIP(0)。客户端依然能正常访问后端B业务。(4)检查lb01和lb02对虚拟IP的接管状态。[root@lb01~]#ipa|egrep"0|1"inet1/24scopeglobalsecondaryens33inet0/24scopeglobalsecondaryens33[root@lb02~]#ipa|egrep"0|1"由上述结果可知,VIP(1)被lb02释放后,接着被另一台服务器接管。(5)再次启动lb02的Keepalived服务查看lb01和lb02对虚拟IP的接管状态。[root@lb01~]#ipa|egrep"0|1"inet0/24scopeglobalsecondaryens33[root@lb02~]#ipa|egrep"0|1"inet1/24scopeglobalsecondaryens33由上述结果可知,lb01、lb02主备节点可以实现VIP的互相切换,有效地体现了Keepalived

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论