设为首页 收藏本站
查看: 1715|回复: 0

[经验分享] 12 LVS+keepalived高可用群集

[复制链接]
发表于 2018-12-30 12:29:00 | 显示全部楼层 |阅读模式
LVS+keepalived高可用群集

  一 Keepalived双机热备
  ·keepalived概述
  Keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障自动切换节点健状态检查功能,如判断LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后将其重新加入群集。在非LVS群集环境中使用时Keepalived也可以作为热备软件使用;官方网站:http://www.keepalived.org/
  ·keepalived的热备方式
  Keepalived采用VRRP(virtual router redundancy protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现linux服务器的多机热备功能
  VRRP是针对路由器的一种备份解决方案-----由多台路由器组成一个热备组。通过共用的虚拟IP地址对外提供服务;每个热备组内同一时刻只有一台主服务器提供服务,其他服务器处于冗余状态,若当前在线的服务器失败,其他服务器会自动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务
  热备组内的每台服务器都可以成为主服务器,虚拟IP地址(VIP)可以在热备组内的服务器之间进行转移,所以也称为漂移IP地址,使用Keepalived时,漂移地址的实现不需要手动建立虚拟接口配置文件(如eth0:0),而是由Keepalived根据配置文件自动管理
  二 LVS+keepalived高可用群集
  使用Keepalived构建LVS群集更加简便易用,主要优势体现在:对LVS负载调度器实现热备切换,提高可用性,对WEB服务器池中的节点进行分健康检查,自动移除失败节点,恢复后再重新加入
  在基于LVS-Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,两台以上的节点服务器,本例将以DR模式的LVS群集为基础,增加一台从负载调度器,使用Keepalived来实现主、从调度器的热备,从而构建建有负载均衡、高可用两种能力的LVS网站群集平台
  ·实验环境:如图所示
DSC0000.jpg LVS+keepalived高可用群集" />

  其中节点服务器都是双网卡
  ·配置主调度器
  1安装keepalived支持软件
  在编译安装Keepalived之前,必须先安装内核开发包kernel-devel以及openssl-devel、popt-devel等支持库(RHEL6中在装系统时如果勾选开发软件和开发工具,则会自动安装) DSC0001.jpg LVS+keepalived高可用群集" />
  除此之外,在LVS群集环境中应用时,也需要用到ipvsadm管理工具,先加载ip_vs模块
DSC0002.jpg LVS+keepalived高可用群集" />

DSC0003.jpg LVS+keepalived高可用群集" />

  2编译安装Keepalived
  源码包从官网下载
  使用指定的linux内核位置对keepalived进行配置,并将安装路径指定为根目录,这样就无需额外创建链接文件了
DSC0004.jpg LVS+keepalived高可用群集" />

DSC0005.jpg LVS+keepalived高可用群集" />

  3配置为系统服务
  安装完后会自动生成/etc/init.d/keepalived脚本文件,但还需要手动添加为系统服务,这样就可以使用service、chkconfig工具来对keepalived服务程序进行管理了
DSC0006.jpg LVS+keepalived高可用群集" />

  4主服务器的配置文件
  Keepalived服务的配置目录位于/etc/keepalived。其中keepalived.conf是主配置文件,另外包括一个子目录samples/,提供了许多配置样列作为参考。在keepalived的配置文件中,使用"global_defs {……}"区段指定全局参数。使用"vrrp_instance 实例名称 {……}"区段指定VRRP热备参数,注释文字以"!"符号开头
DSC0007.jpg LVS+keepalived高可用群集" />

  全局参数
  只需定义ID即可,其它自定义或默认
DSC0008.jpg LVS+keepalived高可用群集" />

  实例参数
  这里只需指定虚拟IP即可,实际环境中最好修改密码字串确保安全;其它全部默认
DSC0009.jpg LVS+keepalived高可用群集" />

  优先级中,MASTER表示主服务器;SLAVE表示备用服务器;当有多台备用的服务器,热备状态改为 BACKUP,此状态是由 priority 的值来决定的,当前priority 的值小于备机的值,那么将会失去 MASTER 状态
  热备参数
  根据以下参数进行配置,其它多余内容全部删除即可
DSC00010.jpg LVS+keepalived高可用群集" />

  5重启keepalived服务并配置防火墙
  重启服务配置生效,并设置防火墙使主从之间能够通信(VRRP协议的通告报文使用固定的组播地址224.0.0.18,用IP 报文作为传输协议进行协议报文的传送)
DSC00011.jpg LVS+keepalived高可用群集" />

  ·配置从调度器
  从调度器的配置与主调度器基本相同,只需调整keepalived配置文件中的router_id、state、prority参数即可,其余内容完全相同
  安装支持软件
DSC00012.jpg LVS+keepalived高可用群集" />

  安装keepalived软件包
DSC00013.jpg LVS+keepalived高可用群集" />

DSC00014.jpg LVS+keepalived高可用群集" />

DSC00015.jpg LVS+keepalived高可用群集" />

  调整配置文件
  直接从主服务器中复制一份配置文件过来
DSC00016.jpg LVS+keepalived高可用群集" />

  只需修改一下三处即可
DSC00017.jpg LVS+keepalived高可用群集" />

  重启服务配置防火墙
DSC00018.jpg LVS+keepalived高可用群集" />

  总结:在同一个keepalived热备组内,所有服务器的keepalived配置文件基本相同。不同之处主要在于服务器的名称标识、热备状态、优先级
  ·测试主、从服务器的配置
  当以上状态配置完成后,
实际状态为MASTER的主服务器取得VIP控制权,并将eth0接口自动添加VIP地址,通过ip addr show dev eth0命令可以查看(注意:ifconfig命令看不到)(我这里配置ip时为eth1)
主服务器
DSC00019.jpg LVS+keepalived高可用群集" />

  从服务器
DSC00020.jpg LVS+keepalived高可用群集" />

  备用服务器中将不会为eth0接口添加VIP地址
  Keepalived的日志消息保存在/var/log/messages文件中,在测试主、从故障自动切换功能时,可以跟踪此日志文件来观察热备状态的变化
  在internet的测试机上执行ping 172.16.16.172 –t,(172.16.16.172为VIP地址),能够正常ping通,说明主服务器以接管VIP地址,并及时响应客户机的请求
  禁用主服务器的eth0网卡,发现ping测试会中断3~4个包即恢复正常,说明已有其他服务器接替VIP地址,并及时响应客户机的请求
  重新启用主服务器的eth0网卡,发现ping测试再次中断3~4个包即恢复正常,说明主服务器已恢复正常,并夺回VIP地址的控制权
  在上述过程中可以查看日志记录来了解MASTER、SLAVE状态的迁移记录
  ·配置共享存储服务器
  配置如下
  修改/etc/exports文件,内容如下:
  /opt/wwwroot 192.168.7.0/24(rw,sync,no_root_squash)
  允许192.168.7.0/24网段的主机访问NFS的共享
DSC00021.jpg LVS+keepalived高可用群集" />

  ·配置节点服务器
  节点服务器的配置与在DR模式中节点服务器的配置完全一样
  1调整/proc响应参数
DSC00022.jpg LVS+keepalived高可用群集" />

DSC00023.jpg LVS+keepalived高可用群集" />

DSC00024.jpg LVS+keepalived高可用群集" />

  2配置虚拟IP地址
DSC00025.jpg LVS+keepalived高可用群集" />

DSC00026.jpg LVS+keepalived高可用群集" />

DSC00027.jpg LVS+keepalived高可用群集" />

  3添加VIP本地访问路由
DSC00028.jpg LVS+keepalived高可用群集" />

  4连接共享目录
DSC00029.jpg LVS+keepalived高可用群集" />

DSC00030.jpg LVS+keepalived高可用群集" />

  5安装httpd服务,开启服务并创建测试页
DSC00031.jpg LVS+keepalived高可用群集" />

  6配置防火墙策略
DSC00032.jpg LVS+keepalived高可用群集" />

  其他节点服务器同样的配置
  ·测试访问
  使用VIP进行访问
DSC00033.jpg LVS+keepalived高可用群集" />

  在主调度器上观察
DSC00034.jpg LVS+keepalived高可用群集" />

  在从调度器上观察
DSC00035.jpg LVS+keepalived高可用群集" />

  模拟主调度器宕机(关闭网卡),再测试
  查看从调度器,可以看出从调度器自动担任了主调度器的角色
DSC00036.jpg LVS+keepalived高可用群集" />

  至此有关LVS+keepalived群集配置完毕,这样即实现了lvs负载平衡又实现了调度器的热备




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-657578-1-1.html 上篇帖子: nginx+keepalived做高可用 下篇帖子: MySQL双主双活+Keepalived高可用方案关建配置点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表