keepalived主从及双主配置

原文链接:https://www.cnblogs.com/mmdln/p/8988951.html

高可用有2中方式。

1、Nginx+keepalived 主从配置

这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候,永远处于浪费状态,对于服务器不多的网站,该方案不经济实惠。

2、Nginx+keepalived 双主配置

这种方案,使用两个vip地址,前端使用2台机器,互为主备,同时有两台机器工作,当其中一台机器出现故障,两台机器的请求转移到一台机器负担,非常适合于当前架构环境。

1、Nginx+keepalived 主从配置

1.环境如下

lb-01:192.168.96.130  nginx+keepalived-master
lb-02:192.168.96.131  nginx+keepalived-backup
VIP:192.168.75.135
 

nginx+tomcat负载均衡集群参照 nginx+tomcat负载均衡集群参照

两台机器都要安装nginx 配置文件相同

[html] view plain copy

  1. <span style="font-size:18px;">upstream myServer{
  2. server 192.168.96.130:8080;
  3. server 192.168.96.131:8080;
  4. }
  5. server {
  6. listen       80;
  7. server_name  localhost;
  8. #charset koi8-r;
  9. #access_log  logs/host.access.log  main;
  10. location / {
  11. proxy_pass  http://myServer;
  12. }
  13. </span>

nginx结合keepalived高可用

为什么使用keepalived呢?使用keepalived就用来做高可用的,提供虚拟VIP

分别在2台机子上安装keepalived

# yum install keepalived -y

查看keepalived版本

# keepalived -v
Keepalived v1.2.13 (11/20,2015)

关于2台keepalived配置文件/etc/keepalived

在130master keepalived配置文件内容如下

[html] view plain copy

  1. <span style="font-size:18px;">global_defs {
  2. notification_email {
  3. [email protected]
  4. [email protected]
  5. [email protected]
  6. }
  7. notification_email_from [email protected]
  8. smtp_server 192.168.200.1
  9. smtp_connect_timeout 30
  10. router_id LVS_DEVEL
  11. }
  12. vrrp_script chk_http_port {
  13. script "/usr/local/src/check_nginx_pid.sh"
  14. interval 2      #(检测脚本执行的间隔)
  15. weight 2
  16. }
  17. vrrp_instance VI_1 {
  18. state MASTER   # 备份服务器上将 MASTER 改为 BACKUP
  19. interface eno16777736  //网卡
  20. virtual_router_id 51   # 主、备机的virtual_router_id必须相同
  21. priority 100     # 主、备机取不同的优先级,主机值较大,备份机值较小
  22. advert_int 1
  23. authentication {
  24. auth_type PASS
  25. auth_pass 1111
  26. }
  27. virtual_ipaddress {
  28. 192.168.96.138  // VRRP H虚拟地址
  29. }
  30. }
  31. </span>

在131-backup keepalived配置文件内容如下

[html] view plain copy

  1. <span style="font-size:18px;">global_defs {
  2. notification_email {
  3. [email protected]
  4. [email protected]
  5. [email protected]
  6. }
  7. notification_email_from [email protected]
  8. smtp_server 192.168.200.1
  9. smtp_connect_timeout 30
  10. router_id LVS_DEVEL
  11. }
  12. vrrp_script chk_http_port {
  13. script "/usr/local/src/check_nginx_pid.sh"
  14. interval 2      #(检测脚本执行的间隔)
  15. weight 2
  16. }
  17. vrrp_instance VI_1 {
  18. state BACKUP
  19. interface eno16777736
  20. virtual_router_id 51
  21. priority 90
  22. advert_int 1
  23. authentication {
  24. auth_type PASS
  25. auth_pass 1111
  26. }
  27. virtual_ipaddress {
  28. 192.168.96.138
  29. }
  30. }</span>

然后分别启动2台keepalived服务

[[email protected] ~]# systemctl start keepalived.service

[[email protected] ~]# systemctl start keepalived.service

查看虚拟VIP

130-master机器查看

从上面可以看到虚拟VIP地址192.168.96.138

131-backup机器查看

从上面可以看到没有虚拟VIP地址

测试访问虚拟VIP

打开浏览器访问 

此时虚拟VIP可以轮询访问了

模拟故障

把130-master nginx和keepalived停止查看是否还能正常提供服务

[[email protected] sbin]# ./nginx -s stop
[[email protected] sbin]# systemctl stop keepalived.service

此时虚拟VIP已经不再master上了

客户端打开浏览器访问是否正常访问

130nginx和keepalived挂了也不影响服务

查看131backup机器VIP情况

此时虚拟VIP 已经在131机器上

那么如何实现nginx+keepalived双主模式呢?

1.其实只是需要更改下keepalived配置文件即可,配置文件实例如下

增加新的VIP192.168.96.139,192.168.75.138是130机器上主虚拟VIP,192.168.96.139是131机器上主虚拟VIP

130的keepalived配置文件内容如下

[html] view plain copy

  1. ! Configuration File for keepalived
  2. global_defs {
  3. notification_email {
  4. [email protected]
  5. [email protected]
  6. [email protected]
  7. }
  8. notification_email_from [email protected]
  9. smtp_server 192.168.200.1
  10. smtp_connect_timeout 30
  11. router_id LVS_DEVEL
  12. }
  13. vrrp_script chk_http_port {
  14. script "/usr/local/src/check_nginx_pid.sh"
  15. interval 2      #(检测脚本执行的间隔)
  16. weight 2
  17. }
  18. vrrp_instance VI_1 {
  19. state MASTER
  20. interface eno16777736
  21. virtual_router_id 51
  22. priority 100
  23. advert_int 1
  24. authentication {
  25. auth_type PASS
  26. auth_pass 1111
  27. }
  28. virtual_ipaddress {
  29. 192.168.96.138
  30. }
  31. }
  32. vrrp_instance VI_2 {
  33. state BACKUP
  34. interface eno16777736
  35. virtual_router_id 52
  36. priority 90
  37. advert_int 1
  38. authentication {
  39. auth_type PASS
  40. auth_pass 1111
  41. }
  42. virtual_ipaddress {
  43. 192.168.96.139
  44. }
  45. }

131的keepalived配置文件内容如下

[html] view plain copy

  1. ! Configuration File for keepalived
  2. global_defs {
  3. notification_email {
  4. [email protected]
  5. [email protected]
  6. [email protected]
  7. }
  8. notification_email_from [email protected]
  9. smtp_server 192.168.200.1
  10. smtp_connect_timeout 30
  11. router_id LVS_DEVEL
  12. }
  13. vrrp_script chk_http_port {
  14. script "/usr/local/src/check_nginx_pid.sh"
  15. interval 2      #(检测脚本执行的间隔)
  16. weight 2
  17. }
  18. vrrp_instance VI_1 {
  19. state BACKUP
  20. interface eno16777736
  21. virtual_router_id 51
  22. priority 90
  23. advert_int 1
  24. authentication {
  25. auth_type PASS
  26. auth_pass 1111
  27. }
  28. virtual_ipaddress {
  29. 192.168.96.138
  30. }
  31. }
  32. vrrp_instance VI_2 {
  33. state MASTER
  34. interface eno16777736
  35. virtual_router_id 52
  36. priority 100
  37. advert_int 1
  38. authentication {
  39. auth_type PASS
  40. auth_pass 1111
  41. }
  42. virtual_ipaddress {
  43. 192.168.96.139
  44. }
  45. }

分别启动2台lb上nginx和keepalived服务

[[email protected] sbin]# ./nginx
[[email protected] sbin]# systemctl start keepalived.service

130查看虚拟ip

131查看虚拟ip

客户端测试访问虚拟VIP

访问虚拟VIP:192.168.96.138结果如下

访问虚拟VIP:192.168.96.139结果如下

模拟故障

把130服务停止

查看130虚拟VIP是否存在结果如下

没了

测试访问虚拟VIP**

从上面结果可以看到,即使130机器发生了故障也不影响使用,这样也利用131资源了

此时查看一下131虚拟ip结果情况如下

注:此时虚拟VIP地址都已经在lb-02机器上了

原文地址:https://www.cnblogs.com/fswhq/p/12222947.html

时间: 2024-10-13 13:34:34

keepalived主从及双主配置的相关文章

MySQL Replication, 主从和双主配置

MySQL Replication, 主从和双主配置 MySQL的Replication是一种多个MySQL的数据库做主从同步的方案,特点是异步,广泛用在各种对MySQL有更高性能,更高可靠性要求的场合.与之对应的另一个技术是同步的MySQL Cluster,但因为比较复杂,使用者较少.   下图是MySQL官方给出了使用Replication的场景: Replication原理   Mysql 的 Replication 是一个异步的复制过程,从一个MySQL节点(称之为Master)复制到另

keepalived + lvs + nginx 双主配置案例 (2)

一.本文基于上一篇主备配置案例场景,修改为双主模式二.双主配置文件,即两组互为主备 1> 192.168.1.109配置文件 global_defs {notification_email {br/>[email protected][email protected]br/>[email protected]}notification_email_from [email protected]smtp_server 192.168.200.1smtp_connect_timeout 30r

通过KeepAlived搭建MySQL双主模式的高可用集群系统

企业级MySQL集群具备高可用.可扩展.易管理.低成本的特点.下面将介绍企业环境中经常应用的一个解决方案,即MySQL的双主互备架构,主要设计思路是通过MySQL Replication技术将两台MySQL Server互相将对方作为自己的Master,自己又同时作为对方的Slave来进行复制.这样就实现了高可用构架中的数据同步功能,同时,将采用KeepAlived来实现Mysql的自动failover.在这个构架中,虽然两台MySQL Server互为主从,但同一时刻只有一个MySQL Ser

Keepalived+Nginx实现双主高可用负载均衡

Keepalived+Nginx实现双主高可用负载均衡 一.部署Nginx+keepalived高可用有两种配置方案: 1.Nginx+keepalived 主从配置 前端使用两台机器,使用一个VIP,即其中一台为主负责全部请求,一台为备,只用在主出现故障时,才会替代主处理请求,平常处于闲置状态,此方案不够理想.  2.Nginx+keepalived 双主配置 前端使用2台机器,使用两个VIP,互为主备,不考虑其他情况时均衡处理请求,当其中一台机器出现故障时,另一台负责处理对两台机器的请求,此

基于keepalived搭建mysql双主高可用

目录 概述 环境准备 keepalived搭建 mysql搭建 mysql双主搭建 mysql双主高可用搭建 概述 传统(不借助中间件)的数据库主从搭建,如果主节点挂掉了,从节点只能读取无法写入,只能把人肉去恢复故障,既不想引用中间件也不想人肉恢复故障,可以折中选择双主方案,本文将介绍通过keepalived搭建mysql双主方案. 本例中vip为:172.16.0.169,  两台mysql实例服务器ip分别为:172.16.0.1和172.16.0.2 转帖请注明来源: https://my

keepalived实现mysql双主架构

5 keepalived实现mysql双主架构 5.1 架构介绍 企业级Mysql集群具备高可用.可扩展.以管理.低成本的特点.下面将介绍企业环境中经常应用的一个解决方案,即Mysql的双主互备架构,主要设计思想是通过Mysql复制技术将两台Mysql服务器互相将对方作为自己的主服务器,自己又同时作为对方的从服务器来进行复制.这样就实现了高可用架构中的数据同步功能,同时,将采用keepalived来实现mysql的自动故障切换.在这个架构中,虽然两台Mysql服务器互为主从,但同一时刻只有一个M

Nginx+keepalived(高可用双主模式)

Nginx+keepalived(高可用双主模式) tips:前面已经介绍了nginx+keepalived高可用主从模式,今天补充下高可用的双主模式,均可以作为主机使用 server1:192.168.237.128             VIP1:192.168.237.10 server2:192.168.237.129             VIP2:192.168.237.20 vim /etc/keepalived/keepalived.conf //编辑配置文件,增加一段新的v

LVS+Keepalived负载均衡双主架构全攻略

二.LVS+Keepalived负载均衡双主互备架构 IP信息清单:名称 IP LVS-DR-Master 192.168.2.98 LVS-DR-Backup 192.168.2.99 LVS-DR-VIP1 192.168.2.100 LVS-DR-VIP2 192.168.2.105 Realserver01 192.168.2.101 Realserver02 192.168.2.102 Realserver03 192.168.2.103 Realserver04 192.168.2.

KeepAlived实现HAProxy双主并实现资源的动静分离

KeepAlived实现HAProxy双主并实现资源的动静分离 大纲 前言 HAProxy介绍 实验拓扑 实验环境 实验步骤 配置后端httpd服务器 配置HAProxy实现backend负载均衡 测试动静分离效果 配置KeepAlived 测试KeepAlived 配置DNS DNS测试 最终测试 总结 前言 我们这次使用HAProxy作为负载均衡调度器来实现后端httpd服务的负载均衡和动静分离,并使用KeepAlived让HAproxy实现双主高可用, 再使用DNS轮询将用户对www.an