部署nginx+keepalived实现双机双主高可用性环境

双机热备,意思是说两台机器一台处于运行中,另一台永久处于备份。这样的话资源浪费严重,适用于国企,政府类系统。今天我们所讲的是双机双主热备,意味着两台机器同时处于工作状态,两台主机又同时为备份状态。

准备:

两台主机192.168.100.128/24 192.168.100.129/24

两个单独的ip 192.168.100.133/24 192.168.100.134/24

可以将你域名解析到这两个单独的ip,keepalived会将这两个ip通过虚拟ip技术漂移到两台主机上。如果一台机器down,keepalived会将原本漂移在它身上的ip,漂移到另一台机器上,这样就实现了双机双主互为主机和备份。

安装

此处省略......

配置

128机器 keepalived.conf配置文件

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

global_defs {

notification_email {

1491318829@qq.com

}

notification_email_from keepalived@localhost.com

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_script chk_http_port {

script "/opt/nginx_pid.sh"

interval 2

weight -20 #每检查一次,权重减去20

}

vrrp_instance VI_1 {

state MASTER

interface eth1 #注意看到你本机的网络接口

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

track_script {

chk_http_port

}

virtual_ipaddress {

192.168.100.133

}

}

vrrp_instance VI_2 {

state BACKUP

interface eth1 #两处都为本机的网络接口

virtual_router_id 52

priority 99 #权重

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.100.134/24

}

}

129机器 keepalived.conf配置文件

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

global_defs {

notification_email {

1491318829@qq.com               #接收警报的email地址,可以添加多个

}

notification_email_from admin@caicongyang.com   ###发件人地址

smtp_server 127.0.0.1          ###发送邮件的服务器

smtp_connect_timeout 30      ###超时时间

router_id LVS_DEVEL      ####load balancer 的标识 ID,用于email警报

}

vrrp_script chk_http_port {

script "/opt/nginx_pid.sh" ####检测nginx状态的脚本路径

interval 2

weight -20

}

vrrp_instance VI_1 {

state BACKUP

interface eth2

virtual_router_id 51

priority 99

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.100.133/24

}

}

vrrp_instance VI_2 {

state MASTER

interface eth2

virtual_router_id 52

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

track_script {

chk_http_port

}

virtual_ipaddress {

192.168.100.134/24

}

}

启动和测试

启动nginx

?


1

#/usr/local/nginx/sbin/nginx

启动keepalived

?


1

#service keepalived start

测试

?


1

#ip a

128机器结果

?


1

2

3

4

5

6

7

8

9

10

11

12

1: lo: <loopback,up,lower_up> mtu 16436 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: eth1: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:ff:ca:24 brd ff:ff:ff:ff:ff:ff

    inet 192.168.100.128/24 brd 192.168.100.255 scope global eth1

    inet 192.168.100.133/32 scope global eth1

    inet6 fe80::20c:29ff:feff:ca24/64 scope link

       valid_lft forever preferred_lft forever

</broadcast,multicast,up,lower_up></loopback,up,lower_up>

129机器结果

?


1

2

3

4

5

6

7

8

9

10

11

12

1: lo: <loopback,up,lower_up> mtu 16436 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: eth2: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:c0:02:92 brd ff:ff:ff:ff:ff:ff

    inet 192.168.100.129/24 brd 192.168.100.255 scope global eth2

    inet 192.168.100.134/24 scope global secondary eth2

    inet6 fe80::20c:29ff:fec0:292/64 scope link

       valid_lft forever preferred_lft forever

</broadcast,multicast,up,lower_up></loopback,up,lower_up>

我们可以看到ip 133已经绑定到128的机器上了,134已经绑定到129的机器上了 接下来我们可以利用在128机器killall nginx查看上篇文章中的脚本能否起作用,结果是我们可以看到nginx会不断的重启。 那我们直接关掉128的机器,或者关闭的它的网络,然后看到ip133是否能自动绑定到129的机器上呢?结果当然是可以的

?


1

2

3

4

5

6

7

8

9

10

11

12

1: lo: <loopback,up,lower_up> mtu 16436 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: eth2: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:c0:02:92 brd ff:ff:ff:ff:ff:ff

    inet 192.168.100.129/24 brd 192.168.100.255 scope global eth2

    inet 192.168.100.134/24 scope global secondary eth2

    inet 192.168.100.133/24 scope global secondary eth2

    inet6 fe80::20c:29ff:fec0:292/64 scope link

       valid_lft forever preferred_lft forever</broadcast,multicast,up,lower_up></loopback,up,lower_up>

如同上篇文章所说的,你可以用一下命令查看整个过程

?


1

#tail -f /var/log/messages

时间: 2024-08-03 20:00:00

部署nginx+keepalived实现双机双主高可用性环境的相关文章

nginx+keepalived实现双机双主高可用性

1.前言 上篇文章我们配置的双机热备,意思是说两台机器一台处于运行中,另一台永久处于备份.这样的话资源浪费严重,适用于国企,政府类系统.今天我们所讲的是双机双主热备,意味着两台机器同时处于工作状态,两台主机又同时为备份状态. 2.准备: 两台主机192.168.100.128/24 192.168.100.129/24 两个单独的ip 192.168.100.133/24 192.168.100.134/24 可以将你域名解析到这两个单独的ip,keepalived会将这两个ip通过虚拟ip技术

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

nginx+keepalived实现双机热备高可用性

搭建准备: 机器两台 ip分别为192.168.100.128 192.168.100.129(能够用虚拟机測试.虚拟机网络模式为NET模式.且为静态ip) 另外须要准备一个虚拟ip对外提供服务.即通过该ip訪问web程序. (keepalive会将虚拟ip绑定到两台机器上)keepalived的核心原理是vrrp协议.英文好能够查看最新协议RFC3768. 1.nginx安装 两台机器都须要安装.能够參考我的上篇博文 Linux tar包安装Nginx http://blog.csdn.net

keepAlived+nginx实现高可用双主模型LVS

实验目的: 利用keepalived实现高可用反向代理的nginx.以及双主模型的ipvs 实验环境: node1:在nginx做代理时做反向代理节点,在keepalived实现LVS时做Director.VIP1:172.16.18.22 VIP2:172.16.18.23 node2:在nginx做代理时做反向代理节点,在keepalived实现LVS时做Director.VIP1:172.16.18.22 VIP2:172.16.18.23 node3:在nginx做代理时做web服务器.

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

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

实战:ansible自动化部署nginx+keepalived+mysql负载均衡集群

一.目的 使用ansible自动化部署nginx+keepalived+mysql负载均衡集群. 二.拓扑规划 三.详细步骤 1.环境的搭建 (1).安装ansible,同时配置私钥免密码进行通信 [[email protected] ~]# ssh-keygen  -t rsa #-t表示使用的加密类型,其中rsa1表示version1版本,rsa.dsa.ecdsa的加密对于的是version2版本 Generating public/private rsa key pair. #这里询问你

Keepalived+MariaDB10配置双主高可用数据库

Keepalived+MariaDB10配置双主高可用数据库 OS RS 子网掩码 路由网关 Centos6.6 MariaDB10 Keepalived Eth0:192.168.26.210 255.255.252.0 192.168.25.3 VIP:192.168.27.210 255.255.255.252 Centos6.6 MariaDB10 Keepalived Eth0:192.168.26.211 255.255.252.0 192.168.25.3 VIP:192.168.

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

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

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.