nginx负载均衡高可用_第1页
nginx负载均衡高可用_第2页
nginx负载均衡高可用_第3页
nginx负载均衡高可用_第4页
nginx负载均衡高可用_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

-.z.ngin*负载均衡高可用什么是负载均衡高可用 ngin*作为负载均衡器,所有请求都到了ngin*,可见ngin*处于非常重点的位置,如果ngin*服务器宕机后端web服务将无法提供服务,影响严重。 为了屏蔽负载均衡服务器的宕机,需要建立一个备份机。主服务器和备份机上都运行高可用(HighAvailability)监控程序,通过传送诸如“Iamalive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间收到这样的信息时,它就接管主服务器的服务IP并继续提供负载均衡服务;当备份管理器又从主管理器收到“Iamalive”这样的信息时,它就释放服务IP地址,这样的主服务器就开始再次提供负载均衡服务。keepalived+ngin*实现主备什么是keepalived keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。 Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。keepalived工作原理 keepalived是以VRRP协议为实现基础的,VRRP全称VirtualRouterRedundancyProtocol,即虚拟路由冗余协议。 虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(VIP=VirtualIPAddress,虚拟IP地址,该路由器所在局域网其他机器的默认路由为该vip),master会发组播,当backup收不到VRRP包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。 keepalived主要有三个模块,分别是core、check和VRRP。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。VRRP模块是来实现VRRP协议的。详细参考:Keepalived权威指南中文.pdfkeepalived+ngin*实现主备过程初始状态ngin*负载均衡服务器ngin*负载均衡服务器(主)keepalivedngin*负载均衡服务器(备)keepalived心跳tomat服务器群主机宕机ngin*负载均衡服务器(主)ngin*负载均衡服务器(主)keepalivedngin*负载均衡服务器(备)keepalived心跳tomat服务器群主机恢复ngin*负载均衡服务器ngin*负载均衡服务器(主)keepalivedngin*负载均衡服务器(备)keepalived心跳tomat服务器群高可用环境安装keepalived 分别在主备ngin*上安装keepalived,参考“安装手册”进行安装:配置keepalived主ngin*修改主ngin*下/etc/keepalived/keepalived.conf文件!ConfigurationFileforkeepalived*全局配置global_defs{notification_email{*指定keepalived在发生切换时需要发送email到的对象,一行一个******.}notification_email_from******.*指定发件人*smtp_server***.smtp.*指定smtp服务器地址*smtp_connect_timeout30*指定smtp连接超时时间router_idLVS_DEVEL*运行keepalived机器的一个标识}vrrp_instanceVI_1{stateMASTER*标示状态为MASTER备份机为BACKUPinterfaceeth0*设置实例绑定的网卡virtual_router_id51*同一实例下virtual_router_id必须相同priority100*MASTER权重要高于BACKUP比如BACKUP为99advert_int1*MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒authentication{*设置认证auth_typePASS*主从服务器验证方式auth_pass8888}virtual_ipaddress{*设置vip192.168.101.100*可以多个虚拟IP,换行即可}}备ngin*修改备ngin*下/etc/keepalived/keepalived.conf文件配置备ngin*时需要注意:需要修改state为BACKUP,priority比MASTER低,virtual_router_id和master的值一致!ConfigurationFileforkeepalived*全局配置global_defs{notification_email{*指定keepalived在发生切换时需要发送email到的对象,一行一个******.}notification_email_from******. *指定发件人*smtp_server***.smtp. *指定smtp服务器地址*smtp_connect_timeout30*指定smtp连接超时时间router_idLVS_DEVEL*运行keepalived机器的一个标识}vrrp_instanceVI_1{stateBACKUP*标示状态为MASTER备份机为BACKUPinterfaceeth0*设置实例绑定的网卡virtual_router_id51*同一实例下virtual_router_id必须相同priority99*MASTER权重要高于BACKUP比如BACKUP为99advert_int1*MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒authentication{*设置认证auth_typePASS*主从服务器验证方式auth_pass8888}virtual_ipaddress{*设置vip192.168.101.100*可以多个虚拟IP,换行即可}}测试主备ngin*都启动keepalived及ngin*。servicekeepalivedstart./ngin*初始状态查看主ngin*的eth0设置:vip绑定在主ngin*的eth0上。查看备ngin*的eth0设置:vip没有绑定在备ngin*的eth0上。访问ccc.test.,可以访问。主机宕机将主ngin*的keepalived停止或将主ngin*关机(相当于模拟宕机),查看主ngin*的eth0:eth0没有绑定vip注意这里模拟的是停止keepalived进程没有模拟宕机,所以还要将ngin*进程也停止表示主ngin*服务无法提供。查看备ngin*的eth0:vip已经漂移到备ngin*。访问ccc.test.,可以访问。主机恢复将主ngin*的keepalived和ngin*都启动。查看主ngin*的eth0:查看备ngin*的eth0:vip漂移到主ngin*。查看备ngin*的eth0:eth0没有绑定vip访问:ccc.test.,正常访问。注意:主ngin*恢复时一定要将ngin*也启动(通常ngin*启动要加在开机启动中),否则即使vip漂移到主ngin*也无法访问。解决ngin*进程和keepalived不同时存在问题问题描述 keepalived是通过检测keepalived进程是否存在判断服务器是否宕机,如果keepalived进程在但是ngin*进程不在了则keepalived是不会做主备切换,所以我们需要写个脚本来监控ngin*进程是否存在,如果ngin*不存在就将keepalived进程杀掉。ngin*进程检测脚本 在主ngin*上需要编写ngin*进程检测脚本(check_ngin*.sh),判断ngin*进程是否存在,如果ngin*不存在就将keepalived进程杀掉,check_ngin*.sh容如下:*!/bin/bash*如果进程中没有ngin*则将keepalived进程kill掉A=`ps-Cngin*--no-header|wc-l`**查看是否有ngin*进程把值赋给变量Aif[$A-eq0];then**如果没有进程值得为零servicekeepalivedstop**则结束keepalived进程fi将check_ngin*.sh拷贝至/etc/keepalived下,脚本测试:将ngin*停止,将keepalived启动,执行脚本:sh/etc/keepalived/check_ngin*.sh从执行可以看出自动将keepalived进程kill掉了。修改keepalived.conf修改主ngin*的keepalived.conf,添加脚本定义检测:注意下边红色标识地方:*全局配置global_defs{notification_email{*指定keepalived在发生切换时需要发送email到的对象,一行一个******.}notification_email_frommiaoruntuitcast.*指定发件人*smtp_server***.smtp.*指定smtp服务器地址*smtp_connect_timeout30*指定smtp连接超时时间router_idLVS_DEVEL*运行keepalived机器的一个标识}vrrp_scriptcheck_ngin*{script"/etc/keepalived/check_ngin*.sh"**监控脚本interval2**时间间隔,2秒weight2**权重}vrrp_instanceVI_1{stateMASTER*标示状态为MASTER备份机为BACKUPinterfaceeth0*设置实例绑定的网卡virtual_router_id51*同一实例下virtual_router_id必须相同priority100*MASTER权重要高于BACKUP比如BACKUP为99advert_int1*MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒authentication{*设置认证auth_typePASS*主从服务器验证方式auth_pass8888}t

温馨提示

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

评论

0/150

提交评论