keepalived 双主模型

keepalived 双主模型

双主模型是两台服务器互为主备,即一台为主备,另一台为备主,让两台服务器并行运行,也可以实现减轻单台keepalived主机上的压力。
双主模型需要注意此时需要有2个VIP地址

keepalived 双主模型实现

准备主机2台

server hostname ip
keepalived s1 172.20.27.10
keepalived s2 172.20.27.11

s1 节点配置

修改配置文件

[[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 30
   router_id s1.mylinuxops.com
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_iptables
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
# 双主模型需要定义两个VIP配置端,一个为主的配置端一个为备的配置端
vrrp_instance VI_1 {                #配置第一个实例
    state MASTER                    #定义角色为主
    interface ens33
    virtual_router_id 27            #双主时需要注意虚拟路由必须与另一个虚拟路由ID不同
    priority 100                    #定义优先级
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    unicast_src_ip 172.20.27.10     #定义单播源地址
    unicast_peer {
    172.20.27.11                    #定义单播的目标地址
    }
    virtual_ipaddress {
        172.20.27.100 dev ens33 label ens33:0       #在一个实例中,vip可以是多个,此处以绑定两个地址为例子,双主模型中如果每个主的实例中都有两个vip,那么当其中一个主挂了之后另一个将获取4个地址。
        172.20.27.101 dev ens33 label ens33:1
    }
}

vrrp_instance VI_2 {                #定义第二个实例
    state BACKUP                    #双主模型中第二个实例的角色就为备
    interface ens33
    virtual_router_id 37            #虚拟路由ID需要改为和第一个实例不同
    priority 80                     #因为为备服务器所以优先级需要降低
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    unicast_src_ip 172.20.27.10     #设置单播的源地址
    unicast_peer {
    172.20.27.11                    #设置单薄的目标地址
    }
    virtual_ipaddress {
        172.20.27.200 dev ens33 label ens33:2       #配置虚拟IP
        172.20.27.201 dev ens33 label ens33:3
    }
}

重启服务

[[email protected] ~]# systemctl restart keepalived

s2节点配置

修改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 30
   router_id s2.mylinuxops.com
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_iptables
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 27
    priority 80
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    unicast_src_ip 172.20.27.11
    unicast_peer {
    172.20.27.10
    }
    virtual_ipaddress {
        172.20.27.100 dev ens33 label ens33:0
        172.20.27.101 dev ens33 label ens33:1
    }
}

vrrp_instance VI_2 {
    state MASTER
    interface ens33
    virtual_router_id 37
    priority 100
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    unicast_src_ip 172.20.27.11
    unicast_peer {
    172.20.27.10
    }
    virtual_ipaddress {
        172.20.27.200 dev ens33 label ens33:2
        172.20.27.201 dev ens33 label ens33:3
    }
}

重启服务

[[email protected] ~]# systemctl restart keepalived

测试

查看s1 s2节点上绑定的虚拟IP信息
s1节点

[[email protected] ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.27.10  netmask 255.255.0.0  broadcast 172.20.255.255
        inet6 fe80::20c:29ff:fec5:123c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c5:12:3c  txqueuelen 1000  (Ethernet)
        RX packets 159893  bytes 13229687 (12.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 36390  bytes 8038414 (7.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# S1节点中 100,101为主
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.27.100  netmask 255.255.255.255  broadcast 0.0.0.0
        ether 00:0c:29:c5:12:3c  txqueuelen 1000  (Ethernet)

ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.27.101  netmask 255.255.255.255  broadcast 0.0.0.0
        ether 00:0c:29:c5:12:3c  txqueuelen 1000  (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2  bytes 140 (140.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2  bytes 140 (140.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

s2节点

[[email protected] ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.27.11  netmask 255.255.0.0  broadcast 172.20.255.255
        inet6 fe80::20c:29ff:fe4d:1ce3  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4d:1c:e3  txqueuelen 1000  (Ethernet)
        RX packets 146792  bytes 12377811 (11.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5501  bytes 486871 (475.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
#s2中 200,201 为主
ens33:2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.27.200  netmask 255.255.255.255  broadcast 0.0.0.0
        ether 00:0c:29:4d:1c:e3  txqueuelen 1000  (Ethernet)

ens33:3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.27.201  netmask 255.255.255.255  broadcast 0.0.0.0
        ether 00:0c:29:4d:1c:e3  txqueuelen 1000  (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 6  bytes 482 (482.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6  bytes 482 (482.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

测试s1停止服务

[[email protected] ~]# systemctl stop keepalived

在s2节点上查看

[[email protected] ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.27.11  netmask 255.255.0.0  broadcast 172.20.255.255
        inet6 fe80::20c:29ff:fe4d:1ce3  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4d:1c:e3  txqueuelen 1000  (Ethernet)
        RX packets 162656  bytes 13744995 (13.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6334  bytes 551143 (538.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
#s2节点上获取了所有的4个地址
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.27.100  netmask 255.255.255.255  broadcast 0.0.0.0
        ether 00:0c:29:4d:1c:e3  txqueuelen 1000  (Ethernet)

ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.27.101  netmask 255.255.255.255  broadcast 0.0.0.0
        ether 00:0c:29:4d:1c:e3  txqueuelen 1000  (Ethernet)

ens33:2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.27.200  netmask 255.255.255.255  broadcast 0.0.0.0
        ether 00:0c:29:4d:1c:e3  txqueuelen 1000  (Ethernet)

ens33:3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.27.201  netmask 255.255.255.255  broadcast 0.0.0.0
        ether 00:0c:29:4d:1c:e3  txqueuelen 1000  (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 6  bytes 482 (482.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6  bytes 482 (482.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

原文地址:https://blog.51cto.com/11886307/2406621

时间: 2024-12-11 04:53:44

keepalived 双主模型的相关文章

haproxy+keepalived双主模型及动静分离的实现

实验目标: 1.haproxy统计页面的输出机制: 2.haproxy动静分离机制: 3.基于keepalived的高可用实现: 环境: vm8虚拟机 操作系统: centos 6.4 内核版本: 2.6.32-358.el6.x86_64 注: (1) 每个haproxy各有两块网卡,外网网卡选择Bridge,内网网卡选择Vmnet2; (2) 内部两台web服务器的网卡都是选择Vmnet2; 一.准备工作: 1.各节点IP地址相关设置 node1:  ifconfig eth1 192.16

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内互为主备,这里如果不明白可以

keepalived双主模型高可用+lvs-实例

拓扑图: 环境准备: Centos6.5x86_64 关闭防火墙和Selinux node5: eth0:192.168.1.190/24   VIP:192.168.1.121/24 node1:eth1:192.168.1.191/24   VIP:192.168.1.122/24 node2:RIP:eth0: 192.168.19.2/24 node3:RIP:eth0: 192.168.19.3/24   所有节点网关/DNS都为:192.168.1.1 每个服务器的hosts文件 #

基于keepalived双主模型的高可用LVS

背景知识: keepalived:Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web 服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器. LVS:LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统. 实验系统:CentO

keepalived双主模型实现高可用ipvs的简单案例

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 案例拓扑图 说明: 主机操作系统为:CentOS-6.5-x86_64 准备工作 安装keepalived和ipvsadm 在IP地址为10.170.2.60和10.170.2.61两台主机上安装keepalived和ipvsadm # yum -y install keepalived # yum -y install ipvsadm 安装httpd 在IP地址为10.170.2.101和10

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

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

双主模型高可用负载均衡集群的实现(keepalived+lvs-dr)

实现keepalived双主模型lvs高可用集群 一.拓扑图 二.环境准备 两台负载均衡调度器,两台web服务器. 调度器A环境: VS:一张网卡 DIP:192.168.0.7/24 VIP(主):192.168.0.200 VIP(备):192.168.0.201 软件包:yum install -y keepalived ipvsadm nginx(作用:sorry-server服务) 调度器B环境: VS:一张网卡 DIP:192.168.0.8/24 VIP(主):192.168.0.

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