keepalived+nginx 模型示例

原理为:

调度器 利用 keepalived 保持高可用性,实现对系统的监控和VIP 的floating

NGINX 利用upstream模块进行调度

关键点:

keepalived 对NGINX 状态的监控: //利用配置文件中设定的脚本对调度器的nginx 进程的监控

实验步骤:

基于上一篇LVS-DR架构来做,具体LVS-DR架构请参考上一篇

  • 先设置主备单VIP 式LVS架构
    • 调度器分别安装nginx

      #yum install nginx -y

    • 修改配置文件,填加反代设置 /etc/nginx/nginx.conf

      upstream websrvs{

      server 172.18.48.63:80 ;

      server 172.18.48.64:80 ;

      server 127.0.0.1:80 backup;

      }

      注:这里是最基本的配置

      location / {

      proxy_pass http://websrvs;

      }

    • 配置keepalived 配置文件

      订制监控脚本:

      vrrp_script nginxstatus {

      script “kill -0 nginx && exit 0 || exit 1”

      interval 1

      weight -5

      }

      调用脚本:

      track_script {

      nginxstatus

      }

    • 启动 nginx 和 keepalived 服务

      service nginx start

      service keepalived start

    • 测试链接:
      • keepalived+nginx 模型示例
      • 循环链接测试

        keepalived+nginx 模型示例

  • 现在构建双主模型 // 即再次配置一套keepalived
    • 备调度器设置

    keepalived+nginx 模型示例

    从调度器设置

    keepalived+nginx 模型示例

    重新启动keepalived

    #service keepalived restart

    VIP分布:

    keepalived+nginx 模型示例

    keepalived+nginx 模型示例

    测试链接:

    keepalived+nginx 模型示例

  • 现在停掉一个调度器中的nginx服务:
    • VIP地址 已经转移;再次链接实验
    • keepalived+nginx 模型示例
    • 再次链接: //成功
    • keepalived+nginx 模型示例

    • 现在测验nginx 的调度算法为ip_hash 时,VIP Floating 会不会带来影响:

      预想应该不会受影响,nginx 的哈希算法不变的话就不会变

      • keepalived+nginx 模型示例
      • 注: ip_hash 不能于backup 共存,
      • 官方说明:

        If one of the servers needs to be temporarily removed, it should be marked with the down parameter in order to preserve the current hashing of client IP addresses.

      • 重启服务:

        service nginx restart

      • 链接测试:

        双调度器都在线时:

        keepalived+nginx 模型示例

      • 停掉149 的nginx 服务时:

        keepalived+nginx 模型示例

        测试链接:

        keepalived+nginx 模型示例

      • 149 nginx 服务重启后:
        • keepalived+nginx 模型示例

        • keepalived+nginx 模型示例
      • 测试链接:

        keepalived+nginx 模型示例

      • 148测试也没有变化:

    思考题

    nginx使用ip_hash或hash $request_uri算法时,故障切换后,同一个客户端是否依然能关联至此前绑定的upstream server;

    答:由于hash 时nginx 根据预定的算法进行的计算,所以只要IP和请求资源不变,被调度的地址就不会变

原创文章,作者:zhoulz,如若转载,请注明出处:http://www.178linux.com/75428

(0)
zhoulzzhoulz
上一篇 2017-05-13 21:30
下一篇 2017-05-13

相关推荐

  • bash中的算术运算及条件测试

    bash的算术运算 +, -, *, /, %取模(取余), **(乘方) 实现算术运算: (1) let var=算术表达式 (2) var=$[算术表达式] (3) var=$((算术表达式)) (4) var=$(expr arg1 arg2 arg3 …) (5) declare –i var = 数值 (6) echo ‘算术表达式’ …

    Linux干货 2017-04-17
  • iptables:防火墙以及网络协议基本原理

    一、 Linux 网络安全模型      1. 防火墙: 工作在主机或者网络边缘,对进出报文使用实现定义的规则进行检测,并且由匹配的规则进行处理的一组硬件或者软件。也可能两者结合。          1) 通常使用的防火…

    Linux干货 2015-07-24
  • Linux进程管理命令和性能监控工具的应用

    概述 监控系统的各方面的性能,保障各类服务的有序运行,是运维工作的重要组成部分,本篇就介绍了一些常用的系统监控命令和相关参数的说明 具体包含一下几个部分 1.进程管理基础 2.进程管理工具(ps,top,htop,kill) 3.内存监控类工具(vmstat,pmap) 4.系统监控累工具(glances,dstat)…

    Linux干货 2016-09-26
  • 第十周:Linux系统启动流程及shell脚本练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 一张图足以说明一切: 2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;   (1) 为硬盘新建两个主分区;并为其安装grub;   (2) 为硬盘的第一个主分区提供内核和ramdisk文件;为第二个分区提供rootfs;   (3)…

    Linux干货 2016-11-30
  • RHCE系列之备份工具—-镜像备份Rsync

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1431426     我一哥们最近在搞备份,需要用到rsync。因此,鄙人就简单总结了下rsync,也就有了这篇博文,希望对51…

    Linux干货 2016-08-15
  • Linux磁盘管理详解

    linux磁盘管理 添加磁盘步骤: fdisk 管理磁盘分区 格式化文件系统。 设备挂载 开机自动挂载 UUID挂载 取消挂载点 Parted(gpt大于2G分区) 查看文件系统的使用情况。 df 查看挂载信息与磁盘使用量 du 查看使用量 查看分区状况lsblk 查看设备信息blkid linux磁盘管理 当全新安装了一块新的硬盘设备后,为了更充分、安全的…

    Linux干货 2016-09-07