Loading... ## 前言  所谓双主模型。就是连个节点都配置外部地址,通过dns多条A记录进行调度,可以实现负载均衡效果(效果比NGINX和LVS的差),但是可以使主备节点都投入使用,这样不会浪费备用服务器的资源。  大致拓扑图如下: ![双主模型、.jpg](https://blog.beijixs.cn/usr/uploads/2019/10/1077146099.jpg)  keepalived定义两个实例,一个VIP为主,一个VIP为备;在第二个节点就和第一个节点的VIP配置相反(主的为备,备的为主),这个解释可能不怎么清楚,根据下面的实验就能够很好的理解双主模型。 ## 一、环境准备 - VIP-1:172.16.10.100 - VIP-2: 172.16.10.200 内网地址: - Local-1:192.168.0.2 - Local-2:192.168.0.3 虚拟机两台: 一般来讲,负载均衡器有两个网卡,一个对外提供服务,一个对内用于连接各个Real Server 网卡: ens33 外部网络接口 ens37 内部网络接口 配置好内网网卡的地址: **内部网络地址** 调度器-1: ens37 192.168.0.2 调度器-2: ens37 192.168.0.3 ## 二、keepalived配置 **调度器-1的配置文件** ! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from kaadmin@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id node1 vrrp_mcast_group4 224.0.0.100 vrrp_skip_check_adv_addr #vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { #定义主的实例 state MASTER interface ens37 #通信的网络接口,用内网 virtual_router_id 51 #虚拟路由的唯一标识 priority 100 #优先级 advert_int 1 #心跳时间 authentication { #认证信息 auth_type PASS auth_pass 1111 } virtual_ipaddress { #VIP-1 地址配置 172.16.10.100/16 dev ens33 label ens33:0 } } vrrp_instance VI_2 { #备的实例 state BACKUP interface ens37 #物理接口,用内网接口 virtual_router_id 52 #虚拟路由的唯一标识,不能和上面的主的相同 priority 99 #优先级需要低于主 advert_int 1 #心跳时间 authentication { #认证信息,auth_pass不能和主的相同,否则容易混淆 auth_type PASS auth_pass 2222 } virtual_ipaddress { #VIP-2地址配置 172.16.20.200/16 dev ens33 label ens33:1 } } **调度器-2的配置文件** ! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from kaadmin@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id node1 vrrp_mcast_group4 224.0.0.100 vrrp_skip_check_adv_addr #vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { #定义主的实例 state BACKUP #此处修改为BACKUP-----主要修改项! interface ens37 #通信的网络接口,用内网 virtual_router_id 51 #虚拟路由的唯一标识 priority 99 #降低优先级-----主要修改项! advert_int 1 #心跳时间 authentication { #认证信息 auth_type PASS auth_pass 1111 } virtual_ipaddress { #VIP-1 地址配置 172.16.10.100/16 dev ens33 label ens33:0 } } vrrp_instance VI_2 { #备的实例 state MASTER #修改为主-----主要修改项! interface ens37 #物理接口,用内网接口 virtual_router_id 52 #虚拟路由的唯一标识,不能和上面的主的相同 priority 100 #提高优先级-----主要修改项! advert_int 1 #心跳时间 authentication { #认证信息,auth_pass不能和主的相同,否则容易混淆 auth_type PASS auth_pass 2222 } virtual_ipaddress { #VIP-2地址配置 172.16.20.200/16 dev ens33 label ens33:1 } } 启动双方服务,既可以每台主机都有一个独立的VIP地址,假设节点一出现故障,那么节点二会把节点一的VIP配置在本机。此时节点二有两个VIP,都能够正常备用户访问。(反之同理) !> 连个配置文件的主要修改就是:第一个节点的备用实例,在节点二上面是主实例;相反,节点一的主实例在节点二为备用实例;同时需要修改优先级 ------------ <center>END</center> 最后修改:2019 年 10 月 13 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏