Keepalived单双主模型配置

Keepalived单双主模型配置

Keepalived单主配置实例:

一、安装keepalived包

[[email protected] ~]# hostnamectl set-hostname keepalived-1
[[email protected] ~]# yum install keepalived.x86_64

主配置文件:/etc/keepalived/keepalived.conf
主程序文件:/usr/sbin/keepalived

二、进行配置主配置文件:

主keepalived服务器:

[[email protected] ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
notification_email {
[email protected]
                }
     notification_email_from      [email protected]
     smtp_server 127.0.0.1
smtp_connect_timeout 5
     router_id 10.10.10.101
vrrp_mcast_group4 224.0.122.22
}

vrrp_instance VI_1 {
        state MASTER
        interface ens33
virtual_router_id 11
        priority 100
        advert_int 1
authentication {
auth_type PASS
auth_pass 11112222
        }
virtual_ipaddress {
10.10.1.1/16 dev ens33

                }
}

备服务器:
抓包结果如下:

13:47:53.028784 IP 10.10.10.102 > 224.0.122.22: VRRPv2, Advertisement, vrid 11, prio 98, authtype simple, intvl 1s, length 20
13:47:54.030591 IP 10.10.10.102 > 224.0.122.22: VRRPv2, Advertisement, vrid 11, prio 98, authtype simple, intvl 1s, length 20
13:47:55.032137 IP 10.10.10.102 > 224.0.122.22: VRRPv2, Advertisement, vrid 11, prio 98, authtype simple, intvl 1s, length 20
13:47:56.033873 IP 10.10.10.102 > 224.0.122.22: VRRPv2, Advertisement, vrid 11, prio 98, authtype simple, intvl 1s, length 20
13:47:56.033883 IP 10.10.10.101 > 224.0.122.22: VRRPv2, Advertisement, vrid 11, prio 100, authtype simple, intvl 1s, length 20
13:47:57.040529 IP 10.10.10.101 > 224.0.122.22: VRRPv2, Advertisement, vrid 11, prio 100, authtype simple, intvl 1s, length 20
13:47:58.041992 IP 10.10.10.101 > 224.0.122.22: VRRPv2, Advertisement, vrid 11, prio 100, authtype simple, intvl 1s, length 20
13:47:59.043760 IP 10.10.10.101 > 224.0.122.22: VRRPv2, Advertisement, vrid 11, prio 100, authtype simple, intvl 1s, length 20

日志结果如下:

主:
May 25 13:41:31 keepalived-1 Keepalived_vrrp[1872]: Sending gratuitous ARP on ens33 for 10.10.1.1
May 25 13:41:31 keepalived-1 Keepalived_vrrp[1872]: VRRP_Instance(VI_1) Sending/queueing gratuitous ARPs on ens33 for 10.10.1.1
May 25 13:41:31 keepalived-1 Keepalived_vrrp[1872]: Sending gratuitous ARP on ens33 for 10.10.1.1
备:
May 25 13:41:25 keepalived-2 Keepalived_vrrp[1761]: VRRP_Instance(VI_1) Received advert with higher priority 100, ours 98
May 25 13:41:25 keepalived-2 Keepalived_vrrp[1761]: VRRP_Instance(VI_1) Entering BACKUP STATE
May 25 13:41:25 keepalived-2 Keepalived_vrrp[1761]: VRRP_Instance(VI_1) removing protocol VIPs.

使用ip a l 命令查看ip地址

主
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:98:88:45 brd ff:ff:ff:ff:ff:ff
        inet 10.10.10.101/16 brd 10.10.255.255 scope global ens33
valid_lft forever preferred_lft forever
        inet 10.10.1.1/16 scope global secondary ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe98:8845/64 scope link
备
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:92:37:53 brd ff:ff:ff:ff:ff:ff
        inet 10.10.10.102/16 brd 10.10.255.255 scope global ens33
valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe92:3753/64 scope link

再次停止主keepalived-server查看
日志:

May 25 13:48:29 keepalived-2 Keepalived_vrrp[1781]: Sending gratuitous ARP on ens33 for 10.10.1.1
May 25 13:48:29 keepalived-2 Keepalived_vrrp[1781]: VRRP_Instance(VI_1) Sending/queueing gratuitous ARPs on ens33 for 10.10.1.1
May 25 13:48:29 keepalived-2 Keepalived_vrrp[1781]: Sending gratuitous ARP on ens33 for 10.10.1.1

抓包:

13:48:22.073929 IP 10.10.10.101 > 224.0.122.22: VRRPv2, Advertisement, vrid 11, prio 100, authtype simple, intvl 1s, length 20
13:48:22.701737 IP 10.10.10.101 > 224.0.122.22: VRRPv2, Advertisement, vrid 11, prio 0, authtype simple, intvl 1s, length 20
13:48:23.320348 IP 10.10.10.102 > 224.0.122.22: VRRPv2, Advertisement, vrid 11, prio 98, authtype simple, intvl 1s, length 20
13:48:24.321473 IP 10.10.10.102 > 224.0.122.22: VRRPv2, Advertisement, vrid 11, prio 98, authtype simple, intvl 1s, length 20

Ip地址信息:

ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:92:37:53 brd ff:ff:ff:ff:ff:ff
        inet 10.10.10.102/16 brd 10.10.255.255 scope global ens33
valid_lft forever preferred_lft forever
        inet 10.10.1.1/16 scope global secondary ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe92:3753/64 scope link

实验结果:(抢占模式分析)
备keepalived先启动是会发起arp免费广播,当局域网中已有且只有它一个的话,他会将模式更改为:MASTER,将ip地址添加到自己的路由中,同时也会继续向局域中发送arp广播,(只在组播地址中发送,抓包监听也只能监听组播地址。)

当主keepalived-server开启服务器后(宕机恢复后也是如此),同时也接受道备keepalived发送的ARP广播中附带的优先级的值98,与自己的优先级进行比对,自己的优先级高于备keepalived-server的优先级,发送arp广播,他会向组播网络中发送免费的arp广播并附带优先级100的值,备keepalived-server收到后,与自己的优先级比对,没有100高则转换模式进入BACKUP模式;主keepalived-server开始发起免费的ARP广播;模式切换完成。

当主keepalived-server宕机或关闭是会发送一个优先级为0的arp广播,备keepalived-server接收到主keepalived的广播后,发起arp广播并将自己的模式改为MASTER模式(如果组内拥有三台以上主机优先级最低的不会发起arp广播,也没有日志信息。只有所有高于最低优先级的keepalived-server都宕机了,才会抢占,否则不会。)
非抢占模式:优先级高的主机宕机恢复后,不会抢占,只有当现运行的keepalived-server出现宕机,它才会抢占MASTER,称为主keepalived-server,(一般不设置此模式,)

如果主server的性能高于备server,建议设置成抢占模式或配置成双主,非抢占模式不适用双主模式。

Keepalived双主配置实例:

Keepalived-server1上配置:在上边单主模型基础上添加添置:
下边为单主模型的配置,只是copy一份,没有更改。

! Configuration File for keepalived

global_defs {
     notification_email {
     [email protected]
                 }
     notification_email_from [email protected]
     smtp_server 127.0.0.1
     smtp_connect_timeout 5
     router_id 10.10.10.101
     vrrp_mcast_group4 224.0.122.22
}

vrrp_instance VI_1 {
        state MASTER
        interface ens33
        virtual_router_id 11
        priority 100
        advert_int 1
        authentication {
                auth_type PASS
                auth_pass 11112222
        }
        virtual_ipaddress {
                 10.10.1.1/16 dev ens33

                 }
}

Keepalived-server1上配置,下边为新添加配置:

vrrp_instance VI_2 {
        state BACKUP
        interface ens33
        virtual_router_id 21
        priority 98
        advert_int 1
        authentication {
                auth_type PASS
                auth_pass 22221111
        }
        virtual_ipaddress {
                 10.10.1.2/16 dev ens33

                 }
}

Keepalived-server2上配置:在下边keepalived-2单主模型基础上添加添置:

vrrp_instance VI_22{
        state MASTER
        interface ens33
        virtual_router_id 21
        priority 100
        advert_int 1
        authentication {
                auth_type PASS
                auth_pass 22221111
        }
        virtual_ipaddress {
                 10.10.1.2/16 dev ens33

                 }
}

启动时查看地址:
先开启server-2(两个地址都在server2上)

ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:72:5b:f2 brd ff:ff:ff:ff:ff:ff
        inet 10.10.10.102/16 brd 10.10.255.255 scope global ens33
             valid_lft forever preferred_lft forever
        inet 10.10.1.2/16 scope global secondary ens33
             valid_lft forever preferred_lft forever
        inet 10.10.1.1/16 scope global secondary ens33
             valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe72:5bf2/64 scope link

再开启server-1(server-1将1.1的地址抢占回去,server1和server2每个设备上各一个地址,互为主同时也互为备)

Server-1:
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:98:88:45 brd ff:ff:ff:ff:ff:ff
        inet 10.10.10.101/16 brd 10.10.255.255 scope global ens33
             valid_lft forever preferred_lft forever
        inet 10.10.1.1/16 scope global secondary ens33
             valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe98:8845/64 scope link
Server-2:
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:72:5b:f2 brd ff:ff:ff:ff:ff:ff
        inet 10.10.10.102/16 brd 10.10.255.255 scope global ens33
             valid_lft forever preferred_lft forever
        inet 10.10.1.2/16 scope global secondary ens33
             valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe72:5bf2/64 scope link

关闭server-2(当server2关闭服务器,两个地址全都在server1上。)

ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:98:88:45 brd ff:ff:ff:ff:ff:ff
        inet 10.10.10.101/16 brd 10.10.255.255 scope global ens33
             valid_lft forever preferred_lft forever
        inet 10.10.1.1/16 scope global secondary ens33
             valid_lft forever preferred_lft forever
        inet 10.10.1.2/16 scope global secondary ens33
             valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe98:8845/64 scope link

结果:
先开启server-2(两个地址都在server2上)
再开启server-1(server-1将1.1的地址抢占回去,server1和server2每个设备上各一个地址,互为主同时也互为备)
关闭server-2(当server2关闭服务器,两个地址全都在server1上。)

原文地址:http://blog.51cto.com/12105235/2125059

时间: 2024-08-02 05:43:54

Keepalived单双主模型配置的相关文章

【 Linux 】Keepalived实现双主模型高可用集群

要求:    1. 两台web服务器安装wordpress,数据库通过nfs共享    2. 使用keepalived实现双主模型 环境:    主机:        系统:CentOS6.7 x64        1. node1: 192.168.2.11  node2: 192.168.2.12 vip: 192.168.2.200        service iptables stop        selinux: disabled 一.两台主机分别配置lamp架构,并使用nfs实现

Mogilefs分布式文件系统-Keepalived+Nginx双主模型实现图片分布式存储、访问

一.分布式文件系统: 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.计算机通过文件系统管理.存储数据,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,在容量大小.容量增长速度.数据备份.数据安全等方面的表现都差强人意. 分布式文件系统可以有效解决数据的存储和管理难题:将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络.每个节点可以分布在

基于keepalived实现双主模型高可用lvs

实验环境,使用的操作系统CentOS6.5: Director: node1:IP 172.16.103.2 安装keepalived VIP:172.16.103.20 node2:IP 172.16.103.3 安装keepalived VIP:172.16.103.30 RS: RS1:IP 172.16.103.1 提供httpd服务 RS2:IP 172.16.103.4 提供httpd服务 实验效果: 前端的两台Director运行keepalived,自动生成各自的一组lvs规则,

keepalived+nginx 双主模型实现高可用服务

一.keepalived的工作原理 keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗协议. 虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个虚拟路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为mas

keepalived基于双主模型实现nginx的高可用(2)

Keepalived: keepalived是基于vrrp协议实现的一个高可用集群解决方案,可以利用keepalived来解决单点故障问题,使用keepalived实现的高可用集群方案中,一般有两台服务器,一个是MASTER(主服务器),另一个是BACKUP(备用服务器),这个集群中对外提供一个虚拟IP,MASTER服务器会定时发送特定信息给BACKUP服务器,当BACKUP服务器接收不到MASTER发送的消息时,BACKUP服务器会接管虚拟IP,继续提供服务. 当keepalived基于主备模

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+lvs-dr+nginx双主模型

前言 本文主要介绍,使用keepalived+lvs实现负载均衡及高可用功能,后端webserver使用nginx,keepalived使用双主模型. keepalived基于VRRP实现: VRRP的工作过程为: (1)  虚拟路由器中的路由器根据优先级选举出 Master.Master 路由器通过发送免费 ARP 报文,将自己的虚拟 MAC 地址通知给与它连接的设备或者主机,从而承担报文转发任务: (2)  Master 路由器周期性发送 VRRP 报文,以公布其配置信息(优先级等)和工作状

LVS+Keepalived双主模型的实现

拓扑结构: Client LVS1 LVS2 RS1 RS2 192.168.2.1 DIP 192.168.2.128 VIP 192.168.2.198 DIP 192.168.2.129 VIP 192.168.2.199 192.168.2.130 192.168.2.131 实现双主模型我们需要配置两个虚拟路由器组,也就是每台主机需要配置两段 vrrp_instance,每个虚拟接口配置虚拟IP,LVS1与LVS2的同一组virtual_router_id内互为主备,这里如果不明白可以

Apache+lvs高可用+keepalive(主从+双主模型)

Apache+lvs高可用+keepalive(主从+双主模型)???? keepalive实验准备环境: httpd-2.2.15-39.el6.centos.x86_64 keepalived-1.2.13-1.el6.x86_64.rpm ? ? ???? 实验拓扑图: ? ? ? ? LVS+Keepalived 实现高可用的前端负载均衡器 ? node15: 1.安装httpd [[email protected] ~]# yum intsall -y httpd 2.配置httpd