zl程序教程

您现在的位置是:首页 >  其他

当前栏目

实战案例:实现master/master的Keepalivde 双主架构

案例架构 实现 实战 Master 双主
2023-06-13 09:15:42 时间
实现master/master的Keepalivde 双主架构

master/slave的单主架构,同一时间只有一个Keepalived对外提供服务,此主机繁忙,而另一台主机却很空闲,利用率低下,可以使用master/master的双主架构,解决此问题。

master/master的双主架构:

即将两个或以上VIP分别运行在不同的keepalived服务器,以实现服务器并行提供web访问的目的,提高服务器资源利用率

#ha1主机配置

[root@ka1-centos8 ~]#vim /etc/keepalived/keepalived.conf 

! Configuration File for keepalived

global_defs {

 notification_email {

 root@wangxiaochun.com

 notification_email_from keepalived@localhost

 smtp_server 127.0.0.1

 smtp_connect_timeout 30

 router_id ka1.magedu.org

 vrrp_mcast_group4 224.0.100.100

vrrp_instance VI_1 {

 state MASTER #在另一个主机上为BACKUP

 interface eth0

 virtual_router_id 66 #每个vrrp_instance唯一

 priority 100 #在另一个主机上为80

 advert_int 1

 authentication {

 auth_type PASS

 auth_pass 12345678

 virtual_ipaddress {

 10.0.0.10/24 dev eth0 label eth0:1 #指定vrrp_instance各自的VIP

vrrp_instance VI_2 { #添加 VI_2 实例

 state BACKUP #在另一个主机上为MASTER

 interface eth0

 virtual_router_id 88 #每个vrrp_instance唯一

 priority 80 #在另一个主机上为100

 advert_int 1

 authentication {

 auth_type PASS

 auth_pass 12345678

 virtual_ipaddress {

 10.0.0.20/24 dev eth0 label eth0:1 #指定vrrp_instance各自的VIP

#ka2主机配置,和ka1配置只需五行不同

[root@ka2-centos8 ~]#vim /etc/keepalived/keepalived.conf 

! Configuration File for keepalived

global_defs {

 notification_email {

 root@wangxiaochun.com

 notification_email_from keepalived@localhost

 smtp_server 127.0.0.1

 smtp_connect_timeout 30

 router_id ka2.magedu.org #修改此行

 vrrp_mcast_group4 224.0.100.100

vrrp_instance VI_1 {

 state BACKUP #此修改行为BACKUP

 interface eth0

 virtual_router_id 66 

 priority 80 #此修改行为80

 advert_int 1

 authentication {

 auth_type PASS

 auth_pass 12345678

 virtual_ipaddress {

 10.0.0.10/24 dev eth0 label eth0:1

vrrp_instance VI_2 {

 state MASTER #修改此行为MASTER

 interface eth0

 virtual_router_id 88 

 priority 100 #修改此行为100

 advert_int 1

 authentication {

 auth_type PASS

 auth_pass 12345678

 virtual_ipaddress {

 10.0.0.20/24 dev eth0 label eth0:1 

}

实战案例:利用子配置文件实现master/master的Keepalived双主架构

[root@ka1-centos8 ~]#cat /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

 notification_email {

 acassen@firewall.loc

 failover@firewall.loc

 sysadmin@firewall.loc

 notification_email_from Alexandre.Cassen@firewall.loc

 smtp_server 192.168.200.1

 smtp_connect_timeout 30

 router_id ha1.magedu.org

 vrrp_skip_check_adv_addr

 #vrrp_strict

 vrrp_garp_interval 0

 vrrp_gna_interval 0

include /etc/keepalived/conf.d/*.conf

[root@ka1-centos8 ~]#mkdir /etc/keepalived/conf.d/

[root@ka1-centos8 ~]#cat /etc/keepalived/conf.d/cluster1.conf 

vrrp_instance VI_1 {

 state MASTER

 interface eth0

 virtual_router_id 66

 priority 100

 advert_int 1

 authentication {

 auth_type PASS

 auth_pass 123456

 virtual_ipaddress {

 10.0.0.10/24 dev eth0 label eth0:1

 unicast_src_ip 10.0.0.8

 unicast_peer{

 10.0.0.18

 notify_master /etc/keepalived/notify.sh master 

 notify_backup /etc/keepalived/notify.sh backup 

 notify_fault /etc/keepalived/notify.sh fault 

[root@ka1-centos8 ~]#cat /etc/keepalived/conf.d/cluster2.conf 

vrrp_instance VI_2 {

 state BACKUP

 interface eth0

 virtual_router_id 88

 priority 80

 advert_int 1

 authentication {

 auth_type PASS

 auth_pass 123456

 virtual_ipaddress {

 10.0.0.20/24 dev eth0 label eth0:1

 unicast_src_ip 10.0.0.8

 unicast_peer{

 10.0.0.18

 notify_master /etc/keepalived/notify.sh master 

 notify_backup /etc/keepalived/notify.sh backup 

 notify_fault /etc/keepalived/notify.sh fault 

[root@ka1-centos8 ~]#tree /etc/keepalived/

/etc/keepalived/

├── conf.d

│   ├── cluster1.conf

│   └── cluster2.conf

├── keepalived.conf

├── keepalived.conf.bak

└── notify.sh

1 directory, 5 files

[root@ka1-centos8 ~]#

#ka2主机的配置

[root@ka2-centos8 ~]#cat /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

 notification_email {

 acassen@firewall.loc

 failover@firewall.loc

 sysadmin@firewall.loc

 notification_email_from Alexandre.Cassen@firewall.loc

 smtp_server 192.168.200.1

 smtp_connect_timeout 30

 router_id ha2.magedu.org

 vrrp_skip_check_adv_addr

 #vrrp_strict

 vrrp_garp_interval 0

 vrrp_gna_interval 0

include /etc/keepalived/conf.d/*.conf

[root@ka2-centos8 ~]#cat /etc/keepalived/conf.d/cluster1.conf 

vrrp_instance VI_1 {

 state BACKUP 

 interface eth0

 virtual_router_id 66

 priority 80

 advert_int 1

 authentication {

 auth_type PASS

 auth_pass 123456

 virtual_ipaddress {

 10.0.0.10/24 dev eth0 label eth0:1

 unicast_src_ip 10.0.0.18

 unicast_peer {

 10.0.0.8 

 notify_master /etc/keepalived/notify.sh master 

 notify_backup /etc/keepalived/notify.sh backup 

 notify_fault /etc/keepalived/notify.sh fault 

[root@ka2-centos8 ~]#cat /etc/keepalived/conf.d/cluster2.conf 

vrrp_instance VI_2 {

 state MASTER

 interface eth0

 virtual_router_id 88

 priority 100

 advert_int 1

 authentication {

 auth_type PASS

 auth_pass 123456

 virtual_ipaddress {

 10.0.0.20/24 dev eth0 label eth0:1

 unicast_src_ip 10.0.0.18

 unicast_peer{

 10.0.0.8

 notify_master /etc/keepalived/notify.sh master 

 notify_backup /etc/keepalived/notify.sh backup 

 notify_fault /etc/keepalived/notify.sh fault 

[root@ka2-centos8 ~]#

#查看IP

[root@ka1-centos8 ~]#hostname -I

10.0.0.8 10.0.0.10 

[root@ka2-centos8 ~]#hostname -I

10.0.0.18 10.0.0.20

#ka1主机故障,测试VIP漂移至ka2主机

[root@ka1-centos8 ~]#killall keepalived

[root@ka1-centos8 ~]#hostname -I

10.0.0.8 

[root@ka2-centos8 ~]#hostname -I

10.0.0.18 10.0.0.20 10.0.0.10 

#恢复ka1主机

[root@ka1-centos8 ~]#systemctl start keepalived.service 

[root@ka1-centos8 ~]#hostname -I

10.0.0.8 10.0.0.10 

[root@ka2-centos8 ~]#hostname -I

10.0.0.18 10.0.0.20 

实战案例:三个节点的多主架构实现

第一个节点ka1配置:

Vrrp instance 1:MASTER,优先级100

Vrrp instance 2:BACKUP,优先级80

Vrrp instance 3:BACKUP,优先级60

第二个节点ka2配置:

Vrrp instance 1:BACKUP,优先级60

Vrrp instance 2:MASTER,优先级100

Vrrp instance 3:BACKUP,优先级80

第三个节点ka3配置:

Vrrp instance 1:BACKUP,优先级80

Vrrp instance 2:BACKUP,优先级60

Vrrp instance 3:MASTER,优先级100

本文链接:http://www.yunweipai.com/35376.html

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/52717.html

centosKeepalived