利用keepalived实现主/从和主/主模式的高性能负载均衡集群

要求:

1、使用nginx的反向代理功能实现负载均衡

2、keepalived实现高可用

       第一组的虚拟地址为172.16.1.100

            D设备的优先级高

       第二组的虚拟地址为172.16.1.110

            E设备的优先级高

3、分别实现主/从和主/主两种配置

集群拓扑:

     利用keepalived实现主/从和主/主模式的高性能负载均衡集群

第一种:主/从配置

所有配置之前先在各个主机上进行时间同步

 ntpdate 时间服务器地址

一、后端real server(A、B、C)配置

   1、在A、B、C三台主机上安装httpd包

    yum install httpd

   2、配置虚拟主机

       vim /etc/httpd/conf.d/vir.conf

      A主机:

       利用keepalived实现主/从和主/主模式的高性能负载均衡集群

     B主机

       利用keepalived实现主/从和主/主模式的高性能负载均衡集群

     C主机

        利用keepalived实现主/从和主/主模式的高性能负载均衡集群

   3、创建三主机的URL 目录及主页面

   A主机

     mkdir  -pv /data/web/

         vim /data/web/index.html

         内容为 This is Vhost1

   B主机

     mkdir  -pv /data/web/

         vim /data/web/index.html

         内容为 This is Vhost2

   C主机

     mkdir  -pv /data/web/

         vim /data/web/index.html

         内容为 This is Vhost3

注意:三主机主页面不同,是为了后面实验来区分不同的real server

启动httpd服务: systemctl  start  httpd.service

二、配置负载均衡节点

         D(此主机为MASTER)

  E(此主机为BACKUP)主机

  利用nginx的ngx_http_upsteam_module模块实现负载均衡

1、安装nginx包

            在D、E主机上分别安装

            yum install nginx

2、配置负载均衡

           在D、E主机上分别安装

   vim /etc/nginx/nginx.conf

   定义websvr组:

    upstream websvr {

          server 192.168.70.137:80;

          server 192.168.70.138:80;

          server 192.168.70.140:80;

         }

   反向代理组 websvr

       location / {

             proxy_pass http://websvr;

        }

    利用keepalived实现主/从和主/主模式的高性能负载均衡集群

三、配置keepalived服务

      1、全局配置

  主机D上

  利用keepalived实现主/从和主/主模式的高性能负载均衡集群

         主机E上配置

         利用keepalived实现主/从和主/主模式的高性能负载均衡集群

     2、分别在两个主机上定义脚本 chk_down

         此脚本的功能:

            文件 /etc/keepalived/down 存在时:虚拟IP转义到另一个节点

         vrrp_script chk_down {

              script “[[ -f /etc/keepalived/down ]] && exit 1 || exit 0”

               interval 1

               weight -10

            }

      3、分别在两个主机上定义脚本 chk_ngx

         此脚本功能:

           确认nginx服务是否正运行

          vrrp_script chk_ngx {

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

              interval 1

              weight -10

              fall 2

              rise 1

          }

          利用keepalived实现主/从和主/主模式的高性能负载均衡集群

      4、vrrp_instance配置

         D主机

         利用keepalived实现主/从和主/主模式的高性能负载均衡集群

        E主机

        利用keepalived实现主/从和主/主模式的高性能负载均衡集群

     5、创建notify警告配置脚本

         分别在两个主机上创建

         vim  /etc/keepalived/notify.sh

          利用keepalived实现主/从和主/主模式的高性能负载均衡集群

         chmod +x notify.sh 给予此脚本执行权限

6、启动服务

  systemctl start keepalived.service

四、测试

  1、不做修改时,即主机D上没有/etc/keepalived/down文件

      (1)、查看虚拟IP位置

            在主机D上(此主机为MASTER)

             利用keepalived实现主/从和主/主模式的高性能负载均衡集群

    在主机E上(此主机为BACKUP)

     利用keepalived实现主/从和主/主模式的高性能负载均衡集群

通过对比可以看到虚拟IP在D主机上

    (2)、查看nginx是否启动

     通过脚本/etc/keepalived/notify.sh可以看到哪台主机成为MASTER状态,哪台主机就自动启动nginx服务

    主机D

    利用keepalived实现主/从和主/主模式的高性能负载均衡集群

    主机E

    利用keepalived实现主/从和主/主模式的高性能负载均衡集群

通过对比可以知道主机D上的nginx服务启动,而主机E上的nginx服务为启动

(3)访问URL

     curl  http:/172.16.1.10

     利用keepalived实现主/从和主/主模式的高性能负载均衡集群

     2、在主机D上创建/etc/keepalived/down文件

         touch  /etc/keepalived/down

        (1)、查看虚拟IP位置

            在主机D上(此主机为MASTER)

            利用keepalived实现主/从和主/主模式的高性能负载均衡集群

 在主机E上(此主机为BACKUP)

            利用keepalived实现主/从和主/主模式的高性能负载均衡集群

 通过对比可以看到虚拟IP在E主机上

     (2)、查看nginx是否启动

      主机D

           利用keepalived实现主/从和主/主模式的高性能负载均衡集群

             主机E上

          利用keepalived实现主/从和主/主模式的高性能负载均衡集群

       通过对比可以知道主机E上的nginx服务启动,而主机D上的nginx服务为启动

(3)访问URL

     curl  http:/172.16.1.100

         利用keepalived实现主/从和主/主模式的高性能负载均衡集群

         能正常访问,现实了高性能

第二部分实现主/主配置

一、增加配置在D、E主机上

    1、 在原有的配置基础上增加一个vrrp_instance配置

        在主机D上配置

       利用keepalived实现主/从和主/主模式的高性能负载均衡集群

        在主机E上配置

       利用keepalived实现主/从和主/主模式的高性能负载均衡集群

    2、修改警告配置脚本

      将backup时停止nginx服务改为启动nginx服务

       利用keepalived实现主/从和主/主模式的高性能负载均衡集群

二、检测

   1、不做修改时,即主机D和E上都没有/etc/keepalived/down文件

     (1)、查看虚拟IP位置

      在主机D上

      利用keepalived实现主/从和主/主模式的高性能负载均衡集群

     在主机E上

      利用keepalived实现主/从和主/主模式的高性能负载均衡集群

通过对比看到:

    虚拟IP:172.16.1.100在主机D上

           虚拟IP:172.16.1.110在主机E上

     (2)查看nginx服务状态

          主机D、E的nginx服务都处于启动状态

          利用keepalived实现主/从和主/主模式的高性能负载均衡集群

     (3)访问URL

      curl  http:/172.16.1.100

            利用keepalived实现主/从和主/主模式的高性能负载均衡集群

     curl  http:/172.16.1.110

             利用keepalived实现主/从和主/主模式的高性能负载均衡集群

           能正常访问,现实了高性能

    2、在主机D上创建/etc/keepalived/down文件

        (1)、查看虚拟IP位置

            在主机D上

           利用keepalived实现主/从和主/主模式的高性能负载均衡集群

         在主机E上

           利用keepalived实现主/从和主/主模式的高性能负载均衡集群

通过对比看到:

    虚拟IP:172.16.1.100在主机E上

           虚拟IP:172.16.1.110在主机E上

     (2)查看nginx服务状态

          主机D、E的nginx服务都处于启动状态

         利用keepalived实现主/从和主/主模式的高性能负载均衡集群

     (3)访问URL

      curl  http:/172.16.1.100

            利用keepalived实现主/从和主/主模式的高性能负载均衡集群

     curl  http:/172.16.1.110

             利用keepalived实现主/从和主/主模式的高性能负载均衡集群

             能正常访问,现实了高性能

 

    3、在主机E上创建/etc/keepalived/down文件

          (1)、查看虚拟IP位置

            在主机D上

           利用keepalived实现主/从和主/主模式的高性能负载均衡集群

            在主机E上

           利用keepalived实现主/从和主/主模式的高性能负载均衡集群

通过对比看到:

    虚拟IP:172.16.1.100在主机D上

           虚拟IP:172.16.1.110在主机D上

     (2)查看nginx服务状态

          主机D、E的nginx服务都处于启动状态

         利用keepalived实现主/从和主/主模式的高性能负载均衡集群

     (3)访问URL

      curl  http:/172.16.1.100

            利用keepalived实现主/从和主/主模式的高性能负载均衡集群

     curl  http:/172.16.1.110

             利用keepalived实现主/从和主/主模式的高性能负载均衡集群

             能正常访问,现实了高性能

 

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

(0)
zqzq
上一篇 2017-06-25 21:40
下一篇 2017-06-25 23:42

相关推荐

  • 初识linux内核编译

    编译内核前提:        1、准备开发环境。        2、获取目标主机上硬件设备的相关信息。        3、获取目标主机系统功能的相关信息,例如要启用的文件系统。 &…

    Linux干货 2016-09-13
  • Linux基础知识(五)

    本文主要讲述使用grep做模式匹配,具体示例包括: 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; 3、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行; 4、添加用户b…

    Linux干货 2016-10-23
  • 马哥教育21期网络班—第12周课程+练习—-LAMP练习中

    为第4题中的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点; (1)要求使用证书认证,证书中要求使用的国家(CN)、州(HA)、城市(ZZ)和组织(MageEdu); (2)设置部门为Ops,主机名为www2.stuX.com,邮件为admin@stuX.com; [ root@centos CA]# …

    Linux干货 2016-09-26
  • 文件属性、文件管理命令及glob 博客作业—-21期网络班第二周

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。    cp  mv  rm      命令格式:      cp [options] … SOURCE DEST    …

    Linux干货 2016-07-16
  • 网络N22期 第1周作业

    一、计算机组成及其功能 计算机由硬件部分和软件部分组成。     硬件部分包括,         1、CPU:包括运算器、控制器、寄存器、缓存,具有对数据控制和计算功能。         2、存储器:内部存储器、外部存储器,对数据提供存储功能。   …

    Linux干货 2016-08-15
  • 第五周练习

    1、显示当前系统上root、fedora或user1用户的默认shell; egrep “^(root|fedora|user1)” /etc/passwd | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某单词后边跟一组小括号的行,形如:hello(); grep “\<.*\>()” /etc/r…

    Linux干货 2017-08-04