奥飞火千万电 发表于 2018-12-30 12:29:00

12 LVS+keepalived高可用群集

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网站群集平台
  ·实验环境:如图所示
LVS+keepalived高可用群集" />
  其中节点服务器都是双网卡
  ·配置主调度器
  1安装keepalived支持软件
  在编译安装Keepalived之前,必须先安装内核开发包kernel-devel以及openssl-devel、popt-devel等支持库(RHEL6中在装系统时如果勾选开发软件和开发工具,则会自动安装)LVS+keepalived高可用群集" />
  除此之外,在LVS群集环境中应用时,也需要用到ipvsadm管理工具,先加载ip_vs模块
LVS+keepalived高可用群集" />
LVS+keepalived高可用群集" />
  2编译安装Keepalived
  源码包从官网下载
  使用指定的linux内核位置对keepalived进行配置,并将安装路径指定为根目录,这样就无需额外创建链接文件了
LVS+keepalived高可用群集" />
LVS+keepalived高可用群集" />
  3配置为系统服务
  安装完后会自动生成/etc/init.d/keepalived脚本文件,但还需要手动添加为系统服务,这样就可以使用service、chkconfig工具来对keepalived服务程序进行管理了
LVS+keepalived高可用群集" />
  4主服务器的配置文件
  Keepalived服务的配置目录位于/etc/keepalived。其中keepalived.conf是主配置文件,另外包括一个子目录samples/,提供了许多配置样列作为参考。在keepalived的配置文件中,使用"global_defs {……}"区段指定全局参数。使用"vrrp_instance 实例名称 {……}"区段指定VRRP热备参数,注释文字以"!"符号开头
LVS+keepalived高可用群集" />
  全局参数
  只需定义ID即可,其它自定义或默认
LVS+keepalived高可用群集" />
  实例参数
  这里只需指定虚拟IP即可,实际环境中最好修改密码字串确保安全;其它全部默认
LVS+keepalived高可用群集" />
  优先级中,MASTER表示主服务器;SLAVE表示备用服务器;当有多台备用的服务器,热备状态改为 BACKUP,此状态是由 priority 的值来决定的,当前priority 的值小于备机的值,那么将会失去 MASTER 状态
  热备参数
  根据以下参数进行配置,其它多余内容全部删除即可
LVS+keepalived高可用群集" />
  5重启keepalived服务并配置防火墙
  重启服务配置生效,并设置防火墙使主从之间能够通信(VRRP协议的通告报文使用固定的组播地址224.0.0.18,用IP 报文作为传输协议进行协议报文的传送)
LVS+keepalived高可用群集" />
  ·配置从调度器
  从调度器的配置与主调度器基本相同,只需调整keepalived配置文件中的router_id、state、prority参数即可,其余内容完全相同
  安装支持软件
LVS+keepalived高可用群集" />
  安装keepalived软件包
LVS+keepalived高可用群集" />
LVS+keepalived高可用群集" />
LVS+keepalived高可用群集" />
  调整配置文件
  直接从主服务器中复制一份配置文件过来
LVS+keepalived高可用群集" />
  只需修改一下三处即可
LVS+keepalived高可用群集" />
  重启服务配置防火墙
LVS+keepalived高可用群集" />
  总结:在同一个keepalived热备组内,所有服务器的keepalived配置文件基本相同。不同之处主要在于服务器的名称标识、热备状态、优先级
  ·测试主、从服务器的配置
  当以上状态配置完成后,
实际状态为MASTER的主服务器取得VIP控制权,并将eth0接口自动添加VIP地址,通过ip addr show dev eth0命令可以查看(注意:ifconfig命令看不到)(我这里配置ip时为eth1)
主服务器
LVS+keepalived高可用群集" />
  从服务器
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的共享
LVS+keepalived高可用群集" />
  ·配置节点服务器
  节点服务器的配置与在DR模式中节点服务器的配置完全一样
  1调整/proc响应参数
LVS+keepalived高可用群集" />
LVS+keepalived高可用群集" />
LVS+keepalived高可用群集" />
  2配置虚拟IP地址
LVS+keepalived高可用群集" />
LVS+keepalived高可用群集" />
LVS+keepalived高可用群集" />
  3添加VIP本地访问路由
LVS+keepalived高可用群集" />
  4连接共享目录
LVS+keepalived高可用群集" />
LVS+keepalived高可用群集" />
  5安装httpd服务,开启服务并创建测试页
LVS+keepalived高可用群集" />
  6配置防火墙策略
LVS+keepalived高可用群集" />
  其他节点服务器同样的配置
  ·测试访问
  使用VIP进行访问
LVS+keepalived高可用群集" />
  在主调度器上观察
LVS+keepalived高可用群集" />
  在从调度器上观察
LVS+keepalived高可用群集" />
  模拟主调度器宕机(关闭网卡),再测试
  查看从调度器,可以看出从调度器自动担任了主调度器的角色
LVS+keepalived高可用群集" />
  至此有关LVS+keepalived群集配置完毕,这样即实现了lvs负载平衡又实现了调度器的热备



页: [1]
查看完整版本: 12 LVS+keepalived高可用群集