• keepalived实现双机热备


    keepalived的作用是检测后端TCP服务的状态,如果有一台提供TCP服务的后端节点死机,或者工作出现故障,keepalived会及时检测到,并将有故障的节点从系统中剔除,当提供TCP服务的节点恢复并且正常提供服务后keepalived会自动将TCP服务的节点加入到集群中。这些工作都是keepalived自动完成,不需要人工干涉,需要人工做的只是修复发生故障的服务器,以下通过示例来演示。

      前提:为了测试能顺利进行,需先关闭selinux和firewalld。

      测试环境如下:

    keepalived主机: 10.0.0.20
    
    keepalived备机: 10.0.0.21
    http服务器1:   10.0.0.22
    http服务器2:   10.0.0.23
    VIP :       10.0.0.100

    一、两台http服务器的安装

      1、  两台机均安装httpd

    $ sudo yum install -y httpd

    2、  添加首页

    $ sudo -i
     
    #http服务器1设置
    # echo10.0.0.22” >/var/www/html/index.html
     
    #http服务器2设置
    # echo10.0.0.23” >/var/www/html/index.html

    3、  启动并设置开机启动httpd

    $ sudo systemctl start httpd
    $ sudo systemctl enable httpd

    二、两台keepalived主机的设置

      1、  两台机均安装keepalived

    #安装依赖文件与keepalive
     
    $ sudo yum install -y openssl openssl-devel keepalived

      2、  keepalived主机配置

    $ sudo vim /etc/keepalived/keepalived.conf
     
      vrrp_instance VI_1 {
        #指定该节点为主节点,备用节点设置为BACKUP
        state MASTER
     
        #绑定虚拟IP的网络接口
        interface eno16777736
     
        #VRRP组名,两个节点设置一样,以指明各个节点同属一VRRP组
        virtual_router_id 51
     
        #主节点的优先级,数值在1~254,注意从节点必须比主节点的优先级别低
        priority 50
     
        ##组播信息发送间隔,两个节点需一致
        advert_int 1
     
        #设置验证信息,两个节点需一致
        authentication{
          auth_type PASS
          auth_pass 1111
        }
     
        #指定虚拟IP,两个节点需设置一样
        virtual_ipaddress{
          10.0.0.100
        }
     }
    #虚拟IP服务
    virtual_server 10.0.0.100 80 {
        #设定检查间隔
        delay_loop 6
     
       #指定LVS算法
        lb_algo rr
     
       #指定LVS模式
        lb_kind NAT
        nat_mask 255.255.255.0
     
       #持久连接设置,会话保持时间
       persistence_timeout 50
     
       #转发协议为TCP
       protocol TCP
     
      #后端实际TCP服务配置
      real_server 10.0.0.22 80 {
         weight 1
      }
     
      real_server 10.0.0.23 80 {
         weight 1
      }
    }

    3、   keepalived备机的keepalived.conf的配置,不同之处如下:

    state BACKUP
    priority 30
     
    #其它配置跟keepalived主机相同

    /etc/keepalived/keepalived.conf为keepalived的主配置文件。以上配置state表示主节点为10.0.0.20,副节点为10.0.0.21。虚拟为IP10.0.0.100。后端的真实服务器为10.0.0.22和10.0.0.23,当通过10.0.0.100访问web服务器时,自动转到后端真实服务器,后端节点的权重相同,类似轮询的模式。

    (检查mysql服务器,估计需要写一个脚本,定制执行检查脚本)

    三、keepalived的启动与测试

    1、  启动keepalived

    $ sudo systemctl start keepalived
    $ sudo systemctl enable keepalived

    2、  查看keepalived主机的IP

    $ ip addr show

    四、测试结果

      1、  测试前查看keepalived主机和备机的IP,结果如图:

    2、  重启keepalived主机后,查看keepalived备机的IP显示

    以上测试结果说明,当keepalived备机在keepalived主机宕机的情况会自动接管了资源。但待keepalived主机恢复正常的时候,主机会重新接管资源。

    技巧: 可以用tail 命令查看启动日志的变化

    转 :  https://www.cnblogs.com/jefflee168/p/7442127.html

  • 相关阅读:
    PHP应用目录结构设计
    php 项目性能优化
    Zend Framework的PHP编码规范【1】
    php 如何做在线人数统计
    linux 文件权限
    总结:常用的通用数据处理指令
    全排列(含递归和非递归的解法)
    局部变量,静态局部变量,全局变量,静态全局变量在内存中的存放区别(转)
    C++中引用详解
    Pascal三角形
  • 原文地址:https://www.cnblogs.com/fps2tao/p/9956838.html
Copyright © 2020-2023  润新知