waid 发表于 2018-12-30 09:09:36

RHEL6搭建 keepalived (HA) 任意单故障节点的高可用集群

  搭建 keepalived (HA) 任意单故障节点的高可用集群
  

  实验拓扑图:
  http://s1.运维网.com/images/20180115/1515978812612287.jpg
  实验要求:
  
  使用Keepalived实现web服务器的高可用
  Web服务器IP地址分别为192.168.4.53和192.168.4.54
  Web服务器53 为主服务器,Web服务器54为备服务器
  Web服务器的VIP地址为192.168.4.251
  客户端通过访问VIP地址访问Web页面
  

  实验步骤:
  实验准备
      配置yum源
    # service iptables stop            //关闭防火墙
    # chkconfig iptables off            //关闭开机自启
    # setenforce 0                            //设置SELinux 为宽松模式
    配置WEB服务器pc53 / pc54
    #yum -y install httpd
    #service httpd start
    #chkconfig httpd on
    #echo " 192.168.4.53" > /var/www/html/test.html
    #echo " 192.168.4.54 " > /var/www/html/test.html
  


  

  1 在高可用集群主机上安装 keepalived
  # yum list | grep keepalived
  keepalived.x86_64                      1.2.13-5.el6_6                  LoadBalancer
  # yum -y install keepalived
  # rpm -qc keepalived
  /etc/keepalived/keepalived.conf//主配置文件
  /etc/sysconfig/keepalived
  2 分别修改服务的主配置文件
  # cp /etc/keepalived/keepalived.conf /root///备份主配置文件
  # vim /etc/keepalived/keepalived.conf
  ...
  vrrp_instance webha {
  state MASTER// 描述信息MASTER为主服务器
  interface eth0      // 定义网络接口
  virtual_router_id 51          //主 备VRID号必须一致
  priority 150//服务器优先级
  advert_int 1
  authentication {
  auth_type PASS      //验证方式
  auth_pass 123456//验证密码   主备服务器密码必须一致
  }
  virtual_ipaddress {
  192.168.4.251//VIP地址
  }
  }
  ...         //为了方便实验 32行以下 可以全部删除

在一个一主多备的Keepalived集群中,“priority”值最大的将成为集群中的Master节点,而其他都是Backup节点。在Master节点发生故障后,Backup节点之间将进行“民主选举”,通过对节点优先级值“priority”和““weight”的计算,选出新的Master节点接管集群服务。
  # vim /etc/keepalived/keepalived.conf
  ...
  vrrp_instance webha {
  state BACKUP            // 描述信息 BACKUP为备用服务器
  interface eth0
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 123456
  }
  virtual_ipaddress {
  192.168.4.251
  }
  }
  ...
  //为了方便实验 32行以下 可以全部删除
  3 分别启动keepalived服务
  # service keepalived start//启动服务
  4 在高可用集群主机上分别查看是否获取VIP地址
  # ip addr show//查看主机上的虚拟IP地址
  # ip addr show | grep 192.168.4
  inet 192.168.4.53/24 brd 192.168.4.255 scope global eth0
  inet 192.168.4.251/32 scope global eth0
  # ip addr show | grep 192.168.4
  inet 192.168.4.54/24 brd 192.168.4.255 scope global eth0
  //客户端测试
  # elinks --dump 192.168.4.251/test.html
  192.168.4.53
  # elinks --dump 192.168.4.251/test.html
  192.168.4.53
  模拟 主机53 故障测试高可用
  # service keepalived stop
  # ip addr show | grep 192.168.4
  inet 192.168.4.53/24 brd 192.168.4.255 scope global eth0
  # ip addr show | grep 192.168.4
  inet 192.168.4.54/24 brd 192.168.4.255 scope global eth0
  inet 192.168.4.251/32 scope global eth0
  //客户端测试
  # elinks --dump 192.168.4.251/test.html
  192.168.4.54
  # elinks --dump 192.168.4.251/test.html
  192.168.4.54
  模拟修复 主机53 故障
  # service keepalived start
  # ip addr show | grep 192.168.4
  inet 192.168.4.53/24 brd 192.168.4.255 scope global eth0
  inet 192.168.4.251/32 scope global eth0
  # ip addr show | grep 192.168.4
  inet 192.168.4.54/24 brd 192.168.4.255 scope global eth0
  //客户端测试
  # elinks --dump 192.168.4.251/test.html
  192.168.4.53
  # elinks --dump 192.168.4.251/test.html
  192.168.4.53
  如果53 网站服务 停止 其VIP地址不会释放
  可以通过脚本 监测当80端口 down 的时候 自动关闭 keepalived 服务
  使用周期性计划任务 定时执行次脚本
  


  

  

  

  

  

  

  




页: [1]
查看完整版本: RHEL6搭建 keepalived (HA) 任意单故障节点的高可用集群