Keepalived 双机热备

本文详细介绍了Keepalived如何实现基于VRRP的双机热备,涉及安装、配置、服务控制以及LVS的配合使用,展示了如何在CentOS系统上搭建高可用的Web服务器群集。
摘要由CSDN通过智能技术生成

1、Keepalived双击热备基础知识。

        Keepalived起初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检查(Health Checking)功能——判断LVS放在调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后将其重新加入群集

2、Keepalived的热备方式。

        Keepalived采用VRRP(虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的多级热备功能。VRRP是针对路由器的一种备份解决方案——由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务;每个热备组内同一时刻只有一台主机路由器提供服务,其他路由器处于冗余状态,若当前在线的路由器失效,则其他路由器会自动接替(优先级决定接替顺序)虚拟机IP地址,以继续提供服务

        热备组内的每台路由器都可能成为主路由器,虚拟路由器的IP地址(VIP)可以在热备组内的路由器之间进行转移,所以也称为漂移IP地址。使用Keepalived是,漂移地址的实现不需要手动建立虚接口配置文件,而是由Keepalived根据配置文件自动管理。

 3、Keepalived的安装与服务控制。

1)安装Keepalived

[root@nodeAAA ~]# yum -y install ipvsadm keepalived

2)控制Keepalived服务,设置为开机自启动。

[root@nodeAAA ~]# systemctl enable keepalived --now

4、使用Keepalived实现双机热备。

组件包:LVS、keepslived、httpd

设备

IP

备注

Centos01

192.168.136.21

Node1

Centos02

192.168.136.22

Node2

Centos03

192.168.136.23

Web1

Centos04

192.168.136.24

Wb2

4.1、主服务器的配置

##关闭防火墙

[root@nodeAAA ~]# systemctl disable firewalld --now


##备份原始配置文件
[root@nodeAAA ~]# cd /etc/keepalived/
[root@nodeAAA keepalived]# cp keepalived.conf keepalived.conf.bak


[root@nodeAAA keepalived]# vim keepalived.conf 

global_defs {
   router_id R1                //本路由器(服务器)的名称
}

vrrp_instance VI_1 {                //热备实例
    state MASTER                //热备状态,MASTER表示主服务器
    interface ens33                //VIP地址的物理接口
    virtual_router_id 51                
    priority 100                //优先级
    advert_int 1                //通告间隔秒数(心跳频率)
    authentication {                //认证信息
        auth_type PASS                //认证类型
        auth_pass 1111                //密码
    }
    virtual_ipaddress {                //指定漂移地址(VIP),可以有多个
        192.168.136.200
    }
}


[root@nodeAAA ~]# systemctl start keepalived
[root@nodeAAA ~]# ip addr show dev ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:cd:28:07 brd ff:ff:ff:ff:ff:ff
    inet 192.168.136.21/24 brd 192.168.136.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.136.200/32 scope global ens33  //自动设置的VIP地址
       valid_lft forever preferred_lft forever
    inet6 fe80::f4fb:4b5e:5c25:24d8/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

4.2、备用服务器的配置

##关闭防火墙

[root@nodeAAA ~]# systemctl disable firewalld --now


##备份原始配置文件
[root@nodeAAA ~]# cd /etc/keepalived/
[root@nodeAAA keepalived]# cp keepalived.conf keepalived.conf.bak


[root@nodeAAA keepalived]# vim keepalived.conf 

global_defs {
   router_id R2                //本路由器(服务器)的名称
}

vrrp_instance VI_1 {                //热备实例
    state BACKUP                //热备状态,MASTER表示主服务器
    interface ens33                //VIP地址的物理接口
    virtual_router_id 51                
    priority 90                //优先级
    advert_int 1                //通告间隔秒数(心跳频率)
    authentication {                //认证信息
        auth_type PASS                //认证类型
        auth_pass 1111                //密码
    }
    virtual_ipaddress {                //指定漂移地址(VIP),可以有多个
        192.168.136.200
    }
}


##主服务器控制,其他服务器处于备用状态,因此在备用服务器中将不会为ens33接口添加VIP地址

[root@nodeAAA ~]# systemctl start keepalived
[root@nodeAAA ~]# ip addr show dev ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:f1:60:85 brd ff:ff:ff:ff:ff:ff
    inet 192.168.136.22/24 brd 192.168.136.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::f4fb:4b5e:5c25:24d8/64 scope link tentative noprefixroute dadfailed 
       valid_lft forever preferred_lft forever
    inet6 fe80::390e:3c7f:5ca9:63ee/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
 

5、LVS+Keepalived高可用群集。

5.1、配置主调度器

##Web服务器池配置

[root@nodeAAA ~]# vim /etc/keepalived/keepalived.conf 
·····        //省略信息

virtual_server 192.168.136.200 80 {        //虚拟服务器地址(VIP)、端口
    delay_loop 15                //健康检查的间隔时间(秒)
    lb_algo rr                //轮询(rr)调度算法
    lb_kind DR                //直接路由(DR)群集工作模式
!    persistence 60                //连接保持时间(秒),若启用请去掉!号        
    protocol TCP                //应用服务采用的是TCP协议

    real_server 192.168.136.24 80 {
        weight 1                //节点的权重
          CHECK {                //健康检查方式
            connect_port 80                //检查的目标端口
            connect_timeout 3                //连接超时(秒)
            nb_get_retry 3                //重试次数
            delay_before_retry 4        //重试间隔(秒)
        }
    }

    real_server 192.168.136.23 80 {
        weight 1
          CHECK {
            connect_port 80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 4
        }
    }
}


##重新启动Keepalived服务

[root@nodeAAA ~]# systemctl restart keepalived.service 
 

5.2、配置从调度器

        从调度器的配置与主调度器基本相同,也包括全局配置、热备配置、服务器池配置,配置完成后重启Keepalived服务。

6、LVS调度器配置(主、备都要配置)。

[root@nodeAAA ~]# ipvsadm > /etc/sysconfig/ipvsadm
[root@nodeAAA ~]# ipvsadm -A -t 192.168.136.200:80 -s rr
[root@nodeAAA ~]# ipvsadm -a -t 192.168.136.200:80 -r 192.168.136.23:80 -g -w 1

[root@nodeAAA ~]# ipvsadm -a -t 192.168.136.200:80 -r 192.168.136.24:80 -g -w 1
[root@nodeAAA ~]# systemctl restart ipvsadm
[root@nodeAAA ~]# ipvsadm -ln

7、Web节点配置。

##配置在Web1

[root@WEBAAA ~]# yum -y install httpd
[root@WEBAAA ~]# echo "<h1>WEB.AAAA</h1>" > /var/www/html/index.html

[root@WEBAAA ~]# systemctl enable httpd --now   


##配置在Web2

[root@WEBAAA ~]# yum -y install httpd

[root@WEBBBB ~]# echo "<h1>WEB.BBBB</h1>" > /var/www/html/index.html

[root@WEBAAA ~]# systemctl enable httpd --now 


##两台Web服务器都要配置

[root@WEBAAA ~]# cd /etc/sysconfig/network-scripts/
[root@WEBAAA network-scripts]# cp ifcfg-lo ifcfg-lo:0

[root@WEBAAA network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.136.200
NETMASK=255.255.255.255
ONBOOT=yes
NAME=lo:0
[root@WEBAAA network-scripts]# systemctl restart network

8、实验结果。 

使用浏览器访问http://192.168.136.200测试LVS+Keepalived高可用群集

刷新网页,可以看到已经切换成Web2网页了

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值