Keepalived配置文件详解+主从IP接管实战

Keepalived配置文件

全局配置

#以下是官方给的默认配置文件(示例配置)
#以#或!为注释符
global_defs {
   notification_email { # 用于填写邮件报警地址
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
    #notification_email_from 用于填写邮件的发送地址	
   notification_email_from Alexandre.Cassen@firewall.loc 
   smtp_server 192.168.200.1 #设置邮件的SMTP服务器地址
   smtp_connect_timeout 30 #设置超时时间
   router_id LVS_DEVEL #LVS负载均衡器标识(router_id)在一个局域网内,应该是唯一的。
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

VRRP实例

vrrp_instance VI_1 {
     state MASTER #状态标识,只有MASTER/BACKUP两种,且在配置时需大写
     interface eth0 #用于指定HA监测网络的接口
     virtual_router_id 51 #虚拟路由标识,若使用了同一个标识则表示在同一个VRRP实例下
     priority 100 #用于定义节点优先级 数字越大越优
     advert_int 1 #用于设置主从间同步检查的时间间隔,单位为秒
     authentication { #以下花括号内的内容为设置主机间通信的验证方式(PASS/HA)及密码等
         auth_type PASS
         auth_pass 1111
     }
     virtual_ipaddress { #用于设置virtual IP 即漂移IP,可以设置多个。
         192.168.200.16
         192.168.200.17
         192.168.200.18
     }
 }
#nopreempt 非抢占模式,防止网络抖动。
主备配置对比
#MASTER
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 LVS_MASTER #1
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER #2
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.200.16
        192.168.200.17
        192.168.200.18
    }
}

#BACKUP
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 LVS_BACKUP #1'
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP #2'
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.200.16
        192.168.200.17
        192.168.200.18
    }
}

以上配置中主要区别在于 router_id 、state 两者。

LVS配置

virtual_server 192.168.200.100 443 { #标志虚拟服务器配置文件开始
    delay_loop 6 #设置健康检测时间间隔 单位为秒
    lb_algo rr #LVS负载均衡调度算法
    lb_kind NAT #LVS负载均衡模式
    persistence_timeout 50 #会话保持时间,单位是秒
    protocol TCP #设置转发协议,TCP/UDP
	ha_suspend #节点间状态切换时,暂时不启用对RS的健康检查
    virtualhost #在通过HTTP_GET/SSL_GET做健康检查时,指定web服务器的虚拟IP
    soory_server # 备用Real Server 在所有RS失效后启用该服务器
        
    real_server 192.168.201.100 443 { # 标志着RS的配置开始
        weight 1 #权值,越大被分配的负载越多
        inhibit_on_failure #在监测到RS失效后,将其权值改为0,而不是从IPVS中删除
        notify_up #在监测到RS生效后执行后面的脚本
        notify_up #与notify_up相反
            
        TCP_CHECK{ #标志着配置检查方式
        	connect_port 80 #指定健康检测端口,不设置则为RS指定的端口
            connect_timeout 3 #指定连接超时时间
            nb_get_retry 3 #指定重新尝试连接数
            delay_before_retry 3 #重新连接时间间隔
        }
        
        SSL_GET { #标志着检测实例配置
            url { #指定HTTP/SSL检查的url信息,可以指定多个
              path / #后跟详细的url路径
              digest ff20ad2481f97b1754ef3e12ecd3a9cc #SSL检查后的信息摘要,通过工具genhash获取。如:genhash -s 192.168.1.12 -p 80 -u /index.html
              status_code #http健康检测返回码 一般为200
              bindto #表示用此地址来发送请求对服务器进行检查
            }
        }
    }
}

Keepalived一主一从IP接管实战

IP角色OS
192.168.110.134BACKUPRocky Linux 8
192.168.110.137MASTERCentOS 7

注:在开始前请准备两台虚拟机,并确保已安装Keepalived。

MASTER配置文件
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 LVS_MASTER
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.16.1.125
    }
}
BACKUP配置文件
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 LVS_BACKUP
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens160
    virtual_router_id 51
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.16.1.125
    }
}

配置中主要区别为:

  1. router_id LVS_MASTER
  2. state MASTER
  3. interface ens33 :根据自己的网卡而定
  4. priority 100 :从的优先级应低于主
  5. 172.16.1.125 :Virtual IP
检查效果
#MASTER上的虚拟IP
[root@keepalived ~]# ip addr | grep "^.*inet 172"
    inet 172.16.1.125/32 scope global ens33
#BACKUP上无
[root@localhost ~]# ip addr | grep "^.*inet 172"
[root@localhost ~]# 
测试
#停止MASTER上的keepalived服务
[root@keepalived ~]# systemctl stop keepalived.service 
[root@keepalived ~]# 
#在BACKUP上查看IP是否飘逸
[root@localhost ~]# ip addr | grep "^.*inet 172"
    inet 172.16.1.125/32 scope global ens160
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Keepalived是一种高可用解决方案,可用于将多台服务器组成一个虚拟IP地址,实现故障转移和负载均衡。当一台服务器出现故障时,Keepalived可以将虚拟IP地址迁移到其他健康服务器上,确保服务的持续可用性。 Jumpserver是一种堡垒机工具,用于管理和控制服务器的访问权限。它可以集中管理所有服务器的账户和密码,并提供基于角色的访问控制,以确保服务器的安全性。 MySQL主从复制是一种数据库同步机制,用于实现主数据库和从数据库之间的数据同步。主数据库负责写入数据,从数据库负责读取数据。当主数据库发生变更时,从数据库会自动同步数据,确保两个数据库的数据一致性。 Sersync是一种文件同步工具,可实现服务器之间的文件增量复制。当源服务器上的文件发生变更时,Sersync会自动检测并将变更的文件同步到目标服务器上,实现文件的实时备份和同步。 邮件通知是一种用于发送邮件通知的功能。可以通过配置邮件服务器的相关参数,将系统中的重要事件、错误信息等发送到指定的邮箱,以便及时的获得系统的运行状态和异常情况。 综上所述,通过将Keepalived、Jumpserver、MySQL主从复制、Sersync和邮件通知结合起来,可以实现在服务器集群中的故障转移和负载均衡、安全控制访问权限、数据库数据同步、文件备份和同步以及及时获取系统运行和异常情况的邮件通知。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值