阿里云在VPC网络下发布了HAVIP,能够实现arp宣告IP。

一般结构,但不知道阿里云如何盛情 HAVIP

阿里云下配置keepalive

VPC:192.168.1.0/24

ECS:

nginx1:192.168.1.1

nginx2:192.168.1.2

HAVIP:192.168.1.3

绑定到havip的公网EIP:121.43.187.37

 

MASTER服务器(nginx1)配置文件/etc/keepalived/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

46

47

! Configuration File for keepalived

#配置global_defs,主要用于标示机器,以及故障时通知

global_defs {  

   router_id Nginx1

}

#配置vrrp_script,主要用于健康检查,以及检查失败后执行的动作。

vrrp_script chk_nginx {

#健康检查脚本,当脚本返回值不为0时认为失败

    script "/etc/keepalived/ck_ng.sh"

#检查频率,以下配置每2秒检查1次

    interval 2

#当检查失败后,将vrrp_instance的priority减小5

    weight -5

#连续监测失败3次,才认为真的健康检查失败。并调整优先级

    fall 3

#连续监测2次成功,就认为成功。但不调整优先级

    rise 2

}

 

#定义对外提供服务的VIP vrrp_instance配置

vrrp_instance VI_1 {

#指定vrrp_instance的初始状态,是MASTER还是BackUP主要还是看优先级。

    state MASTER

#指定vrrp_instance绑定的网卡,最终会通过指定的网卡宣告VIP

    interface eth0

#发送心跳包的源IP,可使用绑定的网卡IP,也可以使用本服务器上的其他IP

    unicast_src_ip 192.168.1.1

#相当于VRID,用于在一个网内区分组播,需要组播域内内唯一。

    virtual_router_id 55

#本机的优先级,VRID相同的机器中,优先级最高的会被选举为MASTER

    priority 101

#心跳间隔,下面配置,MASTER会每隔1秒发送一个报文高职组内其他机器,自己还活着。

    advert_int 1

#定义主从的验证方式以及密码,一般使用PASS(最长8位,超过了只会识别前8位作为密码)

    authentication {

        auth_type PASS

        auth_pass aliyun

    }

#VIP,在阿里云下就是刚才创建的HAVIP

    virtual_ipaddress {

    192.168.1.3

        }

#本vrrp_instance所引用的脚本配置,名称就是vrrp_script 定义的容器名

  track_script {

       chk_nginx

    }

}

BACKUP服务器(nginx2)的配置需要修改:

1

2

3

state MASTER改为  state BACKUP

unicast_src_ip 192.168.1.1改为backup服务器实际的IP unicast_src_ip 192.168.1.2

priority 101改小一些,比如    priority 100

其它保持一致即可

为了实现nginx服务异常的时候能够自动切换,需要自己写一个脚本,脚本没有硬性的要求,能够实现目标即可.

相关文章:

  • 2021-12-03
  • 2021-11-18
  • 2021-11-22
  • 2021-11-27
  • 2021-11-28
  • 2021-06-16
  • 2021-10-21
  • 2022-01-11
猜你喜欢
  • 2021-08-09
  • 2021-12-18
  • 2021-10-10
  • 2022-01-15
  • 2021-11-28
相关资源
相似解决方案