当前位置:   article > 正文

keepalived搭建nginx高可用_keapalive nginx openeuler

keapalive nginx openeuler

1、keepalived是什么?


   keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。


2、keepalived工作原理


  keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。

3、keepalived实现双机热备

测试环境如下:

在上一篇nginx负载均衡中讲到212和213都是httpd服务。

  1. 10.10.252.211 nginx服务对212,213httpd服务实现负载均衡 keepalived主机
  2. 10.10.252.214 nginx服务对212,213httpd服务实现负载均衡 keepalived备机
  3. 10.10.252.212 httpd服务
  4. 10.10.252.213 httpd服务

4、keepalived的安装

     4.1、两台机均安装keepalived

  1. #yum 安装
  2. yum install keepalived
  3. #修改主配置文件,已经将不是必须的配置内容删掉了。
  4. vim /etc/keepalived/keepalived.conf
  5. ! Configuration File for keepalived
  6. global_defs {
  7. router_id master
  8. }
  9. vrrp_script chk_nginx {
  10. script "/etc/keepalived/nginx_check.sh"
  11. interval 2
  12. weight -20
  13. }
  14. vrrp_instance VI_1 {
  15. state MASTER
  16. interface ens33
  17. virtual_router_id 51
  18. mcast_src_ip 10.10.252.211
  19. priority 100
  20. nopreempt
  21. advert_int 1
  22. authentication {
  23. auth_type PASS
  24. auth_pass 1111
  25. }
  26. track_script {
  27. chk_nginx
  28. }
  29. virtual_ipaddress {
  30. 10.10.252.215
  31. }
  32. }
  1. #从keepalived配置文件
  2. ! Configuration File for keepalived
  3. global_defs {
  4. router_id slave1
  5. }
  6. vrrp_script chk_nginx {
  7. script "/etc/keepalived/nginx_check.sh"
  8. interval 2
  9. weight -20
  10. }
  11. vrrp_instance VI_1 {
  12. state MASTER
  13. interface ens33
  14. virtual_router_id 51
  15. mcast_src_ip 10.10.252.214
  16. priority 50
  17. nopreempt
  18. advert_int 1
  19. authentication {
  20. auth_type PASS
  21. auth_pass 1111
  22. }
  23. track_script {
  24. chk_nginx
  25. }
  26. virtual_ipaddress {
  27. 10.10.252.215
  28. }
  29. }

4.2、检查nginx进程的脚本,将脚本放在/etc/keepalived/目录下,主从端都要有,并授权。

  1. #!/bin/bash
  2. pid=`ps -C nginx --no-header |wc -l`
  3. if [ $pid -eq 0 ];then
  4. /usr/local/nginx/sbin/nginx
  5. sleep 2
  6. if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
  7. killall keepalived
  8. fi
  9. fi

5、keepalived的启动和验证

systemctl restart keepalived

查看在wyl01和wyl04机器上是否有下面的进程

然后我们再看看机器wyl01上多了之前我们设定的vip的情况:

我们在页面上用10.10.252.215的ip去访问可以看到的wyl02机器上的httpd服务和wyl03上的机器上的httpd服务会依次出现。

 

当我们去关掉主keepalived服务后在查看情况:我们可以看到wyl04上多了虚拟vip。

 

 

我们再继续访问页面,查看效果,依然会出现依次出现wyl02和wyl03上的httpd服务。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/811860
推荐阅读
相关标签
  

闽ICP备14008679号