• 使用Keepalived实现Nginx高可用


    Keepalived是一个路由软件,可以提供linux系统和linux系统上的组件的负载均衡和高可用,高可用基于VRRP(Virtual Router Redundancy Protocol,虚ip)实现

    1.准备两台服务器

    node1 192.168.0.240

    node2 192.168.0.239

     

    2.安装nginx和keepalived

    3.配置nginx主页

    4.配置keepalived

    原理

    1、 通过vrrp协议广播,每个keepalived vrrp都去争取master
    2、 以virtual_router_id为组队标识。  同为一个vip服务的keepalived的virtual_router_id相同
    3、 以priority 为权值,同一个virtual_router_id下那个priority大那个就是master,其它为backup

    node1上的keepalived为master,node2上的为backup

    vim /etc/keepalived/keepalived.conf

    node1配置

    router_id 是路由标识,在一个局域网里面应该是唯一的

    vrrp_instance VI_1{...}这是一个VRRP实例,里面定义了keepalived的主备状态、接口、优先级、认证和IP信息

    state 定义了VRRP的角色

    interface定义使用的接口,这里我的服务器用的网卡都是enp0s3,根据实际来填写

    virtual_router_id是虚拟路由ID标识,一组的keepalived配置中主备都是设置一致

    priority是优先级,数字越大,优先级越大

    auth_type是认证方式,auth_pass是认证的密码

    virtual_ipaddress {...}定义虚拟IP地址,可以配置多个IP地址

    vrrp_strict:严格遵守VRRP协议。下列情况将会阻止启动Keepalived:1. 没有VIP地址。2. 单播邻居。3. 在VRRP版本2中有IPv6地址。这里需要注释掉

    mcast_src_ip 发送多播包的地址,如果不设置,默认使用绑定的网卡的primary IP。

    node2配置

    启动keepalived

    systemctl start keepalived

    日志

    5.测试高可用性

    node1,node2上都启动keepalived,node1为master,node1上自动设置了虚ip

     

    停止node1上的keepalived服务

    继续浏览器访问,发现已切换到node2

    当前node2是master,所以自动设置了虚ip

    再次启动node1 keepalived,发现已切换master到node1

     node2不再有虚ip

  • 相关阅读:
    测试工具iometer, iozone, bonnie++
    python 解析properties文件的工具类
    Linux文件系统性能测试工具fdtree和iozone
    python的WEB容器框架
    iozone的介绍与使用
    Python 的 SOAP 实现
    在powerpoint2007里,如何改变模板里的背景图形
    python的接口和抽象类
    决策树算法总结
    C++ 重载、覆盖和隐藏
  • 原文地址:https://www.cnblogs.com/zhya/p/9855771.html
Copyright © 2020-2023  润新知