(一)设计思路

高可用:keepalived 解决方案

负载均衡:(lvs)DR做轮询,需要一个调度器,后端节点两个(部署nginx动态博客),通过一个vip去访问动态博客

  后端节点需要部署动态博客作为资源供客户访问。

  调度器做keepalived(dr),给调度器做一个备节点,让他俩互为主备,避免资源浪费。

这样的话就需要四台物理机,两台主备调度器,两台realserver。

(二)部署过程

(1)调度器上的部署

1. 两台调度器下载keepalived:

  1. yum install -y keepalived

2.编辑配置文件,让两台调度器互为主备

  1. [root@node1 keepalived]# cat /etc/keepalived/keepalived.conf
  2. ! Configuration File for keepalived
  3.  
  4. global_defs {
  5. notification_email {
  6. # acassen@firewall.loc
  7. # failover@firewall.loc
  8. # sysadmin@firewall.loc
  9. }
  10. # notification_email_from Alexandre.Cassen@firewall.loc
  11. # smtp_server 192.168.200.1
  12. # smtp_connect_timeout
  13. # router_id LVS_DEVEL
  14. # vrrp_skip_check_adv_addr
  15. # vrrp_strict
  16. # vrrp_garp_interval
  17. # vrrp_gna_interval
  18. }
  19.  
  20. vrrp_instance VI_1 {
  21. state MASTER
  22. interface ens33
  23. virtual_router_id 51
  24. priority 100
  25. advert_int
  26. authentication {
  27. auth_type PASS
  28. auth_pass 1111
  29. }
  30. virtual_ipaddress {
  31. 192.168.42.200
  32. }
  33. }
  34. vrrp_instance VI_2 {
  35. state BACKUP
  36. interface ens33
  37. virtual_router_id 52
  38. priority 99
  39. advert_int
  40. authentication {
  41. auth_type PASS
  42. auth_pass 2222
  43. }
  44. virtual_ipaddress {
  45. 192.168.42.100
  46. }
  47. }
  48. virtual_server 192.168.42.200 {
  49. delay_loop
  50. lb_algo rr
  51. lb_kind DR
  52. protocol TCP
  53. real_server 192.168.42.172 {
  54. weight
  55. HTTP_GET {
  56. url {
  57. path /
             state_code 200
  58. }
  59. connect_timeout
  60. nb_get_retry
  61. delay_before_retry
  62. }
  63. }
  64. }
  65. virtual_server 192.168.42.200 {
  66. delay_loop
  67. lb_algo rr
  68. lb_kind DR
  69. protocol TCP
  70. real_server 192.168.42.173 {
  71. weight
  72. HTTP_GET {
  73. url {
  74. path /
  75. state_code
  76. }
  77. connect_timeout
  78. nb_get_retry
  79. delay_before_retry
  80. }
  81. }
  82. }
  83.  
  84. [root@node2 ~]# cat /etc/keepalived/keepalived.conf
    ! Configuration File for keepalived
  85.  
  86. global_defs {
       notification_email {
    #     acassen@firewall.loc
    #     failover@firewall.loc
    #     sysadmin@firewall.loc
       }
    #   notification_email_from Alexandre.Cassen@firewall.loc
    #   smtp_server 192.168.200.1
    #   smtp_connect_timeout 30
    #   router_id LVS_DEVEL
    #   vrrp_skip_check_adv_addr
    #   vrrp_strict
    #   vrrp_garp_interval 0
    #   vrrp_gna_interval 0
    }
  87.  
  88. vrrp_instance VI_1 {
        state BACKUP
        interface ens33
        virtual_router_id 51
        priority 99
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.42.200
        }
    }
    vrrp_instance VI_2 {
        state MASTER
        interface ens33
        virtual_router_id 52
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 2222
        }   
        virtual_ipaddress {
            192.168.42.100
        }
    }
    virtual_server 192.168.42.200 80 {
        delay_loop 6
        lb_algo rr
        lb_kind DR
        protocol TCP
        real_server 192.168.42.172 80 {
            weight 1
            HTTP_GET {
                url {
                  path /
             state_code 200
                }
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 3
            }
        }
    }
    virtual_server 192.168.42.200 80 {
        delay_loop 6
        lb_algo rr
        lb_kind DR
        protocol TCP
        real_server 192.168.42.173 80 {
            weight 1
            HTTP_GET {
                url {
                  path /
                  state_code 200
                }
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 3
            }
        }
    }

3.调度器重启keepalived(可以做个测试,查看vip的迁移)

  1. systemctl restart keepalived

(2)realserver部署

1. realserver部署DR

  1. [root@node3 ~]# cd /proc/sys/net/ipv4/conf/
  2. [root@node3 conf]# ls
  3. all calib2dc35d78a1 docker0 lo
  4. cali748bf682dd1 calib6602a4140d ens33 tunl0
  5. cali8e151c6d769 default flannel.
  6. [root@node3 conf]# cd all
  7. [root@node3 all]# ls
  8. accept_local disable_policy proxy_arp_pvlan
  9. accept_redirects disable_xfrm route_localnet
  10. accept_source_route force_igmp_version rp_filter
  11. arp_accept forwarding secure_redirects
  12. arp_announce log_martians send_redirects
  13. arp_filter mc_forwarding shared_media
  14. arp_ignore medium_id src_valid_mark
  15. arp_notify promote_secondaries tag
  16. bootp_relay proxy_arp
  17. [root@node3 all]# echo > arp_ignore
  18. [root@node3 all]# echo > arp_announce
  19. [root@node3 all]# cd ..
  20. [root@node3 conf]# ls
  21. all calib2dc35d78a1 docker0 lo
  22. cali748bf682dd1 calib6602a4140d ens33 tunl0
  23. cali8e151c6d769 default flannel.
  24. [root@node3 conf]# cd lo
  25. [root@node3 lo]# ls
  26. accept_local disable_policy proxy_arp_pvlan
  27. accept_redirects disable_xfrm route_localnet
  28. accept_source_route force_igmp_version rp_filter
  29. arp_accept forwarding secure_redirects
  30. arp_announce log_martians send_redirects
  31. arp_filter mc_forwarding shared_media
  32. arp_ignore medium_id src_valid_mark
  33. arp_notify promote_secondaries tag
  34. bootp_relay proxy_arp
  35. [root@node3 lo]# echo > arp_announce
  36. [root@node3 lo]# echo > arp_ignore
  37. [root@node3 lo]# ifconfig ens33: 192.168.42.200/ broadcast 192.168.42.200 up
  38. [root@node3 lo]# route add -host 192.168.42.200 dev ens33:[root@node3 lo]# route -n
  39. Kernel IP routing table
  40. Destination Gateway Genmask Flags Metric Ref Use Iface
  41. 192.168.42.200 0.0.0.0 255.255.255.255 UH ens33

2. 部署LNMP架构上线动态博客(上一篇博客有就不再赘述了)

(3)浏览器访问vip:

http://192.168.42.200/wp-admin/install.php

Linux 系统中部署 LNMP 高可用负载均衡架构集群实现动态博客的更多相关文章

  1. Lvs+Keepalived+MySQL Cluster架设高可用负载均衡Mysql集群

    ------------------------------------- 一.前言 二.MySQL Cluster基本概念 三.环境 四.配置 1.LB-Master及LB-Backup配置 2.M ...

  2. 【线上测试之后的应用】基于MySQL+MHA+Haproxy构建高可用负载均衡数据库集群(详解)

    这里我们先介绍一下MHA是什么,其次就是它的应用与测试,同时为了大家呈现了数据备份案例,最后总结了使用情况以及注意事项和解决办法 一.MHA 概述 MHA(Master High Availabili ...

  3. HAProxy+Varnish+LNMP实现高可用负载均衡动静分离集群部署

    HAProxy高可用负载均衡集群部署 基本信息: 系统平台:VMware WorkStation 系统版本: CentOS Linux release 7.2.1511 (Core) 内核版本: 3. ...

  4. 搭建 Keepalived + Nginx + Tomcat 的高可用负载均衡架构

    1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量 ...

  5. [转]搭建Keepalived+Nginx+Tomcat高可用负载均衡架构

    [原文]https://www.toutiao.com/i6591714650205716996/ 一.概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最 ...

  6. 搭建Keepalived + Nginx + Tomcat的高可用负载均衡架构

    1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量 ...

  7. Keepalived + Nginx + Tomcat 的高可用负载均衡架构搭建

    Keepalived + Nginx + Tomcat 的高可用负载均衡架构搭建 Nginx 是一个高性能的 HTTP反向代理服务器 Keepalived 是一个基于VRRP协议来实现的LVS服务高可 ...

  8. Keepalived + Nginx + Tomcat 高可用负载均衡架构

    环境: 1.centos7.3 2.虚拟ip:192.168.217.200 3.192.168.217.11.192.168.217.12上分别部署Nginx Keepalived Tomcat并进 ...

  9. 企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)(原创)

    前言:          原理与思想        这里选用GTID主从复制模式Mysql主从复制模式,是为了更加确保主从复制的正确性.健康性与易配性.这里做的是两服务器A,B各有Mysql实例331 ...

随机推荐

  1. Selenium常用API的使用java语言之1-环境安装之Java

    (一)环境安装之Java 1.安装java 点击 JDK8下载,根据自己的平台,选择相应的版本进行下载. 小知识: Java环境分JDK和JRE ,JDK就是Java Development Kit. ...

  2. [Dart] splitMapJoin

    var str3 = '''Multi Line String'''; print( str3.splitMapJoin( RegExp(r'^', multiLine: true), // Matc ...

  3. sql的九个常用语句是什么

    一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...

  4. jQuery相关方法5----表单相关

    一.value属性在表单的相关操作-----val()方法 <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js ...

  5. luogu 3380

    树状数组套权值线段树 #include <iostream> #include <cstdio> #include <algorithm> #include < ...

  6. P1929 迷之阶梯

    题目描述 在经过地球防卫小队的数学家连续多日的工作后,外星人发的密码终于得以破解.它 告诉我们在地球某一处的古老遗迹中,存在有对抗这次灾难的秘密武器.防卫小队立即赶 到这处遗迹.要进入遗迹,需要通过一 ...

  7. codeforces37C

    CF37C Old Berland Language   sol:直接暴力模拟下去,长度加了就补0,凑个数就+1,凑不好就puts(“no”) #include <bits/stdc++.h&g ...

  8. matplot 绘制折线图

    #coding=utf-8 import matplotlib.pyplot as pltx_data = ['2011','2012','2013','2014','2015','2016','20 ...

  9. rabbitmq 删除所有队列及服务重启脚本

    #!/bin/bash # 删除元数据 rm -rf /var/lib/rabbitmq/mnesia # 重启rabbitmq rabbitmqctl stop systemctl restart ...

  10. mysqlslap压力测试时出现"Can't connect to MySQL server"

    mysqlslap -utest -h 192.168.1.12 -p'test' --concurrency=100 --iterations=500 --create-schema='my_db' ...