keepalived 双机热备配置文件详解

配置示例:https://blog.51cto.com/14227204/2438902
一、keepalived工作原理及作用:

keepalived最初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健康检查功能——判断LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机回复后将其重新加入群集。单独部署LVS环境的话,调度器发生宕机的话,整个群集就失效了,某一个web节点宕机后,客户端在访问时,总会碰上访问不到网页的情况,所以,将keepalived和LVS结合起来,才可形成一个真正的高可用群集,当然,后端的共享存储也必须搭建一个高可用的存储服务器,三者其中有一个满足不了,都不能称之为一个高可用的群集环境。

keepalived官方网站: http://www.linuxvirtualserver.org/ ,在非LVS环境中,keepalived也可以作为热备软件

使用。

keepalived采用VRRP(虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的

多机热备。VRRP是针对路由器的一种备份解决方案——由多台路由器组成一个热备组,通

过共用的虚拟IP(VIP)地址对外提供服务;每个热备份组内同一时刻只有一台主路由器提

供服务,其他路由器处于冗余状态,若当前在线的路由器失效,则其他路由器会自动接替

(优先级决定接替顺序)虚拟IP地址,以继续提供服务。

热备组内的每台路由器都可能成为主路由器,虚拟路由器的IP地址(VIP)可以在热备组内

路由器进行转移,所以也称为漂移IP地址。使用keepalived时,漂移地址的实现不需要手动

建立虚接口配置文件(如ens33:0),而是由keepalived根据配置文件自动管理。

基于VRRP的热备方式,keepalived可以用作服务器的故障切换,每个热备组可以有多台服

务器——最常用的是多机热备了。在这种多机热备方案中,故障切换主要针对虚拟IP地址的

漂移来实现。因此能适用于各种应用服务器(不管是Web、FTP、Mail、还是SSH、DNS....)。
二、keepalived双机热备配置详解:
.
通过下面简易的环境图,可以去全面的了解双机热备的配置及功能:

1、配置主服务器:

[[email protected] ~]# systemctl stop firewalld            #关闭防火墙
[[email protected] ~]# yum -y install keepalived ipvsadm      安装所需工具
[[email protected] ~]# systemctl enable keepalived        #设置开机自启动
[[email protected] ~]# cd /etc/keepalived/
[[email protected] keepalived]# cp keepalived.conf keepalived.conf.bak         #备份配置文件
[[email protected] keepalived]# vim keepalived.conf               #编辑配置文件

global_defs {
   notification_email {
     [email protected]     #启用邮件通知功能,这里设置收件人地址,可以配置多个
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]            #发件人姓名、地址
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL1           #本服务器的名称(在群集中必须唯一)。
            ..............    #省略部分内容
}
vrrp_instance VI_1 {                     #定义VRRP热备实例
    state MASTER              #热备状态,MASTER表示主服务器(注意大小写)
    interface ens33             #承载VIP地址的物理接口
    virtual_router_id 51                 #虚拟路由器的ID号,每个热备组保持一致。
    priority 100                           #优先级0-100,数值越大越优先。
    advert_int 1                   #通告间隔秒数(心跳频率)。
    authentication {                     #认证信息,每个热备组保持一致
        auth_type PASS                #认证类型
        auth_pass 1111                 #密码字串
    }
    virtual_ipaddress {             #指定漂移地址,可以有多个
    192.168.1.100
    }
}

        .........................            #省略部分内容

确认上面配置无误后,然后启动keepalived服务,实际状态为MASTER的主服务器将为ens33接口自动添加VIP地址,通过ip命令可以查看(注意:ifconfig命令看不到)。

[[email protected] keepalived]# systemctl start keepalived          #启动该服务
[[email protected] keepalived]# ip a show dev ens33           #查看ens33接口
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UPUt qlen 1000
    link/ether 00:0c:29:77:2c:03 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.1.100/32 scope global ens33       #可以看到VIP已经配置在ens33上。
       valid_lft forever preferred_lft forever
    inet6 fe80::95f8:eeb7:2ed2:d13c/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

2、配置备份服务器(LVS2):
在同一keepalived热备组内,所有服务器的keepalived配置文件基本相同,某些配置项也必

须相同,包括虚拟路由器的ID号、认证信息、漂移地址、心跳频率等,不同之处主要在于路

器名称、热备状态、优先级。具体配置时需要注意以下几点:

  • 服务器名称(route_id):建议为每个参与热备的服务器指定不同的名称。
  • 热备状态(state):至少应有一台主服务器,将状态设置为MASTER;可以有多台备用的服务器,将状态设置为BACKUP。
  • 优先级(priority):数值越大则取得VIP控制权的优先级就越高,因此主服务的优先级应设置为最高;其他备用服务器可依次递减,但不能相同,以免在争夺VIP控制权时发生冲突。
    .
    配置备用服务器时(可以有多台),可以直接将主服务器的keepa.conf文件复制过来,修改服务器名称、热备状态、优先级,这三项就可以了,哪怕是其中包含了一些web节点的配置,也不用修改,也不能修改。
[[email protected] ~]# systemctl stop firewalld            #关闭防火墙
[[email protected] ~]# yum -y install keepalived ipvsadm          #安装相关工具
[[email protected] ~]# scp [email protected]:/etc/keepalived/keepalived.conf /etc/keepalived/
#使用主服务器root用户将主服务器的keepalived配置文件复制过来。
[email protected] s password:                    #输入主服务器root用户的密码
keepalived.conf                             100% 3549     3.5MB/s   00:00
[[email protected] ~]# vim /etc/keepalived/keepalived.conf
global_defs {
   ...............
   router_id LVS_DEVEL2                    #修改这里的服务器名称
  .....................

}
                ..............
vrrp_instance VI_1 {
    state BACKUP             #修改这里的状态,改为BACKUP
    interface ens33         #若该服务器承载VIP的物理接口有变,则这里也要修改
    virtual_router_id 51
    priority 90               #修改优先级,要比主服务器低。
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    192.168.1.100
    }
}
              .................
#改动上述几行后,保存退出即可。
[[email protected] ~]# systemctl start keepalived         #启动服务
[[email protected] ~]# systemctl enable keepalived         #设置开机自启动

此时主服务器仍然在线,VIP地址实际上仍然由主服务器控制,其他服务器处于备份状态,因此在备用服务器中将不会为ens33接口添加VIP地址:

[[email protected] ~]# ip a show dev ens33                  #查看ens33接口,不会看到VIP
2: ens33: <BROADCAST,MULTICAST,Udel state UP group default qlen 1000
    link/ether 00:0c:29:9a:09:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::3050:1a9b:5956:5297/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

3、测试双机热备功能:

将主服务器关机,或停止keepalived服务,等待约15秒后,查看备份服务器的ens33网卡,会发现漂移地址已经转移过来了,说明双机热备功能生效。待主服务器开机后,漂移地址会自动转移回到主服务器上。

[[email protected] ~]# ip a show dev ens33   #主服务器关机后查看备份服务器的网卡信息
2: ens33: <BROADCAST,MULTICAST,UP state UP group default qlen 1000
    link/ether 00:0c:29:9a:09:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.1.100/32 scope global ens33                   #漂移地址已经转移过来了
       valid_lft forever preferred_lft forever
    inet6 fe80::3050:1a9b:5956:5297/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

再将主服务器开机,会发现VIP已经转移回了主服务器,而备份服务器又查不到了VIP:

[[email protected]LVS1 ~]# ip a show dev ens33              #在主服务器上进行查看
2: ens33: <BROADCAST,MULTICAST,UP,Lefault qlen 1000
    link/ether 00:0c:29:77:2c:03 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.1.100/32 scope global ens33             #VIP地址在这里了
       valid_lft forever preferred_lft forever
    inet6 fe80::95f8:eeb7:2ed2:d13c/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
[[email protected] ~]# ip a show dev ens33               #在备份服务器上进行查看
2: ens33: <BROADCAST,MULTICAST,UP,P grou00
    link/ether 00:0c:29:9a:09:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope goute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::3050:1a9b:5956:5297/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

原文地址:https://blog.51cto.com/14227204/2438901

时间: 2024-12-29 04:24:17

keepalived 双机热备配置文件详解的相关文章

CentOS下Mysql双机热备安装详解

Mysql双机热备安装文档 1. 安装环境和资源 211.88.22.74 4CPU 8G 120G硬盘 centos6.5_64 211.88.22.73 4CPU 8G 120G硬盘 centos6.5_64 服务器两台.这里使用211.88.22.74作为主服务器,211.88.22.73作为从服务器. 1.1 mysql下载地址 a. 官方下载地址: http://dev.mysql.com/downloads/mysql/#downloads 或镜像文件下载: http://dev.m

华为防火墙实现双机热备配置详解

一提到防火墙,一般都会想到企业的边界设备,是内网用户与互联网的必经之路.防火墙承载了非常多的功能,比如:安全规则.IPS.文件类型过滤.内容过滤.应用层过滤等.也正是因为防火墙如此的重要,如果防火墙一旦出现问题,所有对外通信的服务都将中断,所以企业中首先要考虑的就是防火墙的优化及高可用性. 博文大纲:一.双机热备工作原理二.VRRP协议(1)VRRP协议概述(2)VRRP的角色(3)VRRP的状态机(4)VRRP的工作原理三.VGMP协议(1)VGMP的工作原理(2)VGMP的报文封装(3)双机

centos 7之keepalived双机热备理论+配置文件详解

一.keepalived工作原理及作用: keepalived最初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健康检 查功能--判断LVS负载调度器.节点服务器的可用性,及时隔离并替换为新的服务器,当故 障主机回复后将其重新加入群集.单独部署LVS环境的话,调度器发生宕机的话,整个群集就 失效了,某一个web节点宕机后,客户端在访问时,总会碰上访问不到网页的情况,所以,将 keepalived和LVS结合起来,才可形成一个真正的高可用群集,当然,后端的共享存储也必须 搭建一个

keepalived双机热备nginx

nginx目前是我最常用的反向代理服务,线上环境为了能更好的应对突发情况,一般会使用keepalived双机热备nginx或者使用docker跑nginx集群,keepalived是比较传统的方式,虽然用docker跑nginx集群更方便,但传统的方式总是有他的可取之处,并且多学一些东西也很好.以后也会写如何使用docker跑nginx集群. 环境准备: 2台centos: 192.168.0.105 和192.168.0.118, 虚拟IP(VIP)为192.168.0.119 配置keepa

&#8203;Keepalived双机热备

Keepalived双机热备 Keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健检查功能,如判断LVS负载调度器.节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后将其重新加入群集.在非LVS群集环境中使用时Keepalived也可以作为热备软件使用. Keepalived采用VRRP(virtual  router  redundancy protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现linux服务器的多机热备功能.VRRP是

Centos 7 keepalived双机热备

Centos 7 keepalived双机热备 操作环境:keepalived热备份(双机热备)Centos 7系统ip地址: 192.168.80.100 --主服务器Centos 7系统ip地址: 192.168.80.101 --从服务器windows系统ip地址: 192.168.80.20 --测试客户端 Centos 7系统ip地址: 192.168.80.100操作如下:1. keepalived软件安装yum install keepalived -y 2.修改配置文件vi /e

浅谈Keepalived双机热备

一.Keepalived双机热备的基础知识 keepalived官方网站: www.keepalived.org/ 在非LVS环境中keepalived也可以作为热备软件使用. 1.Keepalived作用 keepalived最初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健康检查功能--判断LVS负载调度器.节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机回复后将其重新加入群集.单独部署LVS环境的话,调度器发生宕机的话,整个群集就失效了,某一个web节点宕机后

Nginx+keepalived双机热备+负载均衡 ???待续

keepalived+nginx双机热备+负载均衡 最近因业务扩展,需要将当前的apache 转为nginx(web), 再在web前端放置nginx(负载均衡).同时结合keepalived 对前端nginx实现HA.nginx进程基于于Master+Slave(worker)多进程模型,自身具有非常稳定的子进程管理功能.在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发,从而达到Master进程的存活高可靠性,Slave(worker)进程所有的业务信号都 由

nginx + keepalived 双机热备

序 双机热备是指两台机器都在运行,但并非两台机器同时在提供服务. 当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,且切换的时间非常短. keepalived的工作原理是VRRP——虚拟路由冗余协议. 测试环境如下: ip vip master 192.168.174.135 192.168.174.140 backup 192.168.174.137 192.168.174.140 nginx 安装 sudo apt-get install nginx  查找配置文件位置 s